26
State of Cassandra 2011 Jonathan Ellis Apache Chair CTO DataStax

State of Cassandra, 2011

  • Upload
    jbellis

  • View
    987.180

  • Download
    0

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: State of Cassandra, 2011

State of Cassandra 2011

Jonathan Ellis Apache Chair CTO DataStax

Page 2: State of Cassandra, 2011

2  

Job Trends from Indeed.com

Page 3: State of Cassandra, 2011

3  

•  Financial •  Social Media •  Advertising •  Entertainment •  Energy •  E-tail •  Health care •  Government

Customer and Verticals

Page 4: State of Cassandra, 2011

Why?

4  4  

Why?  

Page 5: State of Cassandra, 2011

5  

Page 6: State of Cassandra, 2011

Why Cassandra?

6  6  

Why  Cassandra?  

Page 7: State of Cassandra, 2011

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

Tunable Consistency

Level

ANY

ONE

LOCAL_QUORUM

QUORUM

ALL

WRITE READ Level

ONE

LOCAL_QUORUM

QUORUM

ALL

Page 9: State of Cassandra, 2011

9  

Generalizes Easily to Multi-DC

Page 10: State of Cassandra, 2011

10  

0.7

•  CREATE COLUMN FAMILY •  Expiring columns (TTL) •  Secondary (column) indexes •  Efficient streaming

Page 11: State of Cassandra, 2011

11  

0.8

•  CQL •  Counters •  Automatic memtable tuning •  New bulk load interface

Page 12: State of Cassandra, 2011

12  

A performance retrospective

Page 13: State of Cassandra, 2011

13  

Road to 1.0 October 8, 2011

Page 14: State of Cassandra, 2011

14  

Theme: polish

•  Repair •  Compaction •  Optimize reads for update-heavy workloads •  CQL 1.1

Page 15: State of Cassandra, 2011

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

16  

Compression •  Rows-per-block or blocks-per-row

Page 17: State of Cassandra, 2011

17  

Read Performance: Compaction

Page 18: State of Cassandra, 2011

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

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

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

21  

CQL 1.1

•  ALTER •  Counter support •  TTL support •  Compound columns •  Prepared statements

Page 22: State of Cassandra, 2011

22  

Post-1.0 •  Ease of use

• Ease of use

• Ease of use

Page 23: State of Cassandra, 2011

23  

Post-1.0 features

•  “Native” CQL transport •  Triggers •  Entity groups •  Smarter range queries

Page 24: State of Cassandra, 2011

24  

Brisk •  Analytics for your

realtime data without ETL

•  Widens scope of Cassandra’s applicability

•  Also: Solandra

Page 25: State of Cassandra, 2011

Questions

25  25  

Ques/ons?  

Page 26: State of Cassandra, 2011