This is an automated email from the ASF dual-hosted git repository. maedhroz pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/cassandra.git
commit 3e38b3d641c076f45ebc108f68218529766c7492 Author: Caleb Rackliffe <maedh...@users.noreply.github.com> AuthorDate: Tue Jul 18 12:46:18 2023 -0700 Release notes and README updates for CEP-7 (Storage-Attached Indexes) --- CHANGES.txt | 1 + NEWS.txt | 2 ++ src/java/org/apache/cassandra/index/sai/README.md | 9 +++++---- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/CHANGES.txt b/CHANGES.txt index 153117ba85..3b7d1bc9ff 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 5.0 + * CEP-7: Storage Attached Indexes (CASSANDRA-16052) * Add equals/hashCode override for ServerEncryptionOptions (CASSANDRA-18428) * Upgrade ECJ to version 3.33.0 (CASSANDRA-18190) * Fix ClassCastException from jdk GaloisCounterMode when using JDK17 provider (CASSANDRA-18180) diff --git a/NEWS.txt b/NEWS.txt index d2c9f21945..91fac33c98 100644 --- a/NEWS.txt +++ b/NEWS.txt @@ -71,6 +71,8 @@ using the provided 'sstableupgrade' tool. New features ------------ + - Added a new secondary index implementation, Storage-Attached Indexes (SAI). Overview documentation and a basic + tutorial can be found at src/java/org/apache/cassandra/index/sai/README.md. - *Experimental* support for Java 17 has been added. JVM options that differ between or are specific for Java 17 have been added into jvm17.options. IMPORTANT: Running C* on Java 17 is *experimental* and do it at your own risk. diff --git a/src/java/org/apache/cassandra/index/sai/README.md b/src/java/org/apache/cassandra/index/sai/README.md index 1b434dba3c..36176a4c61 100644 --- a/src/java/org/apache/cassandra/index/sai/README.md +++ b/src/java/org/apache/cassandra/index/sai/README.md @@ -19,24 +19,25 @@ # Storage-Attached Indexing ## Overview -Storage-attached indexing is a column based secondary indexing apparatus for Cassandra. +Storage-attached indexing is a column based local secondary index implementation for Cassandra. The project was inspired by SASI (SSTable-Attached Secondary Indexes) and retains some of its high-level architectural character (and even some actual code), but makes significant improvements in a number of areas: - The on-disk/SSTable index formats for both string and numeric data have been completely replaced. Strings are indexed - on disk using our proprietary on-disk byte-ordered trie data structure, while numeric types are indexed using a - balanced tree. + on disk using a byte-ordered trie data structure, while numeric types are indexed using a block-oriented balanced tree. - While indexes continue to be managed at the column level from the user's perspective, the storage design at the column index level is row-based, with related offset and token information stored only once at the SSTable level. This drastically reduces our on-disk footprint when several columns are indexed on the same table. - Tracing, metrics, virtual table-based metadata and snapshot-based backup/restore are supported out of the box. +- On-disk index components can be streamed completely when entire SSTable streaming is enabled. +- Incremental index building is supported, and on-disk index components are included in snapshots. Many similarities with standard secondary indexes remain: - The full set of C* consistency levels is supported for both reads and writes. - Index updates are synchronous with mutations and do not require any kind of read-before-write. -- Queries are implemented on the back of C* range reads. +- Global queries are implemented on the back of C* range reads. - Paging is supported. - Only token ordering of results is supported. - Index builds are visible to operators as compactions and are executed on compaction threads. --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org