WTF is NoSQL
-
Upload
astrails -
Category
Technology
-
view
449 -
download
1
description
Transcript of WTF is NoSQL
![Page 1: WTF is NoSQL](https://reader034.fdocuments.net/reader034/viewer/2022052315/55568639d8b42a182f8b491a/html5/thumbnails/1.jpg)
Who am I?
• Founder of Astrails
• 19 years of industry experience
• Building Web Apps since 2005
Vitaly Kushner
Wednesday, June 16, 2010
![Page 2: WTF is NoSQL](https://reader034.fdocuments.net/reader034/viewer/2022052315/55568639d8b42a182f8b491a/html5/thumbnails/2.jpg)
NoSQLwhen, why and how?
Vitaly Kushnerastrails.com
Wednesday, June 16, 2010
![Page 3: WTF is NoSQL](https://reader034.fdocuments.net/reader034/viewer/2022052315/55568639d8b42a182f8b491a/html5/thumbnails/3.jpg)
Wednesday, June 16, 2010
![Page 4: WTF is NoSQL](https://reader034.fdocuments.net/reader034/viewer/2022052315/55568639d8b42a182f8b491a/html5/thumbnails/4.jpg)
Yahoo
Wednesday, June 16, 2010
![Page 5: WTF is NoSQL](https://reader034.fdocuments.net/reader034/viewer/2022052315/55568639d8b42a182f8b491a/html5/thumbnails/5.jpg)
Yahoo
Amazon
Wednesday, June 16, 2010
![Page 6: WTF is NoSQL](https://reader034.fdocuments.net/reader034/viewer/2022052315/55568639d8b42a182f8b491a/html5/thumbnails/6.jpg)
Yahoo
Amazon
Wednesday, June 16, 2010
![Page 7: WTF is NoSQL](https://reader034.fdocuments.net/reader034/viewer/2022052315/55568639d8b42a182f8b491a/html5/thumbnails/7.jpg)
Yahoo
Amazon
Wednesday, June 16, 2010
![Page 8: WTF is NoSQL](https://reader034.fdocuments.net/reader034/viewer/2022052315/55568639d8b42a182f8b491a/html5/thumbnails/8.jpg)
Yahoo
Amazon
Digg
Wednesday, June 16, 2010
![Page 9: WTF is NoSQL](https://reader034.fdocuments.net/reader034/viewer/2022052315/55568639d8b42a182f8b491a/html5/thumbnails/9.jpg)
Yahoo
Amazon
Rackspace
Digg
Wednesday, June 16, 2010
![Page 10: WTF is NoSQL](https://reader034.fdocuments.net/reader034/viewer/2022052315/55568639d8b42a182f8b491a/html5/thumbnails/10.jpg)
Yahoo
Amazon
Rackspace
Digg
Wednesday, June 16, 2010
![Page 11: WTF is NoSQL](https://reader034.fdocuments.net/reader034/viewer/2022052315/55568639d8b42a182f8b491a/html5/thumbnails/11.jpg)
Yahoo
Amazon
Rackspace
Digg
LinkedInEverybody
Wednesday, June 16, 2010
![Page 12: WTF is NoSQL](https://reader034.fdocuments.net/reader034/viewer/2022052315/55568639d8b42a182f8b491a/html5/thumbnails/12.jpg)
NoSQL
NoSQL
NoSQLNoSQL
NoSQL
NoSQL
NoSQL
NoSQL
NoSQL
NoSQL
Wednesday, June 16, 2010
![Page 13: WTF is NoSQL](https://reader034.fdocuments.net/reader034/viewer/2022052315/55568639d8b42a182f8b491a/html5/thumbnails/13.jpg)
WTF is NoSQL?and why should you care?
Wednesday, June 16, 2010
![Page 14: WTF is NoSQL](https://reader034.fdocuments.net/reader034/viewer/2022052315/55568639d8b42a182f8b491a/html5/thumbnails/14.jpg)
Non relational
Wednesday, June 16, 2010
![Page 15: WTF is NoSQL](https://reader034.fdocuments.net/reader034/viewer/2022052315/55568639d8b42a182f8b491a/html5/thumbnails/15.jpg)
Non relationalDocument based
Wednesday, June 16, 2010
![Page 16: WTF is NoSQL](https://reader034.fdocuments.net/reader034/viewer/2022052315/55568639d8b42a182f8b491a/html5/thumbnails/16.jpg)
Non relationalDocument based
Key-Value store
Wednesday, June 16, 2010
![Page 17: WTF is NoSQL](https://reader034.fdocuments.net/reader034/viewer/2022052315/55568639d8b42a182f8b491a/html5/thumbnails/17.jpg)
Non relationalDocument based
Key-Value store
column-based
Wednesday, June 16, 2010
![Page 18: WTF is NoSQL](https://reader034.fdocuments.net/reader034/viewer/2022052315/55568639d8b42a182f8b491a/html5/thumbnails/18.jpg)
Non relationalDocument based
Key-Value store
Graph DB
column-based
Wednesday, June 16, 2010
![Page 19: WTF is NoSQL](https://reader034.fdocuments.net/reader034/viewer/2022052315/55568639d8b42a182f8b491a/html5/thumbnails/19.jpg)
Non relationalDocument based
Key-Value store
Distributed
Graph DB
column-based
Wednesday, June 16, 2010
![Page 20: WTF is NoSQL](https://reader034.fdocuments.net/reader034/viewer/2022052315/55568639d8b42a182f8b491a/html5/thumbnails/20.jpg)
Non relationalDocument based
Key-Value store
Schema-less
Distributed
Graph DB
column-based
Wednesday, June 16, 2010
![Page 21: WTF is NoSQL](https://reader034.fdocuments.net/reader034/viewer/2022052315/55568639d8b42a182f8b491a/html5/thumbnails/21.jpg)
Non relationalDocument based
Key-Value store
Schema-less
Distributed
BASE is not ACID Graph DB
column-based
Wednesday, June 16, 2010
![Page 22: WTF is NoSQL](https://reader034.fdocuments.net/reader034/viewer/2022052315/55568639d8b42a182f8b491a/html5/thumbnails/22.jpg)
Why & When
Wednesday, June 16, 2010
![Page 23: WTF is NoSQL](https://reader034.fdocuments.net/reader034/viewer/2022052315/55568639d8b42a182f8b491a/html5/thumbnails/23.jpg)
Massive Data Volume100K servers in a cluster
Wednesday, June 16, 2010
![Page 24: WTF is NoSQL](https://reader034.fdocuments.net/reader034/viewer/2022052315/55568639d8b42a182f8b491a/html5/thumbnails/24.jpg)
Massive Data Volume100K servers in a cluster
Twitter: 7+T/day
Wednesday, June 16, 2010
![Page 25: WTF is NoSQL](https://reader034.fdocuments.net/reader034/viewer/2022052315/55568639d8b42a182f8b491a/html5/thumbnails/25.jpg)
High query workloadMongoDB: 8M operations/sec
Wednesday, June 16, 2010
![Page 26: WTF is NoSQL](https://reader034.fdocuments.net/reader034/viewer/2022052315/55568639d8b42a182f8b491a/html5/thumbnails/26.jpg)
Flexible Schemaon the fly schema changes
Wednesday, June 16, 2010
![Page 27: WTF is NoSQL](https://reader034.fdocuments.net/reader034/viewer/2022052315/55568639d8b42a182f8b491a/html5/thumbnails/27.jpg)
Massive Scale
Wednesday, June 16, 2010
![Page 28: WTF is NoSQL](https://reader034.fdocuments.net/reader034/viewer/2022052315/55568639d8b42a182f8b491a/html5/thumbnails/28.jpg)
Availability
Wednesday, June 16, 2010
![Page 29: WTF is NoSQL](https://reader034.fdocuments.net/reader034/viewer/2022052315/55568639d8b42a182f8b491a/html5/thumbnails/29.jpg)
Everyone wantAvailability
Wednesday, June 16, 2010
![Page 30: WTF is NoSQL](https://reader034.fdocuments.net/reader034/viewer/2022052315/55568639d8b42a182f8b491a/html5/thumbnails/30.jpg)
RDBMScan deliver
Wednesday, June 16, 2010
![Page 31: WTF is NoSQL](https://reader034.fdocuments.net/reader034/viewer/2022052315/55568639d8b42a182f8b491a/html5/thumbnails/31.jpg)
high price
Wednesday, June 16, 2010
![Page 32: WTF is NoSQL](https://reader034.fdocuments.net/reader034/viewer/2022052315/55568639d8b42a182f8b491a/html5/thumbnails/32.jpg)
Not ACID anymore
Wednesday, June 16, 2010
![Page 33: WTF is NoSQL](https://reader034.fdocuments.net/reader034/viewer/2022052315/55568639d8b42a182f8b491a/html5/thumbnails/33.jpg)
• Consistent
• Available
• Partition tolerant
CAP theoremPick two
Wednesday, June 16, 2010
![Page 34: WTF is NoSQL](https://reader034.fdocuments.net/reader034/viewer/2022052315/55568639d8b42a182f8b491a/html5/thumbnails/34.jpg)
ScaleHow?
Wednesday, June 16, 2010
![Page 35: WTF is NoSQL](https://reader034.fdocuments.net/reader034/viewer/2022052315/55568639d8b42a182f8b491a/html5/thumbnails/35.jpg)
Throw hardware money at it!
Wednesday, June 16, 2010
![Page 36: WTF is NoSQL](https://reader034.fdocuments.net/reader034/viewer/2022052315/55568639d8b42a182f8b491a/html5/thumbnails/36.jpg)
Par-ti-tion
Wednesday, June 16, 2010
![Page 37: WTF is NoSQL](https://reader034.fdocuments.net/reader034/viewer/2022052315/55568639d8b42a182f8b491a/html5/thumbnails/37.jpg)
MySQL + Memcached=
“square wheel” cassandra
Wednesday, June 16, 2010
![Page 38: WTF is NoSQL](https://reader034.fdocuments.net/reader034/viewer/2022052315/55568639d8b42a182f8b491a/html5/thumbnails/38.jpg)
How?
Wednesday, June 16, 2010
![Page 39: WTF is NoSQL](https://reader034.fdocuments.net/reader034/viewer/2022052315/55568639d8b42a182f8b491a/html5/thumbnails/39.jpg)
Which one?
• document based
• column or key-value store
• advanced storage schemas
Wednesday, June 16, 2010
![Page 40: WTF is NoSQL](https://reader034.fdocuments.net/reader034/viewer/2022052315/55568639d8b42a182f8b491a/html5/thumbnails/40.jpg)
Cassandra
• built by Facebook
• very high write throughput
• OLTP
• automatic horizontal scaling
• no single point of failure
Wednesday, June 16, 2010
![Page 41: WTF is NoSQL](https://reader034.fdocuments.net/reader034/viewer/2022052315/55568639d8b42a182f8b491a/html5/thumbnails/41.jpg)
HBase
• Apache project
• Consistent
• Optimized for analytics (OLAP)
• Has single point of failure
Wednesday, June 16, 2010
![Page 42: WTF is NoSQL](https://reader034.fdocuments.net/reader034/viewer/2022052315/55568639d8b42a182f8b491a/html5/thumbnails/42.jpg)
MongoDB
• probably easiest to move to from SQL
• document based
• on-demand queries
• automatic sharding
• no single-node durability
Wednesday, June 16, 2010
![Page 43: WTF is NoSQL](https://reader034.fdocuments.net/reader034/viewer/2022052315/55568639d8b42a182f8b491a/html5/thumbnails/43.jpg)
CoachDB
• document based
• map-reduce javascript querying/filtering.
• has some replication and scaling problems
Wednesday, June 16, 2010
![Page 44: WTF is NoSQL](https://reader034.fdocuments.net/reader034/viewer/2022052315/55568639d8b42a182f8b491a/html5/thumbnails/44.jpg)
REDIS
• key-value store
• advanced data types: list, set
• atomic operations
Wednesday, June 16, 2010
![Page 45: WTF is NoSQL](https://reader034.fdocuments.net/reader034/viewer/2022052315/55568639d8b42a182f8b491a/html5/thumbnails/45.jpg)
Schema
Wednesday, June 16, 2010
![Page 46: WTF is NoSQL](https://reader034.fdocuments.net/reader034/viewer/2022052315/55568639d8b42a182f8b491a/html5/thumbnails/46.jpg)
Users: {
vitaly: {
email: [email protected],
company: astrails,
password: secret
},
michael: {
email: [email protected],
company: astrails,
password: superduper
},
...
}
Wednesday, June 16, 2010
![Page 47: WTF is NoSQL](https://reader034.fdocuments.net/reader034/viewer/2022052315/55568639d8b42a182f8b491a/html5/thumbnails/47.jpg)
UsersByEmail: { "[email protected]": "vitaly", "[email protected]": "michael", ...}
Wednesday, June 16, 2010
![Page 48: WTF is NoSQL](https://reader034.fdocuments.net/reader034/viewer/2022052315/55568639d8b42a182f8b491a/html5/thumbnails/48.jpg)
Migrations
Wednesday, June 16, 2010
![Page 49: WTF is NoSQL](https://reader034.fdocuments.net/reader034/viewer/2022052315/55568639d8b42a182f8b491a/html5/thumbnails/49.jpg)
Start Slow
Wednesday, June 16, 2010
![Page 50: WTF is NoSQL](https://reader034.fdocuments.net/reader034/viewer/2022052315/55568639d8b42a182f8b491a/html5/thumbnails/50.jpg)
NoSQL can helpYou
Wednesday, June 16, 2010
![Page 51: WTF is NoSQL](https://reader034.fdocuments.net/reader034/viewer/2022052315/55568639d8b42a182f8b491a/html5/thumbnails/51.jpg)
WTF is NoSQL?
Vitaly Kushnerastrails.com
@astrails @vkushner
Q & A
Wednesday, June 16, 2010