Document Databasesand Key-Value Storesa.k.a “pump it and dump it”Thursday, April 25, 13
~/$ whoamiThursday, April 25, 13
@parasquid (also in fb/github)works (here) at Mindvalleyhelps organize KLMUG with Markdid my rounds (from servers tofronte...
A MagicalHistory TourThursday, April 25, 13
Thursday, April 25, 13
two years agojoffrey was the first mongo-basedprototype Mindvalley in Mindvalleyoathkeeper was the secondgot used in produ...
Quick Review onAdvantages of NoSQL overRelational DatabasesThursday, April 25, 13
RelationalImpedance MismatchAn order, whichlooks like asingle aggregatestructure in theUI, is split intomany rows frommany...
NoSQLModel alignmentThe storage datamodel closelyresembles how theaggregate isrepresented in thedomain (especiallyin docum...
RelationalProgrammerProductivityBefore you canmodify your datamodel, you firsthave to think ofhow to tear itapart and make...
NoSQLProgrammerProductivityMost of theadjustments to thedb aretransparent; non-existent keys justreturn nilThursday, April...
Quick Recap on the differencebetween Relational and NoSQL(k-v and doc)Thursday, April 25, 13
Relational: blows up a model intosmall, constituent dataNoSQL (k-v and doc): stores andretrieves aggregatesThursday, April...
VSThursday, April 25, 13
Key-Value Stores andDocument DatabasesThursday, April 25, 13
they actually are not that muchdifferent conceptuallymostly: you store and access a key-value store via a key (but notalwa...
Thursday, April 25, 13
Thursday, April 25, 13
key-value storeaggregate isopaque to thedatabasedb doesn’t careabout thestructuredocument dbdatabaseknows thestructuredb k...
Differencekey-value storewe can storewhatever welike in the dbsame fieldnames may holddifferent typesof objectsdocument db...
I’ve never useda column db before sono comments on that :)Thursday, April 25, 13
But first, a wordabout “Schema-less”Thursday, April 25, 13
I actually prefer the term“schema-free”once you start querying data, yourdata starts to have an implicitschema“schema-free...
NoSQL shifts the schemainto the applicationcode that accesses itthis can be a good thing or a bad thingThursday, April 25,...
Sample Use-casesThursday, April 25, 13
Key-Value Storeswhen to use:session datauser preferencesshopping cart datawhen NOT to use:relationshipsamong datamulti-ope...
Document Databaseswhen to use:event loggingcontent managementsystems / bloggingplatformsweb analyticse-commercewhen NOT to...
VSThursday, April 25, 13
Conclusionuse the right tool for the right joblook at the tradeoffs and decideaccordinglyin the end, it’s a business decis...
Upcoming SlideShare
Loading in...5
×

Nosql kl-2013-04-25

266

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

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

No notes for slide

Nosql kl-2013-04-25

  1. 1. Document Databasesand Key-Value Storesa.k.a “pump it and dump it”Thursday, April 25, 13
  2. 2. ~/$ whoamiThursday, April 25, 13
  3. 3. @parasquid (also in fb/github)works (here) at Mindvalleyhelps organize KLMUG with Markdid my rounds (from servers tofrontend and back)settled in as an app developerThursday, April 25, 13
  4. 4. A MagicalHistory TourThursday, April 25, 13
  5. 5. Thursday, April 25, 13
  6. 6. two years agojoffrey was the first mongo-basedprototype Mindvalley in Mindvalleyoathkeeper was the secondgot used in productionstill in production(unfortunately)Thursday, April 25, 13
  7. 7. Quick Review onAdvantages of NoSQL overRelational DatabasesThursday, April 25, 13
  8. 8. RelationalImpedance MismatchAn order, whichlooks like asingle aggregatestructure in theUI, is split intomany rows frommany tablesThursday, April 25, 13
  9. 9. NoSQLModel alignmentThe storage datamodel closelyresembles how theaggregate isrepresented in thedomain (especiallyin documentdatabases)Thursday, April 25, 13
  10. 10. RelationalProgrammerProductivityBefore you canmodify your datamodel, you firsthave to think ofhow to tear itapart and make amigrationThursday, April 25, 13
  11. 11. NoSQLProgrammerProductivityMost of theadjustments to thedb aretransparent; non-existent keys justreturn nilThursday, April 25, 13
  12. 12. Quick Recap on the differencebetween Relational and NoSQL(k-v and doc)Thursday, April 25, 13
  13. 13. Relational: blows up a model intosmall, constituent dataNoSQL (k-v and doc): stores andretrieves aggregatesThursday, April 25, 13
  14. 14. VSThursday, April 25, 13
  15. 15. Key-Value Stores andDocument DatabasesThursday, April 25, 13
  16. 16. they actually are not that muchdifferent conceptuallymostly: you store and access a key-value store via a key (but notalways)mostly: you store and access adocument database via a query (butnot always)Thursday, April 25, 13
  17. 17. Thursday, April 25, 13
  18. 18. Thursday, April 25, 13
  19. 19. key-value storeaggregate isopaque to thedatabasedb doesn’t careabout thestructuredocument dbdatabaseknows thestructuredb knows thisfield is astring/date/integer/etcDifferenceThursday, April 25, 13
  20. 20. Differencekey-value storewe can storewhatever welike in the dbsame fieldnames may holddifferent typesof objectsdocument dbdefinesallowablestructuresand typesstructuresupportsflexibilityThursday, April 25, 13
  21. 21. I’ve never useda column db before sono comments on that :)Thursday, April 25, 13
  22. 22. But first, a wordabout “Schema-less”Thursday, April 25, 13
  23. 23. I actually prefer the term“schema-free”once you start querying data, yourdata starts to have an implicitschema“schema-free” is great for non-uniform data but you need somestructure if you want to startquerying for dataThursday, April 25, 13
  24. 24. NoSQL shifts the schemainto the applicationcode that accesses itthis can be a good thing or a bad thingThursday, April 25, 13
  25. 25. Sample Use-casesThursday, April 25, 13
  26. 26. Key-Value Storeswhen to use:session datauser preferencesshopping cart datawhen NOT to use:relationshipsamong datamulti-operationtransactionsquery by dataThursday, April 25, 13
  27. 27. Document Databaseswhen to use:event loggingcontent managementsystems / bloggingplatformsweb analyticse-commercewhen NOT to use:complextransactionsspanning differentoperationsqueries againstvarying aggregatestructureThursday, April 25, 13
  28. 28. VSThursday, April 25, 13
  29. 29. Conclusionuse the right tool for the right joblook at the tradeoffs and decideaccordinglyin the end, it’s a business decision(supported by technical capabilities)Thursday, April 25, 13
  1. A particular slide catching your eye?

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

×