Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
 what’s under the hood?<br />Aleksey Solntsev<br />
The Digital Universe<br />
Some facts<br />
What’s they have in common?<br />Performance<br />Scalability<br />Price<br />
RDBMS<br />ACID doesn’t scale well horizontally<br />Shardingbreaks relations<br /> Joins are inefficient<br />Transaction...
ACID<br /><ul><li>Atomicity
Consistency
Isolation
Durability</li></li></ul><li>NoSQL: Not Only SQL<br />Non-Relational<br />Distributed<br />Scaling Out Scalability<br />Sc...
We need to scale!<br />
Replication aka RAID1<br />
Sharding aka RAID0<br />
CAP theorem (Brewer's theorem)<br />
ACID<br /><ul><li>Atomicity
Consistency
Isolation
Durability</li></ul>BASE<br /><ul><li>Basically Available
Soft State
Eventually Consistent</li></li></ul><li>NoSQL Taxonomy<br />Key Value / Tuple Store<br />Eventually Consistent Key Value S...
NoSQL Taxonomy<br />Key Value / Tuple Store<br />Eventually Consistent Key Value Store<br />Wide Column Store / Column Fam...
<ul><li>Focus on scaling to huge amounts of data
Designed to handle massive load</li></li></ul><li>Distributed hash table<br />
Partitioning 1/2<br />
Partitioning 2/2<br />
Primitive API<br />CRUD<br />
Map/Reduce for aggregation<br />map(String filename, String document) {<br />	List<String> T = tokenize(document);<br />	f...
MapReduceи Hadoop?<br />
<ul><li>Single infinitely large table
Each rows can have different number of columns</li></li></ul><li>Column<br />
SuperColumn<br />
ColumnFamily<br />
Keyspace<br />
Upcoming SlideShare
Loading in …5
×

of

NoSQL: what's under the hood?  Slide 1 NoSQL: what's under the hood?  Slide 2 NoSQL: what's under the hood?  Slide 3 NoSQL: what's under the hood?  Slide 4 NoSQL: what's under the hood?  Slide 5 NoSQL: what's under the hood?  Slide 6 NoSQL: what's under the hood?  Slide 7 NoSQL: what's under the hood?  Slide 8 NoSQL: what's under the hood?  Slide 9 NoSQL: what's under the hood?  Slide 10 NoSQL: what's under the hood?  Slide 11 NoSQL: what's under the hood?  Slide 12 NoSQL: what's under the hood?  Slide 13 NoSQL: what's under the hood?  Slide 14 NoSQL: what's under the hood?  Slide 15 NoSQL: what's under the hood?  Slide 16 NoSQL: what's under the hood?  Slide 17 NoSQL: what's under the hood?  Slide 18 NoSQL: what's under the hood?  Slide 19 NoSQL: what's under the hood?  Slide 20 NoSQL: what's under the hood?  Slide 21 NoSQL: what's under the hood?  Slide 22 NoSQL: what's under the hood?  Slide 23 NoSQL: what's under the hood?  Slide 24 NoSQL: what's under the hood?  Slide 25 NoSQL: what's under the hood?  Slide 26 NoSQL: what's under the hood?  Slide 27 NoSQL: what's under the hood?  Slide 28 NoSQL: what's under the hood?  Slide 29 NoSQL: what's under the hood?  Slide 30 NoSQL: what's under the hood?  Slide 31 NoSQL: what's under the hood?  Slide 32
Upcoming SlideShare
Redis
Next

2 Likes

Share

NoSQL: what's under the hood?

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

NoSQL: what's under the hood?

  1. 1. what’s under the hood?<br />Aleksey Solntsev<br />
  2. 2. The Digital Universe<br />
  3. 3. Some facts<br />
  4. 4. What’s they have in common?<br />Performance<br />Scalability<br />Price<br />
  5. 5. RDBMS<br />ACID doesn’t scale well horizontally<br />Shardingbreaks relations<br /> Joins are inefficient<br />Transactions overhead<br />Schema is not flexible<br />
  6. 6. ACID<br /><ul><li>Atomicity
  7. 7. Consistency
  8. 8. Isolation
  9. 9. Durability</li></li></ul><li>NoSQL: Not Only SQL<br />Non-Relational<br />Distributed<br />Scaling Out Scalability<br />Schema-less/Schema-free <br />Eventual Consistency<br />
  10. 10. We need to scale!<br />
  11. 11. Replication aka RAID1<br />
  12. 12. Sharding aka RAID0<br />
  13. 13. CAP theorem (Brewer's theorem)<br />
  14. 14. ACID<br /><ul><li>Atomicity
  15. 15. Consistency
  16. 16. Isolation
  17. 17. Durability</li></ul>BASE<br /><ul><li>Basically Available
  18. 18. Soft State
  19. 19. Eventually Consistent</li></li></ul><li>NoSQL Taxonomy<br />Key Value / Tuple Store<br />Eventually Consistent Key Value Store<br />Wide Column Store / Column Families<br />Document Oriented<br />XML Databases<br />Object Databases <br />Graph Databases<br />
  20. 20. NoSQL Taxonomy<br />Key Value / Tuple Store<br />Eventually Consistent Key Value Store<br />Wide Column Store / Column Families<br />Document Oriented<br />XML Databases<br />Object Databases <br />Graph Databases<br />
  21. 21. <ul><li>Focus on scaling to huge amounts of data
  22. 22. Designed to handle massive load</li></li></ul><li>Distributed hash table<br />
  23. 23. Partitioning 1/2<br />
  24. 24. Partitioning 2/2<br />
  25. 25. Primitive API<br />CRUD<br />
  26. 26. Map/Reduce for aggregation<br />map(String filename, String document) {<br /> List<String> T = tokenize(document);<br /> for each token in T {<br /> emit ((String)token, (Integer) 1);<br /> }<br />}<br />reduce(String token, List<Integer> values) {<br /> Integer sum = 0;<br /> for each value in values {<br /> sum = sum + value;<br /> }<br /> emit ((String)token, (Integer) sum);<br />}<br />
  27. 27. MapReduceи Hadoop?<br />
  28. 28. <ul><li>Single infinitely large table
  29. 29. Each rows can have different number of columns</li></li></ul><li>Column<br />
  30. 30. SuperColumn<br />
  31. 31. ColumnFamily<br />
  32. 32. Keyspace<br />
  33. 33.
  34. 34. API<br />No standards:<br />Structure manipulation<br />Cluster administration<br />Query language<br />
  35. 35. <ul><li>Semi-structured complex documents
  36. 36. Document versioning
  37. 37. Support references between documents</li></li></ul><li>{<br /> "_id" : ObjectId("497ce96f395f2f052a494fd4"),<br /> "title" : "Awesome Blog Post",<br /> "body" : "Text text text text, text text text ...",<br /> "created": "Tue, 3 Jan 2011 11:13:56 GMT",<br /> "publishDate" : "Tue, 21 Jan 2011 20:42:47 GMT",<br /> "tags" : [ "css", "javascipt", "jquery" ],<br /> "comments" : [<br /> {<br /> "name" : "Kelly Glover"<br /> "created" : "Tue, 22 Jan 2011 2:22:32 GMT",<br /> "text" : "This is a very good ..."<br /> },<br /> {<br /> "name" : "Pat Tally"<br /> "created" : "Tue, 22 Jan 2011 4:54:41 GMT",<br /> "text" : "Thanks!",<br /> "admin" : true<br /> } ],<br /> "shortUrl" : "awesome-blog-post"<br />}<br />
  38. 38. Advances Query API<br />Find by example<br />db.stat.find({clicks: {$gt: 10} });<br />Find & sort<br />db.users.find({}).sort({name: 1});<br />Skip & limit<br />db.users.find().skip(20).limit(10);<br />
  39. 39. @a_solntsev<br />
  • alexandrszpinkowski

    Dec. 9, 2014
  • powerirs

    Oct. 12, 2011

Views

Total views

1,989

On Slideshare

0

From embeds

0

Number of embeds

508

Actions

Downloads

1

Shares

0

Comments

0

Likes

2

×