SlideShare a Scribd company logo
1 of 40
Download to read offline
SQL
              gabriele lana
 gabriele.lana@cleancode.it
     twitter: @gabrielelana
       http://joind.in/2938
SQL   I’am going to
      tell you what
          is this
        thing...
SQL
   is not about
     rejecting
  sql/relational
    databases
SQL
       is not about
        embracing
         non sql/
      non relational
        databases
then what is
  this all
  about?




  let me tell you
     a story...
Hype cycle of technology

                              peak of
                             inflated
                           expectation
Visibility




                                         productivity




                            disillusionment
                                                        obsolescence
              technology
                trigger


                                   maturity
Hype cycle of technology

                                disillusionment
                                     leads to


                                 technology
                                   trigger
Visibility




                     maturity
but sometimes they come back
Visibility




             maturity
volume => longevity (legacy)
Visibility




             maturity
new ideas
are made of
 old ideas
 applied in
a different
  context
an example
an example
an example
an example



                 ???
              probably
             something
             in between
All of this has happened
before, and it will all happen
           again...
ok, but this
    is the
nosql day!
  what are
 you trying
   to say?


  we should start
from the beginning...
dbms: the beginning




                business

                           storage
           ui




 • single user
 • data owned by applications
 • custom solution
dbms: the beginning




                business

                           storage
           ui




 • every applications needs to
  develop his own solution...
dbms: first libraries




                business

                           library
           ui




 • more robust solution
dbms: first libraries
 (navigational databases)


 FirstNode.SecondNode.attribute

                  attribute
      FirstNode




                                           attribute
                              SecondNode
dbms: first libraries
 (navigational databases)


 FirstNode.SecondNode.attribute

                  attribute
      FirstNode




                                           attribute
                              SecondNode




 • cobol: banking
 • m/mumps: health care
dbms: first libraries
                   (key value databases)




                                    attribute
                       RecordKey
                        attribute




       RecordKey




                                                            attribute
                                                RecordKey
       attribute




dKey
dbms: first libraries
   (key value databases)




                           attribute
             RecordKey
              attribute




 RecordKey




                                                   attribute
                                       RecordKey




 • dbm: ken thompson
                          -> QDBM
                          -> tokyo cabinet
dbms: relational model

   rdbms

  business

  network


                • system-r
                • ingres ->
 application         postgres
 application
                • sybase
                • informix
 application
dbms: relational model

   rdbms

  business

  network
                 duplicated
                 business
                 logic
 application
                 who is the
 application     data’s
                 owner?
 application
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 n
net




                               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




                                                                                   -
dbms: relational server
   business


              rdbms




                      •   consistency
  application         •   security
                      •   integrity
  application         •   validity

  application
dbms: relational server
   business


              rdbms



                      relational
                      model as a
                      (declaratively)
  application         programmable
                      business logic
  application
                      rise the data
                      driven design
  application
impedance mismatch
context

purpose




  cost of implementation
dbms: relational model

   rdbms

  business

  network
                 duplicated
                 business
                 logic
 application
                 who is the
 application     data’s
                 owner?
 application
dbms: service oriented


           application


  application        application




                network
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)
SQL
   is not about
     rejecting
  sql/relational
    databases
SQL   is about
     rejecting
    the notion
   that there is
   one true and
  centralized way
   to store any
   kind of data
what about the future?

             storage
             for more
              specific
               data
what about the future?

            knowledge
            extraction
what about the future?

             “REAL”
           relational
           databases
Questions?

More Related Content

Viewers also liked (11)

API Over HTTP
API Over HTTPAPI Over HTTP
API Over HTTP
 
Professional Programmer
Professional ProgrammerProfessional Programmer
Professional Programmer
 
Milano Legacy Coderetreat 2013
Milano Legacy Coderetreat 2013Milano Legacy Coderetreat 2013
Milano Legacy Coderetreat 2013
 
Agileday Coderetreat 2013
Agileday Coderetreat 2013Agileday Coderetreat 2013
Agileday Coderetreat 2013
 
Professional Programmer (3 Years Later)
Professional Programmer (3 Years Later)Professional Programmer (3 Years Later)
Professional Programmer (3 Years Later)
 
coderetreat
coderetreatcoderetreat
coderetreat
 
CouchDB Vs MongoDB
CouchDB Vs MongoDBCouchDB Vs MongoDB
CouchDB Vs MongoDB
 
Introduction to Nodejs
Introduction to NodejsIntroduction to Nodejs
Introduction to Nodejs
 
The Magic Of Elixir
The Magic Of ElixirThe Magic Of Elixir
The Magic Of Elixir
 
It is not supposed to fly but it does
It is not supposed to fly but it doesIt is not supposed to fly but it does
It is not supposed to fly but it does
 
Nodejs Explained with Examples
Nodejs Explained with ExamplesNodejs Explained with Examples
Nodejs Explained with Examples
 

Similar to Nosql

Ch3 creating application and activities
Ch3 creating application and activitiesCh3 creating application and activities
Ch3 creating application and activities
Shih-Hsiang Lin
 
Linked Open Data to support content based Recommender Systems
Linked Open Data to support content based Recommender SystemsLinked Open Data to support content based Recommender Systems
Linked Open Data to support content based Recommender Systems
Vito Ostuni
 
D Rb Silicon Valley Ruby Conference
D Rb   Silicon Valley Ruby ConferenceD Rb   Silicon Valley Ruby Conference
D Rb Silicon Valley Ruby Conference
nextlib
 
Developing e commerce-apps_oracle_and_java
Developing e commerce-apps_oracle_and_javaDeveloping e commerce-apps_oracle_and_java
Developing e commerce-apps_oracle_and_java
Pankaj Jagadale
 

Similar to Nosql (20)

Folksonomies Indexing Und Retrieval In Bibliotheken
Folksonomies Indexing Und Retrieval In BibliothekenFolksonomies Indexing Und Retrieval In Bibliotheken
Folksonomies Indexing Und Retrieval In Bibliotheken
 
Software Evolution
Software EvolutionSoftware Evolution
Software Evolution
 
Ruby for C#-ers (ScanDevConf 2010)
Ruby for C#-ers (ScanDevConf 2010)Ruby for C#-ers (ScanDevConf 2010)
Ruby for C#-ers (ScanDevConf 2010)
 
Data science in ruby, is it possible? is it fast? should we use it?
Data science in ruby, is it possible? is it fast? should we use it?Data science in ruby, is it possible? is it fast? should we use it?
Data science in ruby, is it possible? is it fast? should we use it?
 
Adding Semantics to Social Software Engineering (by Steffen Lohmann & Thomas ...
Adding Semantics to Social Software Engineering (by Steffen Lohmann & Thomas ...Adding Semantics to Social Software Engineering (by Steffen Lohmann & Thomas ...
Adding Semantics to Social Software Engineering (by Steffen Lohmann & Thomas ...
 
Ch3 creating application and activities
Ch3 creating application and activitiesCh3 creating application and activities
Ch3 creating application and activities
 
Linked Open Data to support content based Recommender Systems
Linked Open Data to support content based Recommender SystemsLinked Open Data to support content based Recommender Systems
Linked Open Data to support content based Recommender Systems
 
Linked Open Data to Support Content-based Recommender Systems - I-SEMANTIC…
Linked Open Data to Support Content-based Recommender Systems - I-SEMANTIC…Linked Open Data to Support Content-based Recommender Systems - I-SEMANTIC…
Linked Open Data to Support Content-based Recommender Systems - I-SEMANTIC…
 
escube DCRS(Digital Contents Re-Packing sale System) Introduce
escube DCRS(Digital Contents Re-Packing sale System) Introduceescube DCRS(Digital Contents Re-Packing sale System) Introduce
escube DCRS(Digital Contents Re-Packing sale System) Introduce
 
Cloud robotics
Cloud roboticsCloud robotics
Cloud robotics
 
Ruby codebases in an entropic universe
Ruby codebases in an entropic universeRuby codebases in an entropic universe
Ruby codebases in an entropic universe
 
Functional solid
Functional solidFunctional solid
Functional solid
 
D Rb Silicon Valley Ruby Conference
D Rb   Silicon Valley Ruby ConferenceD Rb   Silicon Valley Ruby Conference
D Rb Silicon Valley Ruby Conference
 
Basho and Riak at GOTO Stockholm: "Don't Use My Database."
Basho and Riak at GOTO Stockholm:  "Don't Use My Database."Basho and Riak at GOTO Stockholm:  "Don't Use My Database."
Basho and Riak at GOTO Stockholm: "Don't Use My Database."
 
Booosting marktplts nw materialen 22mei12_dirk_broer
Booosting marktplts nw materialen 22mei12_dirk_broerBooosting marktplts nw materialen 22mei12_dirk_broer
Booosting marktplts nw materialen 22mei12_dirk_broer
 
Standard Template Library
Standard Template LibraryStandard Template Library
Standard Template Library
 
Developing e commerce-apps_oracle_and_java
Developing e commerce-apps_oracle_and_javaDeveloping e commerce-apps_oracle_and_java
Developing e commerce-apps_oracle_and_java
 
JCR In Action (ApacheCon US 2009)
JCR In Action (ApacheCon US 2009)JCR In Action (ApacheCon US 2009)
JCR In Action (ApacheCon US 2009)
 
Dancing about architecture
Dancing about architectureDancing about architecture
Dancing about architecture
 
PHP Forum Paris 2012: Magic behind the numbers. Software metrics in practice
PHP Forum Paris 2012: Magic behind the numbers. Software metrics in practicePHP Forum Paris 2012: Magic behind the numbers. Software metrics in practice
PHP Forum Paris 2012: Magic behind the numbers. Software metrics in practice
 

More from Gabriele Lana (8)

Microservice Architectures
Microservice ArchitecturesMicroservice Architectures
Microservice Architectures
 
Professional Programmer 2018
Professional Programmer 2018Professional Programmer 2018
Professional Programmer 2018
 
ProgrammingKatas
ProgrammingKatasProgrammingKatas
ProgrammingKatas
 
Refactoring In Tdd The Missing Part
Refactoring In Tdd The Missing PartRefactoring In Tdd The Missing Part
Refactoring In Tdd The Missing Part
 
Erlang: the language and the platform
Erlang: the language and the platformErlang: the language and the platform
Erlang: the language and the platform
 
Resource Oriented Architectures
Resource Oriented ArchitecturesResource Oriented Architectures
Resource Oriented Architectures
 
Sustainable Agile Development
Sustainable Agile DevelopmentSustainable Agile Development
Sustainable Agile Development
 
Introduction to Erlang
Introduction to ErlangIntroduction to Erlang
Introduction to Erlang
 

Recently uploaded

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Recently uploaded (20)

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 

Nosql

  • 1. SQL gabriele lana gabriele.lana@cleancode.it twitter: @gabrielelana http://joind.in/2938
  • 2. SQL I’am going to tell you what is this thing...
  • 3. SQL is not about rejecting sql/relational databases
  • 4. SQL is not about embracing non sql/ non relational databases
  • 5. then what is this all about? let me tell you a story...
  • 6. Hype cycle of technology peak of inflated expectation Visibility productivity disillusionment obsolescence technology trigger maturity
  • 7. Hype cycle of technology disillusionment leads to technology trigger Visibility maturity
  • 8. but sometimes they come back Visibility maturity
  • 9. volume => longevity (legacy) Visibility maturity
  • 10. new ideas are made of old ideas applied in a different context
  • 14. an example ??? probably something in between
  • 15. All of this has happened before, and it will all happen again...
  • 16. ok, but this is the nosql day! what are you trying to say? we should start from the beginning...
  • 17. dbms: the beginning business storage ui • single user • data owned by applications • custom solution
  • 18. dbms: the beginning business storage ui • every applications needs to develop his own solution...
  • 19. dbms: first libraries business library ui • more robust solution
  • 20. dbms: first libraries (navigational databases) FirstNode.SecondNode.attribute attribute FirstNode attribute SecondNode
  • 21. dbms: first libraries (navigational databases) FirstNode.SecondNode.attribute attribute FirstNode attribute SecondNode • cobol: banking • m/mumps: health care
  • 22. dbms: first libraries (key value databases) attribute RecordKey attribute RecordKey attribute RecordKey attribute dKey
  • 23. dbms: first libraries (key value databases) attribute RecordKey attribute RecordKey attribute RecordKey • dbm: ken thompson -> QDBM -> tokyo cabinet
  • 24.
  • 25. dbms: relational model rdbms business network • system-r • ingres -> application postgres application • sybase • informix application
  • 26. dbms: relational model rdbms business network duplicated business logic application who is the application data’s owner? application
  • 27. 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 n net 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 -
  • 28. dbms: relational server business rdbms • consistency application • security • integrity application • validity application
  • 29. dbms: relational server business rdbms relational model as a (declaratively) application programmable business logic application rise the data driven design application
  • 31. context purpose cost of implementation
  • 32. dbms: relational model rdbms business network duplicated business logic application who is the application data’s owner? application
  • 33. dbms: service oriented application application application network
  • 34. 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)
  • 35. SQL is not about rejecting sql/relational databases
  • 36. SQL is about rejecting the notion that there is one true and centralized way to store any kind of data
  • 37. what about the future? storage for more specific data
  • 38. what about the future? knowledge extraction
  • 39. what about the future? “REAL” relational databases