Nosql kl-2013-04-25

356 views

Published on

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

  • Be the first to like this

No Downloads
Views
Total views
356
On SlideShare
0
From Embeds
0
Number of Embeds
168
Actions
Shares
0
Downloads
3
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

×