Introduction to Apache Cassandra

23
Cassandra A highly scalable, eventually consistent, distributed, structured key-value store.

description

 

Transcript of Introduction to Apache Cassandra

Page 1: Introduction to Apache Cassandra

CassandraA highly scalable, eventually consistent, distributed, structured key-value store.

Page 2: Introduction to Apache Cassandra

The cursedoracle of Troy.

Page 3: Introduction to Apache Cassandra

StructuredKey-Value Store

Page 4: Introduction to Apache Cassandra

Berkely DB, Memcached, etc

Name Value

Page 5: Introduction to Apache Cassandra

Super Column

Cassandra

Super ColumnName

Column

Name Value

Page 6: Introduction to Apache Cassandra

Distributed

Page 7: Introduction to Apache Cassandra

Node 1

Node 2

Node 3

Node 4

Node 5

Node 6

Page 8: Introduction to Apache Cassandra

Eventually Consistent

Page 9: Introduction to Apache Cassandra

Node 1

Node 2

Node 3

Node 4

Write

Page 10: Introduction to Apache Cassandra

Node 1

Node 2

Node 3

Node 4

Read

Page 11: Introduction to Apache Cassandra

Write

Node 1

Node 2

Node 3

Node 4

Page 12: Introduction to Apache Cassandra

Highly Scalable

Page 13: Introduction to Apache Cassandra

Node 4

Node 5

Node 6

Node 1

Node 2

Node 3

Page 14: Introduction to Apache Cassandra

Node 4

Node 5

Node 6

Node 1Node 2

Node 3

Node 3.5

Page 15: Introduction to Apache Cassandra

Fault Tolerant

Page 16: Introduction to Apache Cassandra

Node 1

Node 2

Node 3

Node 4

Node 5

Node 6

Page 17: Introduction to Apache Cassandra

Node 1

Node 2

Node 3

Node 4

Node 5

Node 6

Page 18: Introduction to Apache Cassandra

Rich Data Model

Page 19: Introduction to Apache Cassandra

// Column:{ emailAddress: ‘[email protected]’ }

Page 20: Introduction to Apache Cassandra

// Super Column:homeAddress: { // Columns: street: ‘1234 Example St.’, city: ‘Santa Cruz’, state: ‘CA’, zip: ‘91210’}

Page 21: Introduction to Apache Cassandra

// Column Family:userProfiles: { // Rows: bob2007: { // Columns: username: ‘bob2007’, age: 32, phone: ‘(818) 555-2345’ }, birdHOUSE: { username: ‘birdHOUSE’, name: ‘George’, age: 19 }}

Page 22: Introduction to Apache Cassandra

// Super Column Family:addressBook: { // Rows: bob2007: { // Super Columns: Joe: { email:’[email protected]’ }, Ted: { street:’123 Jump St.’, phone:’555-1234’ } } birdHOUSE: { mom: { birthday:’1953-03-07’, phone:’555-7894’ } }}

Page 23: Introduction to Apache Cassandra

Time for an example.Any questions?