Transcript
Page 1: Cassandra Performance: Past, present & future

Cassandra Performance

Past, Present & Future

Tom Wilkie, FounderAcunu Ltd

Page 2: Cassandra Performance: Past, present & future

11 Jan : Cassandra 0.7.0

3 Jun: Cassandra 0.8.0

18 Oct: Cassandra 1.0.0

A Busy Year

Page 3: Cassandra Performance: Past, present & future

11 Jan : Cassandra 0.7.0

• Dynamic endpoint snitch

• Row cache improvements

• Secondary indexes

3 Jun: Cassandra 0.8.0

18 Oct: Cassandra 1.0.0

Page 4: Cassandra Performance: Past, present & future

11 Jan : Cassandra 0.7.0

3 Jun: Cassandra 0.8.0

• Counters

• CQL

18 Oct: Cassandra 1.0.0

Page 5: Cassandra Performance: Past, present & future

11 Jan : Cassandra 0.7.0

3 Jun: Cassandra 0.8.0

18 Oct: Cassandra 1.0.0

• Compression

• Off heap caches, arena allocations etc

• LevelDB-style compactions

Page 6: Cassandra Performance: Past, present & future

Benchmarking

Page 7: Cassandra Performance: Past, present & future

http://www.oracle.com/technetwork/database/nosqldb/learnmore/nosql-database-498041.pdf

Read the fine print

24GB of memory ... a 300GB disk

...key size of 13 bytes and data size of 1108 bytes.

... 96 nodes storing 2.1 billion records

~350k inserts / sec

Page 8: Cassandra Performance: Past, present & future

“Read/write performance on a single four-core machine. One million inserts followed by one million updates”

http://www.datastax.com/dev/blog/whats-new-in-cassandra-1-0-performance

Page 9: Cassandra Performance: Past, present & future

Machine1 x Quad core Xeon E562024GB RAM, 8x1TB Disks

1 commit log, 7 in RAID 10

Workload

Keys: 8 byte, Values: 10 bytesRandom key distribution

10 million Inserts,Random Point Gets,

Range Queries

Page 10: Cassandra Performance: Past, present & future

0

10,000

20,000

30,000

40,000

50,000

60,000

70,000

80,000

90,000

Inserts Point Gets Range Queries

0.7.90.8.71.0.2

Cassandra Performance Evolution

Page 11: Cassandra Performance: Past, present & future

Machine1 x Quad core Xeon E562024GB RAM, 8x1TB Disks

1 commit log, 7 in RAID 10

Workload

Keys: 8 byte, Values: 100 bytesRandom key distribution

300 million Inserts,Random Point Gets,

Range Queries

Page 12: Cassandra Performance: Past, present & future

Time / hours

Inse

rts/

s

Page 13: Cassandra Performance: Past, present & future

0

10,000

20,000

30,000

40,000

50,000

60,000

Inserts

1.0.2w/ Compressionw/ Leveled Compaction

Effect of Compression and Leveled Compaction

0

40

80

120

160

200

Point Gets

Page 14: Cassandra Performance: Past, present & future

0

10,000

20,000

30,000

40,000

50,000

60,000

Inserts1.0.2w/ Compressionw/ Leveled CompactionAcunu

Effect of Compression and Leveled Compaction

0

100

200

300

400

500

Point Gets Range Queries

Page 15: Cassandra Performance: Past, present & future

Future

Page 17: Cassandra Performance: Past, present & future

Top Related