SlideShare une entreprise Scribd logo
1  sur  27
Télécharger pour lire hors ligne
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

Contenu connexe

En vedette

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
 

En vedette (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
 

Plus 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
 

Plus 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)
 

Dernier

Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
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
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
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
 
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
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
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
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 

Dernier (20)

Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
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
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
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
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 

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