SlideShare una empresa de Scribd logo
1 de 27
Descargar para leer sin conexión
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
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
Project History
                                    Description
                                         People




A massively scalable, decentralized, structured data store (aka
database).




   Eric Evans eevans@rackspace.com @jericevans     An Introduction To Cassandra
Project History
                                       Description
                                            People


Outline



  1   Project History


  2   Description


  3   People




      Eric Evans eevans@rackspace.com @jericevans     An Introduction To Cassandra
Project History
                                 Description
                                      People




Eric Evans eevans@rackspace.com @jericevans     An Introduction To Cassandra
Project History
                                 Description
                                      People




Eric Evans eevans@rackspace.com @jericevans     An Introduction To Cassandra
Project History
                                 Description
                                      People




Eric Evans eevans@rackspace.com @jericevans     An Introduction To Cassandra
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
Project History
                                       Description
                                            People


Outline



  1   Project History


  2   Description


  3   People




      Eric Evans eevans@rackspace.com @jericevans     An Introduction To Cassandra
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
Project History
                                 Description
                                      People




Eric Evans eevans@rackspace.com @jericevans     An Introduction To Cassandra
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
Project History
                                      Description
                                           People


Column families




     Eric Evans eevans@rackspace.com @jericevans     An Introduction To Cassandra
Project History
                                      Description
                                           People


Supercolumn families




     Eric Evans eevans@rackspace.com @jericevans     An Introduction To Cassandra
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
Project History
                                     Description
                                          People


Column comparators



     TimeUUID
     LexicalUUID
     UTF8
     Long
     Bytes
     ...




    Eric Evans eevans@rackspace.com @jericevans     An Introduction To Cassandra
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
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
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
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
Project History
                                      Description
                                           People


Writes




     Eric Evans eevans@rackspace.com @jericevans     An Introduction To Cassandra
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
Project History
                                     Description
                                          People


Reads




    Eric Evans eevans@rackspace.com @jericevans     An Introduction To Cassandra
Project History
                                      Description
                                           People


About reads...




      Any node
      Read repair
      Usual caching conventions apply




     Eric Evans eevans@rackspace.com @jericevans     An Introduction To Cassandra
Project History
                                       Description
                                            People


Outline



  1   Project History


  2   Description


  3   People




      Eric Evans eevans@rackspace.com @jericevans     An Introduction To Cassandra
Project History
                                     Description
                                          People


Droppin’ Names




     Facebook
     Digg
     IBM Research
     Rackspace
     Twitter




    Eric Evans eevans@rackspace.com @jericevans     An Introduction To Cassandra
Project History
                                 Description
                                      People




       http://incubator.apache.org/cassandra

                #cassandra / irc.freenode.net




Eric Evans eevans@rackspace.com @jericevans     An Introduction To Cassandra

Más contenido relacionado

Destacado

The Cassandra Distributed Database
The Cassandra Distributed DatabaseThe Cassandra Distributed Database
The Cassandra Distributed DatabaseEric Evans
 
Introduction to Cassandra Basics
Introduction to Cassandra BasicsIntroduction to Cassandra Basics
Introduction to Cassandra Basicsnickmbailey
 
Introduction to Apache Cassandra
Introduction to Apache CassandraIntroduction to Apache Cassandra
Introduction to Apache CassandraRobert Stupp
 
Introduction to Cassandra: Replication and Consistency
Introduction to Cassandra: Replication and ConsistencyIntroduction to Cassandra: Replication and Consistency
Introduction to Cassandra: Replication and ConsistencyBenjamin Black
 
Cassandra Explained
Cassandra ExplainedCassandra Explained
Cassandra ExplainedEric Evans
 
An Overview of Apache Cassandra
An Overview of Apache CassandraAn Overview of Apache Cassandra
An Overview of Apache CassandraDataStax
 

Destacado (8)

Cassandra ppt 1
Cassandra ppt 1Cassandra ppt 1
Cassandra ppt 1
 
The Cassandra Distributed Database
The Cassandra Distributed DatabaseThe Cassandra Distributed Database
The Cassandra Distributed Database
 
Introduction to Cassandra Basics
Introduction to Cassandra BasicsIntroduction to Cassandra Basics
Introduction to Cassandra Basics
 
Introduction to Apache Cassandra
Introduction to Apache CassandraIntroduction to Apache Cassandra
Introduction to Apache Cassandra
 
Introduction to Cassandra: Replication and Consistency
Introduction to Cassandra: Replication and ConsistencyIntroduction to Cassandra: Replication and Consistency
Introduction to Cassandra: Replication and Consistency
 
Cassandra Explained
Cassandra ExplainedCassandra Explained
Cassandra Explained
 
An Overview of Apache Cassandra
An Overview of Apache CassandraAn Overview of Apache Cassandra
An Overview of Apache Cassandra
 
Cassandra NoSQL Tutorial
Cassandra NoSQL TutorialCassandra NoSQL Tutorial
Cassandra NoSQL Tutorial
 

Más de Eric Evans

Wikimedia Content API (Strangeloop)
Wikimedia Content API (Strangeloop)Wikimedia Content API (Strangeloop)
Wikimedia Content API (Strangeloop)Eric Evans
 
Wikimedia Content API: A Cassandra Use-case
Wikimedia Content API: A Cassandra Use-caseWikimedia Content API: A Cassandra Use-case
Wikimedia Content API: A Cassandra Use-caseEric Evans
 
Wikimedia Content API: A Cassandra Use-case
Wikimedia Content API: A Cassandra Use-caseWikimedia Content API: A Cassandra Use-case
Wikimedia Content API: A Cassandra Use-caseEric Evans
 
Time Series Data with Apache Cassandra (ApacheCon EU 2014)
Time Series Data with Apache Cassandra (ApacheCon EU 2014)Time Series Data with Apache Cassandra (ApacheCon EU 2014)
Time Series Data with Apache Cassandra (ApacheCon EU 2014)Eric Evans
 
Time Series Data with Apache Cassandra
Time Series Data with Apache CassandraTime Series Data with Apache Cassandra
Time Series Data with Apache CassandraEric Evans
 
Time Series Data with Apache Cassandra
Time Series Data with Apache CassandraTime Series Data with Apache Cassandra
Time Series Data with Apache CassandraEric Evans
 
It's not you, it's me: Ending a 15 year relationship with RRD
It's not you, it's me: Ending a 15 year relationship with RRDIt's not you, it's me: Ending a 15 year relationship with RRD
It's not you, it's me: Ending a 15 year relationship with RRDEric Evans
 
Time series storage in Cassandra
Time series storage in CassandraTime series storage in Cassandra
Time series storage in CassandraEric Evans
 
Virtual Nodes: Rethinking Topology in Cassandra
Virtual Nodes: Rethinking Topology in CassandraVirtual Nodes: Rethinking Topology in Cassandra
Virtual Nodes: Rethinking Topology in CassandraEric Evans
 
Cassandra by Example: Data Modelling with CQL3
Cassandra by Example:  Data Modelling with CQL3Cassandra by Example:  Data Modelling with CQL3
Cassandra by Example: Data Modelling with CQL3Eric Evans
 
Cassandra By Example: Data Modelling with CQL3
Cassandra By Example: Data Modelling with CQL3Cassandra By Example: Data Modelling with CQL3
Cassandra By Example: Data Modelling with CQL3Eric Evans
 
Rethinking Topology In Cassandra (ApacheCon NA)
Rethinking Topology In Cassandra (ApacheCon NA)Rethinking Topology In Cassandra (ApacheCon NA)
Rethinking Topology In Cassandra (ApacheCon NA)Eric Evans
 
Virtual Nodes: Rethinking Topology in Cassandra
Virtual Nodes: Rethinking Topology in CassandraVirtual Nodes: Rethinking Topology in Cassandra
Virtual Nodes: Rethinking Topology in CassandraEric Evans
 
Castle enhanced Cassandra
Castle enhanced CassandraCastle enhanced Cassandra
Castle enhanced CassandraEric Evans
 
CQL: SQL In Cassandra
CQL: SQL In CassandraCQL: SQL In Cassandra
CQL: SQL In CassandraEric Evans
 
CQL In Cassandra 1.0 (and beyond)
CQL In Cassandra 1.0 (and beyond)CQL In Cassandra 1.0 (and beyond)
CQL In Cassandra 1.0 (and beyond)Eric Evans
 

Más de Eric Evans (16)

Wikimedia Content API (Strangeloop)
Wikimedia Content API (Strangeloop)Wikimedia Content API (Strangeloop)
Wikimedia Content API (Strangeloop)
 
Wikimedia Content API: A Cassandra Use-case
Wikimedia Content API: A Cassandra Use-caseWikimedia Content API: A Cassandra Use-case
Wikimedia Content API: A Cassandra Use-case
 
Wikimedia Content API: A Cassandra Use-case
Wikimedia Content API: A Cassandra Use-caseWikimedia Content API: A Cassandra Use-case
Wikimedia Content API: A Cassandra Use-case
 
Time Series Data with Apache Cassandra (ApacheCon EU 2014)
Time Series Data with Apache Cassandra (ApacheCon EU 2014)Time Series Data with Apache Cassandra (ApacheCon EU 2014)
Time Series Data with Apache Cassandra (ApacheCon EU 2014)
 
Time Series Data with Apache Cassandra
Time Series Data with Apache CassandraTime Series Data with Apache Cassandra
Time Series Data with Apache Cassandra
 
Time Series Data with Apache Cassandra
Time Series Data with Apache CassandraTime Series Data with Apache Cassandra
Time Series Data with Apache Cassandra
 
It's not you, it's me: Ending a 15 year relationship with RRD
It's not you, it's me: Ending a 15 year relationship with RRDIt's not you, it's me: Ending a 15 year relationship with RRD
It's not you, it's me: Ending a 15 year relationship with RRD
 
Time series storage in Cassandra
Time series storage in CassandraTime series storage in Cassandra
Time series storage in Cassandra
 
Virtual Nodes: Rethinking Topology in Cassandra
Virtual Nodes: Rethinking Topology in CassandraVirtual Nodes: Rethinking Topology in Cassandra
Virtual Nodes: Rethinking Topology in Cassandra
 
Cassandra by Example: Data Modelling with CQL3
Cassandra by Example:  Data Modelling with CQL3Cassandra by Example:  Data Modelling with CQL3
Cassandra by Example: Data Modelling with CQL3
 
Cassandra By Example: Data Modelling with CQL3
Cassandra By Example: Data Modelling with CQL3Cassandra By Example: Data Modelling with CQL3
Cassandra By Example: Data Modelling with CQL3
 
Rethinking Topology In Cassandra (ApacheCon NA)
Rethinking Topology In Cassandra (ApacheCon NA)Rethinking Topology In Cassandra (ApacheCon NA)
Rethinking Topology In Cassandra (ApacheCon NA)
 
Virtual Nodes: Rethinking Topology in Cassandra
Virtual Nodes: Rethinking Topology in CassandraVirtual Nodes: Rethinking Topology in Cassandra
Virtual Nodes: Rethinking Topology in Cassandra
 
Castle enhanced Cassandra
Castle enhanced CassandraCastle enhanced Cassandra
Castle enhanced Cassandra
 
CQL: SQL In Cassandra
CQL: SQL In CassandraCQL: SQL In Cassandra
CQL: SQL In Cassandra
 
CQL In Cassandra 1.0 (and beyond)
CQL In Cassandra 1.0 (and beyond)CQL In Cassandra 1.0 (and beyond)
CQL In Cassandra 1.0 (and beyond)
 

Último

Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 

Último (20)

Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 

An Introduction To Cassandra

  • 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