• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
On Cassandra Development: Past, Present and Future
 

On Cassandra Development: Past, Present and Future

on

  • 3,264 views

Slices from my talk at Cassandra Europe

Slices from my talk at Cassandra Europe

Statistics

Views

Total Views
3,264
Views on SlideShare
3,262
Embed Views
2

Actions

Likes
2
Downloads
71
Comments
0

1 Embed 2

http://us-w1.rockmelt.com 2

Accessibility

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    On Cassandra Development: Past, Present and Future On Cassandra Development: Past, Present and Future Presentation Transcript

    • On Cassandra DevelopmentPast, Present and FutureSylvain Lebresne 1
    • About:me •Sylvain Lebresne •@pcmanus •sylvain@datastax.com •Be sure to check DataStax Entreprise 2.0 !©2012 DataStax 2 2
    • Apache Cassandra •Apache Top-Level project since February 2010 •∼200 contributors (15 official committers)©2012 DataStax 3 3
    • Releases Version Release date 0.5 24 Jan 2010 0.6 13 Apr 2010 0.7 9 Jan 2011 0.8 2 Jun 2011 1.0 18 Oct 2011 1.1 Soon •Current tentative release cycle: 4 months (including 1 month freeze) •Minor releases “when appropriate” 4©2012 DataStax 4
    • Past: Cassandra 1.0©2012 DataStax 5 5
    • Cassandra 1.0 •Released October 18, 2011 •Current stable version •Last minor revision: 1.0.8 (February 27, 2012)©2012 DataStax 6 6
    • Cassandra 1.0 features •SSTables Compression (Snappy, Deflate) •SSTables Checksumming •Leveled Compaction •Improved memory management: • Simpler memtable_total_space_mb and commitlog_total_space_in_mb settings • Arena allocations for memtables • Off-heap row cache by default •Reads optimisations©2012 DataStax 7 7
    • Cassandra 1.0 features cont’d •More reliable hinted handoffs •Faster disk space reclamation •Single-pass streaming •Repair improvements (nodetool repair -pr) •Multi-threaded compactions •...©2012 DataStax 8 8
    • Present: Cassandra 1.1©2012 DataStax 9 9
    • Cassandra 1.1 •Beta 2 released yesterday (March 27, 2012) •Final release slated for ... soon©2012 DataStax 10 10
    • Global caches •Prior to 1.1, one key cache and one row cache per column family •Now: one global key cache and one global row cache •Motivations: • Simpler configuration ({key,row}_cache_size_in_mb) • Better use of the LRU list •Per-CF option reduced to: • caching=ALL|KEYS_ONLY|ROWS_ONLY|NONE©2012 DataStax 11 11
    • Row level isolation •Batched writes are atomic (for a row) since day 1 •Batched writes within a row are now isolated •When doing UPDATE Users SET login=‘tom’ AND password=‘1234’ WHERE id=‘550e8400-e29b-41d4-a716-446655440’ followed by UPDATE Users SET login=‘t0m’ AND password=‘abcd’ WHERE id=‘550e8400-e29b-41d4-a716-446655440’ guarantees that no reader can see (tom, abcd) or (t0m, 1234)©2012 DataStax 12 12
    • CQL 3.0 •Motivation: CREATE TABLE timeline ( • Better wide row syntax user_id uuid, posted_at timestamp, • Native syntax for composite posted_by uuid, content text, types device int •Not backward compatible PRIMARY KEY (user_id, posted_at)) with CQL 2.0 •Only beta, final slated for SELECT * FROM timeline WHERE userid=<some_user> Cassandra 1.2 AND posted_at > <some_date>©2012 DataStax 13 13
    • Fine-grained storage control •Old: • /var/lib/cassandra/ks/cf-hc-1-Data.db •New: • /var/lib/cassandra/ks/cf/ks-cf-hc-1-Data.db •Allow to put different CFs on different device©2012 DataStax 14 14
    • Concurrent Schema changes •Fixes http://wiki.apache.org/cassandra/ FAQ#schema_disagreement •integration of ‘describe model tofor CQL schema (simpler Reuse Cassandra Data schema’ store the •proportional to nodes addition (the schema size is Speeds up new the number of keyspaces and column families, not the number of schema operations anymore)©2012 DataStax 15 15
    • Hadoop improvements•Secondary index support•Wide row support•New (faster) BulkOutputFormat (compatible with old ColumnFamilyOutputFormat) • job.setOutputFormatClass(BulkOutputFormat.class)©2012 DataStax 16 16
    • Other features•Off-heap cache on Windows (no more JNA)•Write survey mode•Commit log segment pre-allocation/recycling•Abortable compactions•Multi-threaded streaming•...©2012 DataStax 17 17
    • Future©2012 DataStax 18 18
    • What’s maybe next (subjectif!)•Wide rows speed improvements (#2319)•Smarter compaction of expired tombstone (#3442)•CQL3 improvements/finalization (custom protocol)•Row cache for wide rows (#1956)•Remove super columns internally (#3237)•Query tracing (#1123)•Big cluster improvements•...©2012 DataStax 19 19
    • Questions? 20