state of cassandra, 2011
DESCRIPTION
TRANSCRIPT
![Page 1: State of Cassandra, 2011](https://reader034.vdocuments.site/reader034/viewer/2022050904/5458264cb1af9f40378b5021/html5/thumbnails/1.jpg)
State of Cassandra 2011
Jonathan Ellis Apache Chair CTO DataStax
![Page 2: State of Cassandra, 2011](https://reader034.vdocuments.site/reader034/viewer/2022050904/5458264cb1af9f40378b5021/html5/thumbnails/2.jpg)
2
Job Trends from Indeed.com
![Page 3: State of Cassandra, 2011](https://reader034.vdocuments.site/reader034/viewer/2022050904/5458264cb1af9f40378b5021/html5/thumbnails/3.jpg)
3
• Financial • Social Media • Advertising • Entertainment • Energy • E-tail • Health care • Government
Customer and Verticals
![Page 4: State of Cassandra, 2011](https://reader034.vdocuments.site/reader034/viewer/2022050904/5458264cb1af9f40378b5021/html5/thumbnails/4.jpg)
Why?
4 4
Why?
![Page 5: State of Cassandra, 2011](https://reader034.vdocuments.site/reader034/viewer/2022050904/5458264cb1af9f40378b5021/html5/thumbnails/5.jpg)
5
![Page 6: State of Cassandra, 2011](https://reader034.vdocuments.site/reader034/viewer/2022050904/5458264cb1af9f40378b5021/html5/thumbnails/6.jpg)
Why Cassandra?
6 6
Why Cassandra?
![Page 7: State of Cassandra, 2011](https://reader034.vdocuments.site/reader034/viewer/2022050904/5458264cb1af9f40378b5021/html5/thumbnails/7.jpg)
7
Better technology
• Multi-master, multi-DC • Linearly scalable • Larger-than-memory datasets • Best-in-class performance (not just writes!) • Fully durable • Integrated caching • Tuneable consistency
![Page 8: State of Cassandra, 2011](https://reader034.vdocuments.site/reader034/viewer/2022050904/5458264cb1af9f40378b5021/html5/thumbnails/8.jpg)
Tunable Consistency
Level
ANY
ONE
LOCAL_QUORUM
QUORUM
ALL
WRITE READ Level
ONE
LOCAL_QUORUM
QUORUM
ALL
![Page 9: State of Cassandra, 2011](https://reader034.vdocuments.site/reader034/viewer/2022050904/5458264cb1af9f40378b5021/html5/thumbnails/9.jpg)
9
Generalizes Easily to Multi-DC
![Page 10: State of Cassandra, 2011](https://reader034.vdocuments.site/reader034/viewer/2022050904/5458264cb1af9f40378b5021/html5/thumbnails/10.jpg)
10
0.7
• CREATE COLUMN FAMILY • Expiring columns (TTL) • Secondary (column) indexes • Efficient streaming
![Page 11: State of Cassandra, 2011](https://reader034.vdocuments.site/reader034/viewer/2022050904/5458264cb1af9f40378b5021/html5/thumbnails/11.jpg)
11
0.8
• CQL • Counters • Automatic memtable tuning • New bulk load interface
![Page 12: State of Cassandra, 2011](https://reader034.vdocuments.site/reader034/viewer/2022050904/5458264cb1af9f40378b5021/html5/thumbnails/12.jpg)
12
A performance retrospective
![Page 13: State of Cassandra, 2011](https://reader034.vdocuments.site/reader034/viewer/2022050904/5458264cb1af9f40378b5021/html5/thumbnails/13.jpg)
13
Road to 1.0 October 8, 2011
![Page 14: State of Cassandra, 2011](https://reader034.vdocuments.site/reader034/viewer/2022050904/5458264cb1af9f40378b5021/html5/thumbnails/14.jpg)
14
Theme: polish
• Repair • Compaction • Optimize reads for update-heavy workloads • CQL 1.1
![Page 15: State of Cassandra, 2011](https://reader034.vdocuments.site/reader034/viewer/2022050904/5458264cb1af9f40378b5021/html5/thumbnails/15.jpg)
15
Repair
• Consistency is checked per-ColumnFamily but data is transferred per-Keyspace
• Merkle trees requests are sent en masse, but may not execute start at the same time
![Page 16: State of Cassandra, 2011](https://reader034.vdocuments.site/reader034/viewer/2022050904/5458264cb1af9f40378b5021/html5/thumbnails/16.jpg)
16
Compression • Rows-per-block or blocks-per-row
![Page 17: State of Cassandra, 2011](https://reader034.vdocuments.site/reader034/viewer/2022050904/5458264cb1af9f40378b5021/html5/thumbnails/17.jpg)
17
Read Performance: Compaction
![Page 18: State of Cassandra, 2011](https://reader034.vdocuments.site/reader034/viewer/2022050904/5458264cb1af9f40378b5021/html5/thumbnails/18.jpg)
18
Level-based Compaction • SSTables are non-overlapping within a level • Bounds the number that can contain a given row
L2: 1000 MB
L1: 100 MB
L0: newly flushed
![Page 19: State of Cassandra, 2011](https://reader034.vdocuments.site/reader034/viewer/2022050904/5458264cb1af9f40378b5021/html5/thumbnails/19.jpg)
19
Read performance: maxtimestamp
• Sort sstables by maximum (client-provided) timestamp
• Only merge sstables until we have the columns request
• Allows pre-merging highly fragmented rows without waiting for compaction
![Page 20: State of Cassandra, 2011](https://reader034.vdocuments.site/reader034/viewer/2022050904/5458264cb1af9f40378b5021/html5/thumbnails/20.jpg)
20
CQL
cqlsh> SELECT * FROM users WHERE state='UT' AND birth_date > 1970;! KEY | birth_date | full_name | state | bsanderson | 1975 | Brandon Sanderson | UT |
![Page 21: State of Cassandra, 2011](https://reader034.vdocuments.site/reader034/viewer/2022050904/5458264cb1af9f40378b5021/html5/thumbnails/21.jpg)
21
CQL 1.1
• ALTER • Counter support • TTL support • Compound columns • Prepared statements
![Page 22: State of Cassandra, 2011](https://reader034.vdocuments.site/reader034/viewer/2022050904/5458264cb1af9f40378b5021/html5/thumbnails/22.jpg)
22
Post-1.0 • Ease of use
• Ease of use
• Ease of use
![Page 23: State of Cassandra, 2011](https://reader034.vdocuments.site/reader034/viewer/2022050904/5458264cb1af9f40378b5021/html5/thumbnails/23.jpg)
23
Post-1.0 features
• “Native” CQL transport • Triggers • Entity groups • Smarter range queries
![Page 24: State of Cassandra, 2011](https://reader034.vdocuments.site/reader034/viewer/2022050904/5458264cb1af9f40378b5021/html5/thumbnails/24.jpg)
24
Brisk • Analytics for your
realtime data without ETL
• Widens scope of Cassandra’s applicability
• Also: Solandra
![Page 25: State of Cassandra, 2011](https://reader034.vdocuments.site/reader034/viewer/2022050904/5458264cb1af9f40378b5021/html5/thumbnails/25.jpg)
Questions
25 25
Ques/ons?
![Page 26: State of Cassandra, 2011](https://reader034.vdocuments.site/reader034/viewer/2022050904/5458264cb1af9f40378b5021/html5/thumbnails/26.jpg)