An Introduction To Cassandra
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

An Introduction To Cassandra

on

  • 19,611 views

High-level overview of Cassandra presented at OpenSQL Camp 2009

High-level overview of Cassandra presented at OpenSQL Camp 2009

Statistics

Views

Total Views
19,611
Views on SlideShare
19,441
Embed Views
170

Actions

Likes
10
Downloads
418
Comments
0

4 Embeds 170

http://www.slideshare.net 164
http://skasuya.net 4
http://memo.skasuya.jp 1
http://skasuya.jp 1

Accessibility

Categories

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

An Introduction To Cassandra Presentation Transcript

  • 1. Project History Description People An Introduction To Cassandra Eric Evans eevans@rackspace.com @jericevans OpenSQL Camp November 14, 2009 Eric Evans eevans@rackspace.com @jericevans An Introduction To Cassandra
  • 2. Project History Description People A prophetess in Troy during the Trojan War. Her predictions were always true, but never believed. Eric Evans eevans@rackspace.com @jericevans An Introduction To Cassandra
  • 3. Project History Description People A massively scalable, decentralized, structured data store (aka database). Eric Evans eevans@rackspace.com @jericevans An Introduction To Cassandra
  • 4. Project History Description People Outline 1 Project History 2 Description 3 People Eric Evans eevans@rackspace.com @jericevans An Introduction To Cassandra
  • 5. Project History Description People Eric Evans eevans@rackspace.com @jericevans An Introduction To Cassandra
  • 6. Project History Description People Eric Evans eevans@rackspace.com @jericevans An Introduction To Cassandra
  • 7. Project History Description People Eric Evans eevans@rackspace.com @jericevans An Introduction To Cassandra
  • 8. Project History Description People 4 new committers added Dozens of contributors 60+ people on IRC Hundreds of closed issues (bugs, features, etc) 2 major releases, 1 point release 0.5.0 RSN Eric Evans eevans@rackspace.com @jericevans An Introduction To Cassandra
  • 9. Project History Description People Outline 1 Project History 2 Description 3 People Eric Evans eevans@rackspace.com @jericevans An Introduction To Cassandra
  • 10. Project History Description People Cassandra is... O(1) DHT Eventual consistency Tunable trade-offs, consistency vs. latency Eric Evans eevans@rackspace.com @jericevans An Introduction To Cassandra
  • 11. Project History Description People Eric Evans eevans@rackspace.com @jericevans An Introduction To Cassandra
  • 12. Project History Description People But... Values are structured, indexed Columns / column families Slicing w/ predicates (queries) Eric Evans eevans@rackspace.com @jericevans An Introduction To Cassandra
  • 13. Project History Description People Column families Eric Evans eevans@rackspace.com @jericevans An Introduction To Cassandra
  • 14. Project History Description People Supercolumn families Eric Evans eevans@rackspace.com @jericevans An Introduction To Cassandra
  • 15. Project History Description People Querying By column By column for multiple keys Slice by names, or ranges of names returning columns returning super columns Slice for multiple keys Range of keys Slice on a key range RSN Eric Evans eevans@rackspace.com @jericevans An Introduction To Cassandra
  • 16. Project History Description People Column comparators TimeUUID LexicalUUID UTF8 Long Bytes ... Eric Evans eevans@rackspace.com @jericevans An Introduction To Cassandra
  • 17. Project History Description People Updating Insert column (by key) Batch insert (multi-column but still by key) Remove (by key) Remove key range RSN Eric Evans eevans@rackspace.com @jericevans An Introduction To Cassandra
  • 18. Project History Description People Consistency CAP Theorem: choose any two of Consistency, Availability, or Partition tolerance. Zero One Quorum ((N / 2) + 1) All Eric Evans eevans@rackspace.com @jericevans An Introduction To Cassandra
  • 19. Project History Description People Client API Thrift (12 different languages!) Ruby http://github.com/fauna/cassandra/tree/master http://github.com/NZKoz/cassandra object/tree/master Python http://github.com/digg/lazyboy/tree/master http://github.com/driftx/Telephus/tree/master (Twisted) Scala http://github.com/viktorklang/Cassidy/tree/master http://github.com/nodeta/scalandra/tree/master Eric Evans eevans@rackspace.com @jericevans An Introduction To Cassandra
  • 20. Project History Description People Performance vs MySQL w/ 50GB MySQL 300ms write 350ms read Cassandra 0.12ms write 15ms read Eric Evans eevans@rackspace.com @jericevans An Introduction To Cassandra
  • 21. Project History Description People Writes Eric Evans eevans@rackspace.com @jericevans An Introduction To Cassandra
  • 22. Project History Description People About writes... No reads No seeks Sequential disk access Atomic within a column family Fast Any node Always writeable (hinted hand-off) Eric Evans eevans@rackspace.com @jericevans An Introduction To Cassandra
  • 23. Project History Description People Reads Eric Evans eevans@rackspace.com @jericevans An Introduction To Cassandra
  • 24. Project History Description People About reads... Any node Read repair Usual caching conventions apply Eric Evans eevans@rackspace.com @jericevans An Introduction To Cassandra
  • 25. Project History Description People Outline 1 Project History 2 Description 3 People Eric Evans eevans@rackspace.com @jericevans An Introduction To Cassandra
  • 26. Project History Description People Droppin’ Names Facebook Digg IBM Research Rackspace Twitter Eric Evans eevans@rackspace.com @jericevans An Introduction To Cassandra
  • 27. Project History Description People http://incubator.apache.org/cassandra #cassandra / irc.freenode.net Eric Evans eevans@rackspace.com @jericevans An Introduction To Cassandra