Nosql

4,029 views

Published on

Keynote for the italian nosql day, I have tried to explain the meaning of the word "nosql" through an historical path

Published in: Technology

Nosql

  1. 1. SQL gabriele lana gabriele.lana@cleancode.it twitter: @gabrielelana http://joind.in/2938
  2. 2. SQL I’am going to tell you what is this thing...
  3. 3. SQL is not about rejecting sql/relational databases
  4. 4. SQL is not about embracing non sql/ non relational databases
  5. 5. then what is this all about? let me tell you a story...
  6. 6. Hype cycle of technology peak of inflated expectationVisibility productivity disillusionment obsolescence technology trigger maturity
  7. 7. Hype cycle of technology disillusionment leads to technology triggerVisibility maturity
  8. 8. but sometimes they come backVisibility maturity
  9. 9. volume => longevity (legacy)Visibility maturity
  10. 10. new ideasare made of old ideas applied ina different context
  11. 11. an example
  12. 12. an example
  13. 13. an example
  14. 14. an example ??? probably something in between
  15. 15. All of this has happenedbefore, and it will all happen again...
  16. 16. ok, but this is thenosql day! what are you trying to say? we should startfrom the beginning...
  17. 17. dbms: the beginning business storage ui • single user • data owned by applications • custom solution
  18. 18. dbms: the beginning business storage ui • every applications needs to develop his own solution...
  19. 19. dbms: first libraries business library ui • more robust solution
  20. 20. dbms: first libraries (navigational databases) FirstNode.SecondNode.attribute attribute FirstNode attribute SecondNode
  21. 21. dbms: first libraries (navigational databases) FirstNode.SecondNode.attribute attribute FirstNode attribute SecondNode • cobol: banking • m/mumps: health care
  22. 22. dbms: first libraries (key value databases) attribute RecordKey attribute RecordKey attribute RecordKey attributedKey
  23. 23. dbms: first libraries (key value databases) attribute RecordKey attribute RecordKey attribute RecordKey • dbm: ken thompson -> QDBM -> tokyo cabinet
  24. 24. dbms: relational model rdbms business network • system-r • ingres -> application postgres application • sybase • informix application
  25. 25. dbms: relational model rdbms business network duplicated business logic application who is the application data’s owner? application
  26. 26. t ed object en r i r . o oriented lumn el co at t tim n io e d e m te value (m u nnet n rt . g/ c e al rr o i wo d) d r rk -> o ap/a d) nav (ld y i ga e tio k n al -
  27. 27. dbms: relational server business rdbms • consistency application • security • integrity application • validity application
  28. 28. dbms: relational server business rdbms relational model as a (declaratively) application programmable business logic application rise the data driven design application
  29. 29. impedance mismatch
  30. 30. contextpurpose cost of implementation
  31. 31. dbms: relational model rdbms business network duplicated business logic application who is the application data’s owner? application
  32. 32. dbms: service oriented application application application network
  33. 33. dbms: service oriented application ROA: an architectural application style where applications are responsible to deliver a service to network the network (aka users and other applications)
  34. 34. SQL is not about rejecting sql/relational databases
  35. 35. SQL is about rejecting the notion that there is one true and centralized way to store any kind of data
  36. 36. what about the future? storage for more specific data
  37. 37. what about the future? knowledge extraction
  38. 38. what about the future? “REAL” relational databases
  39. 39. Questions?

×