Cassandra - SASI Index
What is SASI index?
SASI indices offer improvements in performance, resource utilization, and functionality.
The key innovation that enables these enhancements is that–as the name implies–the index is attached to the SSTable itself, rather than being relegated to a separate table. This means the read path requires a single pass to read both the index and the underlying data.
SASI indices still follow the same query pattern as traditional indices, and therefore you should use them with caution for applications where performance and availability are critical.
Note: it is experimental feature. Datastax does not support it as of DSE 5.1
cqlsh:demo> create table user(id int primary key, fname text, lname text);
cqlsh:demo> CREATE CUSTOM INDEX ON demo.user(lname) USING 'org.apache.cassandra.index.sasi.SASIIndex';
cqlsh:demo> insert into user(id, fname, lname) values (1, 'tom', 'mitchell');
cqlsh:demo> select * from user where lname like 'mitch%';
Reference: http://docs.datastax.com/en/dse/5.1/cql/cql/cql_reference/cql_commands/cqlCreateCustomIndex.html