Cassandra SF Meetup - CQL Performance With Apache Cassandra 3.X
1. SF CASSANDRA USERS MARCH 2016
CQL PERFORMANCE WITH APACHE
CASSANDRA 3.0
Aaron Morton
@aaronmorton
CEO
Licensed under a Creative Commons Attribution-NonCommercial 3.0 New Zealand License
2. AboutThe Last Pickle.
Work with clients to deliver and improve Apache Cassandra
based solutions.
Apache Cassandra Committer and DataStax MVPs.
Based in New Zealand,Australia, France & USA.
3. How We Got Here
Storage Engine 3.0
Write Path
Read Path
57. ClusteringIndexNamesFilter
1. Get Partition From Memtables.
2. Filter named columns into a temporary
result.
3. Select SSTables that may contain Partition
Key.
4. Order in descending timestamp order.
5. Read from SSTables in order.
58. Names Filter Short Circuits
If result has a Partition Deletion
newer than next SSTable max
timestamp.
Stop Search.
59. Names Filter Short Circuits
If read all Columns and max
timestamp of next SSTable less than
selected Columns min timestamp.
Stop Search.
60. Names Filter Short Circuits
Note: list of Columns
remaining to select is pruned
after every SSTable is read
based on max timestamp.
61. Names Filter Short Circuits
If search clustering value not within
clustering range in the SSTable.
Skip SSTable.
62. Names Filter Short Circuits
If SSTable Cell not in search set.
Skip reading value.
65. ClusteringIndexSliceFilter
1. Get Partition From Memtables.
2. Create Iterators for Partitions.
3. Select SSTables that may contain Partition
Key.
4. Order in reverse max timestamp order.
5. Create Iterators for SSTables in order.
66. Slice Filter Short Circuits
If SSTable max timestamp is before
max seen Partition Deletion
timestamp.
Stop Search.
67. Names Filter Short Circuits
If search clustering value not within
clustering range in the SSTable.
Skip SSTable.