#NoSQL introduction20-06-2013
Relational databases1980 - now TransactionsACID propertiesIntegration mechanism?
Weak points?
http://trnl.me/decks/01.10.12_mongodb_meetup_8/#9
http://smist08.files.wordpress.com/2012/01/nosql.png
Not using relational modelRunning well on clusterOpen-sourceBuilt for the 21st century web estatesSchemaless
Aggregatedata modeling
"Aggregate is a cluster of associated objectsthat we treat as a unit for the purpose of datachanges."Eric EvansDomain driv...
{"relatie": "A", "startDatum": "2013-06-20 10:00", "eindDatum": "2013-06-21 10:00","type": {"omschrijving": "voorinspectie...
Aggregate oriented databases:● Key-value store● Document store● Column family storeAggregate ignorant databases:● Graph da...
Distribution models
ShardingReplication( Master-slave , Peer-to-peer )Sharding + replication
http://trnl.me/decks/01.10.12_mongodb_meetup_8/#24
MapReduce
Type : AantalMapVoorinspectie : 1Voorinspectie : 1Eindinspectie : 1Eindinspectie : 1="Calculate the amount of inspections ...
Voorinspectie : 1Voorinspectie : 1Eindinspectie : 1Eindinspectie : 1Voorinspectie : 2Eindinspectie : 2Reduce
Demos
Riak● Key-value store● Production support by Basho● Text, images, JSON, XMLUse cases:● Session data● User preferences● Sho...
MongoDB● Document store● Production support by 10Gen● XML, JSON, BSON● Hierarchical tree data structureUse cases:● Event l...
Cassandra● Column family store● Production support by DataStaxUse cases:● Event logging● Blogging platforms● Counters● Exp...
Neo4J● Graph database● Property graph (node, edges)● ACID properties
Use cases:● Connected data● Recommendation engines
Java frameworks● Hibernate OGM● Spring Data
NoSQL versus SQLPro:● Horizontal scalability● Stores any data● High write or read throughputCons:● Only stores data, no re...
Related work● Search engines, like ElasticSearch and Solr● Blob / Object stores, like Ceph, OpenStackSwift● Analytics, lik...
Use cases @Flusso● Common solution to store large amounts ofdocuments and images. Known issue inseveral projects.● Manage ...
Summary● Value of relational databases● Two pitfalls:○ Scalability○ Mismatch OO and relation model● NoSQL databases○ Diffe...
Questions?
Thanks!@jethrobakkerj.bakker@flusso.nl
Sources
#nosql introduction
#nosql introduction
#nosql introduction
#nosql introduction
Upcoming SlideShare
Loading in...5
×

#nosql introduction

769

Published on

Introduction to nosql

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
769
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

#nosql introduction

  1. 1. #NoSQL introduction20-06-2013
  2. 2. Relational databases1980 - now TransactionsACID propertiesIntegration mechanism?
  3. 3. Weak points?
  4. 4. http://trnl.me/decks/01.10.12_mongodb_meetup_8/#9
  5. 5. http://smist08.files.wordpress.com/2012/01/nosql.png
  6. 6. Not using relational modelRunning well on clusterOpen-sourceBuilt for the 21st century web estatesSchemaless
  7. 7. Aggregatedata modeling
  8. 8. "Aggregate is a cluster of associated objectsthat we treat as a unit for the purpose of datachanges."Eric EvansDomain driven design (2003)
  9. 9. {"relatie": "A", "startDatum": "2013-06-20 10:00", "eindDatum": "2013-06-21 10:00","type": {"omschrijving": "voorinspectie", "is_adhoc": false},"opdracht": {"omschrijving": "Voorinspectie woning 20-06-2013"},"objecten": [{"omschrijving": "woonhuis", "bouwjaar": 2000,"objecten": [{"omschrijving": "beneden verdieping"},{"omschrijving": "1e verdieping"},{"omschrijving": "2e verdieping"}]}]}
  10. 10. Aggregate oriented databases:● Key-value store● Document store● Column family storeAggregate ignorant databases:● Graph databases
  11. 11. Distribution models
  12. 12. ShardingReplication( Master-slave , Peer-to-peer )Sharding + replication
  13. 13. http://trnl.me/decks/01.10.12_mongodb_meetup_8/#24
  14. 14. MapReduce
  15. 15. Type : AantalMapVoorinspectie : 1Voorinspectie : 1Eindinspectie : 1Eindinspectie : 1="Calculate the amount of inspections per type"
  16. 16. Voorinspectie : 1Voorinspectie : 1Eindinspectie : 1Eindinspectie : 1Voorinspectie : 2Eindinspectie : 2Reduce
  17. 17. Demos
  18. 18. Riak● Key-value store● Production support by Basho● Text, images, JSON, XMLUse cases:● Session data● User preferences● Shopping cart data
  19. 19. MongoDB● Document store● Production support by 10Gen● XML, JSON, BSON● Hierarchical tree data structureUse cases:● Event logging● Blog platforms● Realtime analytics● E-commerce applications
  20. 20. Cassandra● Column family store● Production support by DataStaxUse cases:● Event logging● Blogging platforms● Counters● Expiry usage
  21. 21. Neo4J● Graph database● Property graph (node, edges)● ACID properties
  22. 22. Use cases:● Connected data● Recommendation engines
  23. 23. Java frameworks● Hibernate OGM● Spring Data
  24. 24. NoSQL versus SQLPro:● Horizontal scalability● Stores any data● High write or read throughputCons:● Only stores data, no reporting or aggregation● Eventually consistent
  25. 25. Related work● Search engines, like ElasticSearch and Solr● Blob / Object stores, like Ceph, OpenStackSwift● Analytics, like Hadoop, Storm
  26. 26. Use cases @Flusso● Common solution to store large amounts ofdocuments and images. Known issue inseveral projects.● Manage state between mobile apps andbackend in aggregate store.
  27. 27. Summary● Value of relational databases● Two pitfalls:○ Scalability○ Mismatch OO and relation model● NoSQL databases○ Different modeling○ Distribution models○ CAP instead of ACID○ 4 Types: Key-Value, Document, Column-Family,Graph● Demos
  28. 28. Questions?
  29. 29. Thanks!@jethrobakkerj.bakker@flusso.nl
  30. 30. Sources
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×