Adam Marcus MIT CSAIL [email protected] / · PDF filecomponents Monolithic System System...
Transcript of Adam Marcus MIT CSAIL [email protected] / · PDF filecomponents Monolithic System System...
![Page 2: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/2.jpg)
About Me
● Social Computing + Database Systems● Easily Distracted: Wrote The NoSQL Ecosystem in
The Architecture of Open Source Applications 1
1 http://www.aosabook.org/en/nosql.html
![Page 3: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/3.jpg)
History, Compressed
Late 1990s Today
![Page 4: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/4.jpg)
History, Compressed
Late 1990s Today
Buy RAM
![Page 5: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/5.jpg)
History, Compressed
Late 1990s
Wrap RDBMSs
Today
Buy RAM
![Page 6: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/6.jpg)
History, Compressed
NoSQL
Late 1990s
Wrap RDBMSs
Today
Buy RAM
![Page 7: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/7.jpg)
History, Compressed
NoSQL
Late 1990s
Wrap RDBMSs
Today
Buy RAM
Not Only SQL
![Page 8: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/8.jpg)
History, Compressed
NoSQL
Late 1990s
Wrap RDBMSs
Today
Buy RAM Commercialize
![Page 9: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/9.jpg)
History, Compressed
NoSQL
Late 1990s
Wrap RDBMSs
Today
Buy RAM Commercialize
![Page 10: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/10.jpg)
The List, So You Don't Yell at Me
Cassandra
HBase
Voldemort
Riak
RedisMongoDB
HyperTable
Neo4j
HyperGraphDBDEX
InfoGrid
VertexDB
Sones
CouchDB
AllegroGraph
BerkeleyDB
Oracle NoSQLMemcacheDBTokyo Cabinet
FlockDB
![Page 11: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/11.jpg)
The List, So You Don't Yell at Me
Cassandra
HBase
Voldemort
Riak
RedisMongoDB
HyperTable
Neo4j
HyperGraphDBDEX
InfoGrid
VertexDB
Sones
CouchDB
AllegroGraph
BerkeleyDB
Oracle NoSQLMemcacheDBTokyo Cabinet
FlockDB
Marcus' Law of Databases:
The number of persistence options doubles every 1.5 years
![Page 12: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/12.jpg)
The List, So You Don't Yell at Me
Cassandra
HBase
Voldemort
Riak
RedisMongoDB
HyperTable
Neo4j
HyperGraphDBDEX
InfoGrid
VertexDB
Sones
CouchDB
AllegroGraph
BerkeleyDB
Oracle NoSQLMemcacheDBTokyo Cabinet
FlockDB
Marcus' Law of Databases:
The number of persistence options doubles every 1.5 years
Corollary:I'm sorry I missed your
persistence option
![Page 13: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/13.jpg)
interesting properties
real-world usage
takeaways
questions
![Page 14: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/14.jpg)
interesting properties
real-world usage
takeaways
questions
![Page 15: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/15.jpg)
Conventional Wisdom on NoSQL
● Key-based data model● Sloppy schema● Single-key transactions● In-app joins● Eventually consistent
![Page 16: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/16.jpg)
Exceptions are More Interesting
● Data Model● Query Model● Transactions● Consistency
![Page 17: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/17.jpg)
Data Model
● Usually key-based...● Column-families● Documents● Data structures
![Page 18: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/18.jpg)
Data Model
● Usually key-based...● Column-families● Documents● Data structures
● ...but not always● Graph stores
![Page 19: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/19.jpg)
Query Model
● Redis: data structure-specific operations● CouchDB, Riak: MapReduce● Cassandra, MongoDB: SQL-like languages, no
joins or transactions
![Page 20: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/20.jpg)
Query Model
● Redis: data structure-specific operations● CouchDB, Riak: MapReduce● Cassandra, MongoDB: SQL-like languages, no
joins or transactions● Third-party
● High-level: PigLatin, HiveQL● Library: Cascading, Crunch● Streaming: Flume, Kafka, S4, Scribe
![Page 21: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/21.jpg)
Transactions
● Full ACID for single key● Redis: multi-key single-node transactions
![Page 22: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/22.jpg)
Consistency
● Strong: Appears that all replicas see all writes● Eventual: Replicas may have different, divergent versions
![Page 23: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/23.jpg)
Consistency
● Strong: Appears that all replicas see all writes● Eventual: Replicas may have different, divergent versions
● Dynamo: strong or eventual (quorum size)
![Page 24: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/24.jpg)
Consistency
● Strong: Appears that all replicas see all writes● Eventual: Replicas may have different, divergent versions
● Dynamo: strong or eventual (quorum size)
● PNUTs: Timeline consistency● ...many consistency models!
See: http://www.allthingsdistributed.com/2007/12/eventually_consistent.html
![Page 25: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/25.jpg)
interesting properties
real-world usage
takeaways
questions
![Page 26: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/26.jpg)
NoSQL Use-cases
● Cassandra● HBase● MongoDB
![Page 27: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/27.jpg)
Cassandra
● BigTable data model: key column family● Dynamo sharding model: consistent hashing● Eventual or strong consistency
![Page 28: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/28.jpg)
Cassandra at Netflix
● Transitioned from Oracle● Store customer profiles, customer:movie watch
log, and detailed usage logging
Note: no multi-record locking (e.g., bank transfer)
In-datacenter: 3 replicas, per-app consistency
read/write quorum = 1, ~1ms latency
read/write quorum = 2, ~3ms latency
“Replicating Datacenter Oracle with Global Apache Cassandra on AWS” by Adrian Cockcroft http://www.slideshare.net/adrianco/migrating-netflix-from-oracle-to-global-cassandra
![Page 29: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/29.jpg)
Cassandra at Netflix
● Transitioned from Oracle● Store customer profiles, customer:movie watch
log, and detailed usage logging ● Note: no multi-record locking (e.g., bank transfer)
In-datacenter: 3 replicas, per-app consistency
read/write quorum = 1, ~1ms latency
read/write quorum = 2, ~3ms latency
“Replicating Datacenter Oracle with Global Apache Cassandra on AWS” by Adrian Cockcroft http://www.slideshare.net/adrianco/migrating-netflix-from-oracle-to-global-cassandra
![Page 30: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/30.jpg)
Cassandra at Netflix
● Transitioned from Oracle● Store customer profiles, customer:movie watch
log, and detailed usage logging ● Note: no multi-record locking (e.g., bank transfer)
● In-datacenter: 3 replicas, per-app consistency
“Replicating Datacenter Oracle with Global Apache Cassandra on AWS” by Adrian Cockcroft http://www.slideshare.net/adrianco/migrating-netflix-from-oracle-to-global-cassandra
![Page 31: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/31.jpg)
Cassandra at Netflix (cont'd)
● Benefit: async inter-datacenter replication● Benefit: no downtime for schema changes● Benefit: hooks for live backups
![Page 32: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/32.jpg)
HBase
● Data model: key column family● Sharding model: range partitioning● Strong consistency
Applications
Logging events/crawls, storing analytics
Twitter: replicate data from MySQL, Hadoop analytics
Facebook Messages
![Page 33: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/33.jpg)
HBase
● Data model: key column family● Sharding model: range partitioning● Strong consistency
● Applications● Logging events/crawls, storing analytics● Twitter: replicate data from MySQL, Hadoop analytics● Facebook Messages
![Page 34: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/34.jpg)
HBase for Facebook Messages
● Cassandra/Dynamo eventual consistency was difficult to program against
Benefit: simple consistency model
Benefit: flexible data model
Benefit: simple sharding, load balancing, replication
![Page 35: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/35.jpg)
HBase for Facebook Messages
● Cassandra/Dynamo eventual consistency was difficult to program against
● Benefit: simple consistency model● Benefit: flexible data model● Benefit: simple sharding, load balancing,
replication
![Page 36: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/36.jpg)
MongoDB
● Document-based data model● Range-based partitioning● Consistency depends on how you use it
![Page 37: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/37.jpg)
MongoDB: Two use-cases
● Archiving at Craigslist● 2.2B historical posts, semi-structured● Relatively large blobs: avg 2KB, max > 4 MB
![Page 38: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/38.jpg)
MongoDB: Two use-cases
● Archiving at Craigslist● 2.2B historical posts, semi-structured● Relatively large blobs: avg 2KB, max > 4 MB
● Checkins at Foursquare● Geospatial indexing● Small location-based updates, sharded on user
![Page 39: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/39.jpg)
interesting properties
real-world usage
takeaways
questions
![Page 40: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/40.jpg)
Takeaways
● Developer accessibility● Ecosystem of reuse● Soft spot
![Page 41: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/41.jpg)
Developer Accessibility
![Page 42: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/42.jpg)
Developer Accessibilitydevops
@DEVOPS_BORAT
![Page 43: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/43.jpg)
Developer Accessibilitydevops
@DEVOPS_BORAT
self-taught dev
![Page 44: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/44.jpg)
A Different Five-Minute Rule
What does a first-time user of your system experience in their first five minutes? (idea credit: Justin Sheehy, Basho)
![Page 45: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/45.jpg)
Redis
http://simonwillison.net/2009/Oct/22/redis/
![Page 46: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/46.jpg)
PostgreSQL
http://www.postgresql.org/docs/9.1/interactive/sql-createtable.html
![Page 47: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/47.jpg)
Cassandra
http://www.datastax.com/docs/0.7/getting_started/using_cli
![Page 48: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/48.jpg)
Accessibility is Forever
Beyond five minutes: ● changing schemas● scaling up● modifying topology
![Page 49: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/49.jpg)
Accessibility is Forever
Beyond five minutes: ● changing schemas● scaling up● modifying topology
An accessible data store will ease first-time users in, and support
experienced users as they expand
![Page 50: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/50.jpg)
Ecosystem of Reuse
![Page 51: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/51.jpg)
Spectrum of Reusability
Monolithic System System Kernel
![Page 52: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/52.jpg)
Spectrum of Reusability
MongoDBRedis
Use as provided
Monolithic System System Kernel
![Page 53: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/53.jpg)
Spectrum of Reusability
MongoDBRedis
CassandraVoldemort
Use as provided
Pick between components
Monolithic System System Kernel
![Page 54: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/54.jpg)
Spectrum of Reusability
MongoDBRedis
CassandraVoldemort
Use as provided
Pick between components
ZooKeeperLevelDB
Reusablecomponents
Monolithic System System Kernel
![Page 55: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/55.jpg)
Spectrum of Reusability
MongoDBRedis
CassandraVoldemort
Use as provided
Pick between components
riak_coreZooKeeperLevelDB
Reusablecomponents
Build yourown system
Monolithic System System Kernel
![Page 56: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/56.jpg)
And finally, a soft spot
![Page 57: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/57.jpg)
polyglot persistence=
right tool for right task
![Page 58: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/58.jpg)
Polyglot persistence: Where's the data?
“HBase at Mendeley,” Dan Harvey http://www.slideshare.net/danharvey/hbase-at-mendeley
![Page 59: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/59.jpg)
Polyglot persistence: Where's the data?
“HBase at Mendeley,” Dan Harvey http://www.slideshare.net/danharvey/hbase-at-mendeley
![Page 60: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/60.jpg)
Polyglot persistence: Where's the data?
“HBase at Mendeley,” Dan Harvey http://www.slideshare.net/danharvey/hbase-at-mendeley
Aid developers in reasoning about data consistency across multiple storage engines
![Page 61: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/61.jpg)
interesting properties
real-world usage
takeaways
questions
![Page 62: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/62.jpg)
● Systems: Polyglot persistence + data consistency?
![Page 63: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/63.jpg)
● Systems: Polyglot persistence + data consistency?● Operations: Availability/consistency/latency tradeoffs in
datacenters?
![Page 64: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/64.jpg)
● Systems: Polyglot persistence + data consistency?● Operations: Availability/consistency/latency tradeoffs in
datacenters?● Accessibility: RDBMS five-minute usability?
![Page 65: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/65.jpg)
● Systems: Polyglot persistence + data consistency?● Operations: Availability/consistency/latency tradeoffs in
datacenters?● Accessibility: RDBMS five-minute usability?● Accessibility: Scale-up wizard for storage systems?
![Page 66: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/66.jpg)
● Systems: Polyglot persistence + data consistency?● Operations: Availability/consistency/latency tradeoffs in
datacenters?● Accessibility: RDBMS five-minute usability?● Accessibility: Scale-up wizard for storage systems?● Comparisons: Design or implementation?
![Page 67: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/67.jpg)
● Systems: Polyglot persistence + data consistency?● Operations: Availability/consistency/latency tradeoffs in
datacenters?● Accessibility: RDBMS five-minute usability?● Accessibility: Scale-up wizard for storage systems?● Comparisons: Design or implementation?● Future: Next-generation NoSQL stores?
![Page 68: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/68.jpg)
Thank You!
Adam [email protected] / @marcua
● Systems: Polyglot persistence + data consistency?● Operations: Availability/consistency/latency tradeoffs in
datacenters?● Accessibility: RDBMS five-minute usability?● Accessibility: Scale-up wizard for storage systems?● Comparisons: Design or implementation?● Future: Next-generation NoSQL stores?
![Page 69: Adam Marcus MIT CSAIL marcua@csail.mit.edu / · PDF filecomponents Monolithic System System Kernel. Spectrum of Reusability MongoDB Redis Cassandra Voldemort Use as provided ... Accessibility:](https://reader031.fdocuments.in/reader031/viewer/2022022502/5aaaa5667f8b9a77188e71f4/html5/thumbnails/69.jpg)
Photo Credits
http://www.flickr.com/photos/dhannah/4577657955/
http://www.flickr.com/photos/27316226@N02/3000888100/sizes/m/in/photostream/
http://www.texample.net/tikz/examples/valentine-heart/
http://voltdb.com/sites/default/files/VCE_button.png