What is SAI?

Use Storage-Attached Indexing (SAI) beta to create indexes on table columns other than the partition key.

Storage-Attached Indexing (SAI) is a beta feature that makes it possible for you to create custom, secondary indexes on DataStax Enterprise (DSE) 6.8.0 and later databases.

A distinguishing feature of SAI is that the indexing is based on one or more table columns other than the partition key. Especially compared to relational databases and complex indexing schemes, SAI makes you more efficient by accelerating your path to developing apps. SAI helps you accomplish this goal by removing commonly encountered stumbling blocks that otherwise occur with Solr configurations details and esoteric tuning parameters.

SAI is deeply integrated with the storage engine of Apache Cassandra®. The SAI functionality indexes the in-memory memtables and the on-disk SSTables as they are written, and resolves the differences between those indexes at read time. Consequently, the design of SAI has very little operational complexity on top of the core database. From snapshot creation, to schema management, to data expiration, SAI integrates tightly with the capabilities and mechanisms that the core database already provides.

SAI is also fully compatible with a concept known as zero-copy streaming. This concept means that as you bootstrap or decommission nodes in the cluster, the indexes are fully streamed with the SSTables and do not have to be serialized or rebuilt on the receiving node's end.

At its core, SAI is a filtering engine, and simplifies data modeling and client applications that would otherwise rely heavily on maintaining multiple query-specific tables.

Ready to get started?

To get started, see the SAI FAQs. Then follow the steps in our quick start topic to learn how to add SAI indexes on DSE database tables.