What is Cassandra's SASI index?

Answer

SASI (SSTable-Attached Secondary Index) is an advanced secondary index implementation in Cassandra that avoids many limitations of the standard secondary index. While standard secondary indexes are maintained in a separate table and require full-cluster queries, SASI indexes are stored alongside each SSTable — making them more efficient for certain query patterns. Key features: LIKE queries: WHERE name LIKE '%alice%' — substring and prefix searches on text columns. Range queries: efficiently support <, >, <=, >= on indexed columns. Analyzers: standard (exact match), non-tokenizing (for case-insensitive), or full-text analyzed (tokenize text for keyword search). SASI is still a secondary index — queries without the partition key scan all nodes. Less problematic than standard secondary indexes but still a cluster-wide scan. Limitations: not suitable for high-write workloads (index maintenance cost), not for frequently updated columns, experimental in many Cassandra versions. For full-text search, integrating with Elasticsearch (using Cassandra as the source of truth and ES for search) is often more appropriate.