SlideShare a Scribd company logo
NoSQL
An Introduction
Internet Briefing Developer Konferenz, 7/4/2010



Michael Marth
@michaelmarth | www.marth.ch

marth.software.services
“NoSQL” ???



Product?   Technology?
“NoSQL” ???



  Product?              Technology?
      persistence


Bunch of proje cts w ih share d interes t
relational     non-relational


    your requirements



Not only SQL
NoSQL Focus

data models     scalability
NoSQL Focus
                  ly?
                         shard
                al
                                 ing
              Re
                        read-
                               slave
                        vertic       s
                              al sc
                                   aling
data models      scalability
NoSQL Focus
                            what is
                                    scaling
                            1. Horizontal
                                          scale:
scalability
                              more ser
                                       vers crea
                              capacity           tes more

                           2. Trans
                                    parent t
                              applicati      o the
                                        on:
                              the busin
                                        ess logic
                             app shou              of the
                                       ld be se
                             from con           parated
                                      cerns of
                            server re            scaling
                                      sources
                        3. No sin
                                  gle point
                           no one s          of failur
                                    erver wh           e:
                          lost, cau           ich, if
                                    ses down
                          the appl            time of
                                   ication



              http://adam.blog.heroku.com/past/2009/7/6/sql_databases_dont_scale/
reme mber the
  ambrian E xplosion?
C
according to http://nosql-database.org:




                Column stores
                   Key Value / Tuple Store
                Document stores
                     Eventually Consistent
                     Key Value Store
                 Graph Databases
                  XML Databases
Column stores               Key Value / Tuple Store
                            Chordless
 Hadoop / HBase                                      Berkeley DB
                            Redis!
 Cassandra                                           MemcacheDB
                            Scalaris
 Hypertable                                          Mnesia
                            Tokyo Cabinet / Tyrant
                                                     LightCloud
                            GT.M
                                                     HamsterDB
Document stores             Scalien


Jackrabbit     Riak         Eventually Consistent
CouchDB        Terrastore
MongoDB        ThruDB       Key Value Store
Terrastore     CloudKit
                            Voldemort
                            Dynomite                           a lm
                                                                    o
                            KAI                                ope s t a l l
                                                                   n s o a re
                                                                        u rc
                                                                             e
Graph Databases               XML Databases
Neo4J                          Mark Logic Server
InfoGrid                                               Sedna
                               EMC Documentum xDB !
Sones                                                  Xindice
                               Tamino
HyperGraphDB                                           Berkeley DB XML
                               eXist
Background check
 large contributions by web
 content management system
     vendor Day (Basel)
Data Model
 stuc
     ture           mandatory fields
          d         field types

    schem
                    allowed parents
         a
                    etc.


   unst
             ruct
                    ured
                    look Ma, no schema!

              s
     schemales
1 Data First

2 Structure    Structure First
  later
     (maybe)
Data Model


                 title:

      granular   nosql
                 date:
                 20/3/2010



      binary
Data Model
                granular
                  binary

 1
     ordere d
 2
Data Model
                granular
                  binary

                 ordered

  node-level access
      control
Data Model
                granular
                  binary

                 ordered

        node-level access
            control


   versioning
The Sweet Spot
    web content




           http://www.flickr.com/photos/blentley/2951836266/
Background check
       ideas and 1st
implementations by ex-Notes
         developer
Data Model

Documents
 {                       schemaless
     “_id”: “abc”,
     “title”: “NoSQL”,   JSON
     “tags”:
     [                   binary attachments
        “data model”,
        “scalability”
     ],
     “_rev”: 1234
 }
Interface

  ODBC?
  JDBC?
  HTTP! + JSON
Interface
read
GET /somedatabase/some_doc_id?rev=946B7D1C HTTP/1.0

write
POST /somedatabase/ HTTP/1.0
Content-Length: 245
Content-Type: application/json

{
    "Subject":"I like Plankton",
    "Author":"Rusty"
}

delete
DELETE /somedatabase/some_doc?rev=1582603387 HTTP/1.0
quer y



    “No SQL”,
   remember?
meet “map-reduce”
all documents           results of map

  1             map()                    reduce()
      2                      result 1
          3
                             result 2               result of reduce

                             result 3




              parallel
example: map-reduce
                                                    {
{                                                       "total_rows":2,
    id: “abc”,                                          "offset":0,
    title: “nosql”,                                     "rows":
    type: “talk”                                        [
}                     function(doc) {                     {
                        if (doc.type == "talk") {            "id":"abc",
                          emit(doc.title, doc);              "key":"nosql",
                        }                                    "value": {id: “abc”,
{                                                              title: “nosql”, type: “talk”}
    id: “xyz”,        }
                                                          },
    title: “ajax”,                                        {
    type: “talk”                                             "id":"xyz",
}                                                            "key":"ajax",
                               map                           "value": {id: “xyz”,
                                                               title: “ajax”, type: “talk”}
                                                          }
                                                        ]
                                                    }
example: map-reduce
{
    "total_rows":2,
    "offset":0,
    "rows":
    [
      {
         "id":"abc",
         "key":"nosql",                    function (key, values, rereduce) {
         "value": {id: “abc”,                  return sum(values);
           title: “nosql”, type: “talk”}   }
      },
      {
         "id":"xyz",
         "key":"ajax",
                                                  re duce
         "value": {id: “xyz”,
           title: “ajax”, type: “talk”}
      }
    ]
}
Designed for Replication
                            t io n
            e not the excep
co nflicts ar




                 master                    master


                                              (incremental)
                                         replication on demand


                                master
Distributed Address Book




server                      desktop




                mobile
         (partial replication)
The Sweet Spot
 distributed databases with
     schemaless data




                 http://www.flickr.com/photos/blentley/2951836266/
Eric Brewer:

       CAP Theorem

Consistency            choose any 2
    Availability              application
                               trade-off
        Partition tolerance
client 1                client 2
      write                        reads consistent value




              db   replicate     db


1 transaction


                1 Partition
                2 Consistency
client 1                 client 2
write                         reads inconsistent data
                                 until replication

                                                      een
                                           time betw
        db   replicate     db                  clicks?
                                    DNS


         1 Partition
         2 Availability
Background check
first developed by Facebook
      for inbox search


  now also used by Twitter,
          Digg, ...
Data Model


k        v
     on s tero id s
Data Model
keyspace Twitter

 column family Statuses

  key   columns
  123   user_id: “abc”    text: “i can haz cheesburger”

  456   user_id: “abc”    reply-to: “123” text: “nom nom”

                                                  plus super-co lumns

 column family Users
High Lights

        datacenter aware

•   High availability

•   Eventually consistent

•   Tunable tradeoffs between consistency and latency

•   No Single Point of Failure
                   no no de in the clus ter is spec
                                                   ial
The Sweet Spot
 really large data sets,
 really high availability




                http://www.flickr.com/photos/blentley/2951836266/
I’ve seen this
    before
reme mber the
  ambrian E xplosion?
C



extinct
“Polyglot Programming”
                           Neal Ford, 2006



“Polyglot Persistence”
             Scott Leberknight , 2009
questions




      ?
@michaelmarth | www.marth.ch

More Related Content

What's hot

Migrate
MigrateMigrate
Why Spark Is the Next Top (Compute) Model
Why Spark Is the Next Top (Compute) ModelWhy Spark Is the Next Top (Compute) Model
Why Spark Is the Next Top (Compute) Model
Dean Wampler
 
A unified data modeler in the world of big data
A unified data modeler in the world of big dataA unified data modeler in the world of big data
A unified data modeler in the world of big data
William Luk
 
Scaling Big Data Mining Infrastructure Twitter Experience
Scaling Big Data Mining Infrastructure Twitter ExperienceScaling Big Data Mining Infrastructure Twitter Experience
Scaling Big Data Mining Infrastructure Twitter Experience
DataWorks Summit
 
Federated HDFS
Federated HDFSFederated HDFS
Federated HDFS
huguk
 
Mongony aug10
Mongony aug10Mongony aug10
Mongony aug10
bwmcadams
 

What's hot (6)

Migrate
MigrateMigrate
Migrate
 
Why Spark Is the Next Top (Compute) Model
Why Spark Is the Next Top (Compute) ModelWhy Spark Is the Next Top (Compute) Model
Why Spark Is the Next Top (Compute) Model
 
A unified data modeler in the world of big data
A unified data modeler in the world of big dataA unified data modeler in the world of big data
A unified data modeler in the world of big data
 
Scaling Big Data Mining Infrastructure Twitter Experience
Scaling Big Data Mining Infrastructure Twitter ExperienceScaling Big Data Mining Infrastructure Twitter Experience
Scaling Big Data Mining Infrastructure Twitter Experience
 
Federated HDFS
Federated HDFSFederated HDFS
Federated HDFS
 
Mongony aug10
Mongony aug10Mongony aug10
Mongony aug10
 

Viewers also liked

Polyglot Persistence
Polyglot PersistencePolyglot Persistence
Polyglot Persistence
Scott Leberknight
 
DeArGe Mitteilungen 3/2003
DeArGe Mitteilungen 3/2003DeArGe Mitteilungen 3/2003
Unlikeliest World Series participants since 2000
Unlikeliest World Series participants since 2000Unlikeliest World Series participants since 2000
Unlikeliest World Series participants since 2000
Amos Luis
 
25. tvc renamevasc
25. tvc renamevasc25. tvc renamevasc
25. tvc renamevasc
Erwin Chiquete, MD, PhD
 
Bonus-1-GuidetoRelaxationTherapy
Bonus-1-GuidetoRelaxationTherapyBonus-1-GuidetoRelaxationTherapy
Bonus-1-GuidetoRelaxationTherapy
Samantha Hembling
 
V-Kid Knowledge Boost (VKKB) Program Highlights
V-Kid Knowledge Boost (VKKB) Program HighlightsV-Kid Knowledge Boost (VKKB) Program Highlights
V-Kid Knowledge Boost (VKKB) Program Highlights
BV Swami
 
Pfplace presentacion
Pfplace presentacionPfplace presentacion
Pfplace presentacion
Ma. Veronica Villa
 
World Micro Portal Training Presentation
World Micro Portal Training PresentationWorld Micro Portal Training Presentation
World Micro Portal Training Presentation
Daniel McMillen
 
Guia sexual 16
Guia sexual 16Guia sexual 16
Guia sexual 16
Gianni Rivera
 
Studio 3D Portfolio
Studio 3D PortfolioStudio 3D Portfolio
Studio 3D Portfolio
EricCamper
 
Versao 33895
Versao 33895Versao 33895
Versao 33895
Plataforma CORE
 
Secuencia didactica (2)
Secuencia didactica (2)Secuencia didactica (2)
Secuencia didactica (2)
inezflorez51
 
The script
The scriptThe script
The script
mopish
 
5
55
D13.1 ARIADNE Service Design
D13.1 ARIADNE Service DesignD13.1 ARIADNE Service Design
D13.1 ARIADNE Service Design
ariadnenetwork
 
Librolactancia1
Librolactancia1Librolactancia1
Librolactancia1
Rosy Jimenez
 
Cicle urbà de l’aigua (Grup 8)
Cicle urbà de l’aigua (Grup 8)Cicle urbà de l’aigua (Grup 8)
Cicle urbà de l’aigua (Grup 8)Jon Izquierdo Pujol
 
On a Deterministic Property of the Category of k-almost Primes: A Determinist...
On a Deterministic Property of the Category of k-almost Primes: A Determinist...On a Deterministic Property of the Category of k-almost Primes: A Determinist...
On a Deterministic Property of the Category of k-almost Primes: A Determinist...
Ramin (A.) Zahedi
 
Mughal smith email
Mughal smith emailMughal smith email
Mughal smith email
MS Beauty Care
 

Viewers also liked (20)

Polyglot Persistence
Polyglot PersistencePolyglot Persistence
Polyglot Persistence
 
DeArGe Mitteilungen 3/2003
DeArGe Mitteilungen 3/2003DeArGe Mitteilungen 3/2003
DeArGe Mitteilungen 3/2003
 
Unlikeliest World Series participants since 2000
Unlikeliest World Series participants since 2000Unlikeliest World Series participants since 2000
Unlikeliest World Series participants since 2000
 
25. tvc renamevasc
25. tvc renamevasc25. tvc renamevasc
25. tvc renamevasc
 
Bonus-1-GuidetoRelaxationTherapy
Bonus-1-GuidetoRelaxationTherapyBonus-1-GuidetoRelaxationTherapy
Bonus-1-GuidetoRelaxationTherapy
 
V-Kid Knowledge Boost (VKKB) Program Highlights
V-Kid Knowledge Boost (VKKB) Program HighlightsV-Kid Knowledge Boost (VKKB) Program Highlights
V-Kid Knowledge Boost (VKKB) Program Highlights
 
Pfplace presentacion
Pfplace presentacionPfplace presentacion
Pfplace presentacion
 
World Micro Portal Training Presentation
World Micro Portal Training PresentationWorld Micro Portal Training Presentation
World Micro Portal Training Presentation
 
Guia sexual 16
Guia sexual 16Guia sexual 16
Guia sexual 16
 
Studio 3D Portfolio
Studio 3D PortfolioStudio 3D Portfolio
Studio 3D Portfolio
 
Versao 33895
Versao 33895Versao 33895
Versao 33895
 
Secuencia didactica (2)
Secuencia didactica (2)Secuencia didactica (2)
Secuencia didactica (2)
 
The script
The scriptThe script
The script
 
5
55
5
 
D13.1 ARIADNE Service Design
D13.1 ARIADNE Service DesignD13.1 ARIADNE Service Design
D13.1 ARIADNE Service Design
 
Librolactancia1
Librolactancia1Librolactancia1
Librolactancia1
 
Cicle urbà de l’aigua (Grup 8)
Cicle urbà de l’aigua (Grup 8)Cicle urbà de l’aigua (Grup 8)
Cicle urbà de l’aigua (Grup 8)
 
On a Deterministic Property of the Category of k-almost Primes: A Determinist...
On a Deterministic Property of the Category of k-almost Primes: A Determinist...On a Deterministic Property of the Category of k-almost Primes: A Determinist...
On a Deterministic Property of the Category of k-almost Primes: A Determinist...
 
Zdrowie 2.0 definicja i szanse rozwoju w Polsce i Europie - Marcin Zawisza
Zdrowie 2.0 definicja i szanse rozwoju w Polsce i Europie - Marcin ZawiszaZdrowie 2.0 definicja i szanse rozwoju w Polsce i Europie - Marcin Zawisza
Zdrowie 2.0 definicja i szanse rozwoju w Polsce i Europie - Marcin Zawisza
 
Mughal smith email
Mughal smith emailMughal smith email
Mughal smith email
 

Similar to No Sql

Navigating NoSQL in cloudy skies
Navigating NoSQL in cloudy skiesNavigating NoSQL in cloudy skies
Navigating NoSQL in cloudy skies
shnkr_rmchndrn
 
Big data vahidamiri-tabriz-13960226-datastack.ir
Big data vahidamiri-tabriz-13960226-datastack.irBig data vahidamiri-tabriz-13960226-datastack.ir
Big data vahidamiri-tabriz-13960226-datastack.ir
datastack
 
SQL and NoSQL in SQL Server
SQL and NoSQL in SQL ServerSQL and NoSQL in SQL Server
SQL and NoSQL in SQL Server
Michael Rys
 
Spring one2gx2010 spring-nonrelational_data
Spring one2gx2010 spring-nonrelational_dataSpring one2gx2010 spring-nonrelational_data
Spring one2gx2010 spring-nonrelational_data
Roger Xia
 
NoSQL: Why, When, and How
NoSQL: Why, When, and HowNoSQL: Why, When, and How
NoSQL: Why, When, and How
BigBlueHat
 
Реляционные или нереляционные (Josh Berkus)
Реляционные или нереляционные (Josh Berkus)Реляционные или нереляционные (Josh Berkus)
Реляционные или нереляционные (Josh Berkus)
Ontico
 
Microsoft Openness Mongo DB
Microsoft Openness Mongo DBMicrosoft Openness Mongo DB
Microsoft Openness Mongo DB
Heriyadi Janwar
 
NOSQL Overview, Neo4j Intro And Production Example (QCon London 2010)
NOSQL Overview, Neo4j Intro And Production Example (QCon London 2010)NOSQL Overview, Neo4j Intro And Production Example (QCon London 2010)
NOSQL Overview, Neo4j Intro And Production Example (QCon London 2010)
Emil Eifrem
 
NOSQL overview and intro to graph databases with Neo4j (Geeknight May 2010)
NOSQL overview and intro to graph databases with Neo4j (Geeknight May 2010)NOSQL overview and intro to graph databases with Neo4j (Geeknight May 2010)
NOSQL overview and intro to graph databases with Neo4j (Geeknight May 2010)
Emil Eifrem
 
NoSQL Basics and MongDB
NoSQL Basics and  MongDBNoSQL Basics and  MongDB
NoSQL Basics and MongDB
Shamima Yeasmin Mukta
 
Above the cloud: Big Data and BI
Above the cloud: Big Data and BIAbove the cloud: Big Data and BI
Above the cloud: Big Data and BI
Denny Lee
 
NO SQL: What, Why, How
NO SQL: What, Why, HowNO SQL: What, Why, How
NO SQL: What, Why, How
Igor Moochnick
 
If NoSQL is your answer, you are probably asking the wrong question.
If NoSQL is your answer, you are probably asking the wrong question.If NoSQL is your answer, you are probably asking the wrong question.
If NoSQL is your answer, you are probably asking the wrong question.
Lukas Smith
 
Eifrem neo4j
Eifrem neo4jEifrem neo4j
Eifrem neo4j
Shridhar Joshi
 
A walk down NOSQL Lane in the cloud
A walk down NOSQL Lane in the cloudA walk down NOSQL Lane in the cloud
A walk down NOSQL Lane in the cloud
siculars
 
NoSQL Data Stores in Research and Practice - ICDE 2016 Tutorial - Extended Ve...
NoSQL Data Stores in Research and Practice - ICDE 2016 Tutorial - Extended Ve...NoSQL Data Stores in Research and Practice - ICDE 2016 Tutorial - Extended Ve...
NoSQL Data Stores in Research and Practice - ICDE 2016 Tutorial - Extended Ve...
Felix Gessert
 
NoSql Databases
NoSql DatabasesNoSql Databases
NoSql Databases
Nimat Khattak
 
Nosql seminar
Nosql seminarNosql seminar
Mongodb lab
Mongodb labMongodb lab
Mongodb lab
Bas van Oudenaarde
 
Vote NO for MySQL
Vote NO for MySQLVote NO for MySQL
Vote NO for MySQL
Ulf Wendel
 

Similar to No Sql (20)

Navigating NoSQL in cloudy skies
Navigating NoSQL in cloudy skiesNavigating NoSQL in cloudy skies
Navigating NoSQL in cloudy skies
 
Big data vahidamiri-tabriz-13960226-datastack.ir
Big data vahidamiri-tabriz-13960226-datastack.irBig data vahidamiri-tabriz-13960226-datastack.ir
Big data vahidamiri-tabriz-13960226-datastack.ir
 
SQL and NoSQL in SQL Server
SQL and NoSQL in SQL ServerSQL and NoSQL in SQL Server
SQL and NoSQL in SQL Server
 
Spring one2gx2010 spring-nonrelational_data
Spring one2gx2010 spring-nonrelational_dataSpring one2gx2010 spring-nonrelational_data
Spring one2gx2010 spring-nonrelational_data
 
NoSQL: Why, When, and How
NoSQL: Why, When, and HowNoSQL: Why, When, and How
NoSQL: Why, When, and How
 
Реляционные или нереляционные (Josh Berkus)
Реляционные или нереляционные (Josh Berkus)Реляционные или нереляционные (Josh Berkus)
Реляционные или нереляционные (Josh Berkus)
 
Microsoft Openness Mongo DB
Microsoft Openness Mongo DBMicrosoft Openness Mongo DB
Microsoft Openness Mongo DB
 
NOSQL Overview, Neo4j Intro And Production Example (QCon London 2010)
NOSQL Overview, Neo4j Intro And Production Example (QCon London 2010)NOSQL Overview, Neo4j Intro And Production Example (QCon London 2010)
NOSQL Overview, Neo4j Intro And Production Example (QCon London 2010)
 
NOSQL overview and intro to graph databases with Neo4j (Geeknight May 2010)
NOSQL overview and intro to graph databases with Neo4j (Geeknight May 2010)NOSQL overview and intro to graph databases with Neo4j (Geeknight May 2010)
NOSQL overview and intro to graph databases with Neo4j (Geeknight May 2010)
 
NoSQL Basics and MongDB
NoSQL Basics and  MongDBNoSQL Basics and  MongDB
NoSQL Basics and MongDB
 
Above the cloud: Big Data and BI
Above the cloud: Big Data and BIAbove the cloud: Big Data and BI
Above the cloud: Big Data and BI
 
NO SQL: What, Why, How
NO SQL: What, Why, HowNO SQL: What, Why, How
NO SQL: What, Why, How
 
If NoSQL is your answer, you are probably asking the wrong question.
If NoSQL is your answer, you are probably asking the wrong question.If NoSQL is your answer, you are probably asking the wrong question.
If NoSQL is your answer, you are probably asking the wrong question.
 
Eifrem neo4j
Eifrem neo4jEifrem neo4j
Eifrem neo4j
 
A walk down NOSQL Lane in the cloud
A walk down NOSQL Lane in the cloudA walk down NOSQL Lane in the cloud
A walk down NOSQL Lane in the cloud
 
NoSQL Data Stores in Research and Practice - ICDE 2016 Tutorial - Extended Ve...
NoSQL Data Stores in Research and Practice - ICDE 2016 Tutorial - Extended Ve...NoSQL Data Stores in Research and Practice - ICDE 2016 Tutorial - Extended Ve...
NoSQL Data Stores in Research and Practice - ICDE 2016 Tutorial - Extended Ve...
 
NoSql Databases
NoSql DatabasesNoSql Databases
NoSql Databases
 
Nosql seminar
Nosql seminarNosql seminar
Nosql seminar
 
Mongodb lab
Mongodb labMongodb lab
Mongodb lab
 
Vote NO for MySQL
Vote NO for MySQLVote NO for MySQL
Vote NO for MySQL
 

Recently uploaded

Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
Edge AI and Vision Alliance
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
Must Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during MigrationMust Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during Migration
Mydbops
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
Javier Junquera
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
Pablo Gómez Abajo
 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving
 
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
saastr
 
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham HillinQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
LizaNolte
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
saastr
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
AstuteBusiness
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
Neo4j
 
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge GraphGraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
Neo4j
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
Antonios Katsarakis
 
Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
c5vrf27qcz
 
AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
Ajin Abraham
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
Miro Wengner
 
Essentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation ParametersEssentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation Parameters
Safe Software
 

Recently uploaded (20)

Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
Must Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during MigrationMust Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during Migration
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
 
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
 
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham HillinQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
 
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge GraphGraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
 
Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
 
AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
 
Essentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation ParametersEssentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation Parameters
 

No Sql

  • 1. NoSQL An Introduction Internet Briefing Developer Konferenz, 7/4/2010 Michael Marth @michaelmarth | www.marth.ch marth.software.services
  • 3. “NoSQL” ??? Product? Technology? persistence Bunch of proje cts w ih share d interes t
  • 4. relational non-relational your requirements Not only SQL
  • 6. NoSQL Focus ly? shard al ing Re read- slave vertic s al sc aling data models scalability
  • 7. NoSQL Focus what is scaling 1. Horizontal scale: scalability more ser vers crea capacity tes more 2. Trans parent t applicati o the on: the busin ess logic app shou of the ld be se from con parated cerns of server re scaling sources 3. No sin gle point no one s of failur erver wh e: lost, cau ich, if ses down the appl time of ication http://adam.blog.heroku.com/past/2009/7/6/sql_databases_dont_scale/
  • 8. reme mber the ambrian E xplosion? C
  • 9. according to http://nosql-database.org: Column stores Key Value / Tuple Store Document stores Eventually Consistent Key Value Store Graph Databases XML Databases
  • 10. Column stores Key Value / Tuple Store Chordless Hadoop / HBase Berkeley DB Redis! Cassandra MemcacheDB Scalaris Hypertable Mnesia Tokyo Cabinet / Tyrant LightCloud GT.M HamsterDB Document stores Scalien Jackrabbit Riak Eventually Consistent CouchDB Terrastore MongoDB ThruDB Key Value Store Terrastore CloudKit Voldemort Dynomite a lm o KAI ope s t a l l n s o a re u rc e Graph Databases XML Databases Neo4J Mark Logic Server InfoGrid Sedna EMC Documentum xDB ! Sones Xindice Tamino HyperGraphDB Berkeley DB XML eXist
  • 11.
  • 12.
  • 13. Background check large contributions by web content management system vendor Day (Basel)
  • 14. Data Model stuc ture mandatory fields d field types schem allowed parents a etc. unst ruct ured look Ma, no schema! s schemales
  • 15. 1 Data First 2 Structure Structure First later (maybe)
  • 16. Data Model title: granular nosql date: 20/3/2010 binary
  • 17. Data Model granular binary 1 ordere d 2
  • 18. Data Model granular binary ordered node-level access control
  • 19. Data Model granular binary ordered node-level access control versioning
  • 20. The Sweet Spot web content http://www.flickr.com/photos/blentley/2951836266/
  • 21.
  • 22. Background check ideas and 1st implementations by ex-Notes developer
  • 23. Data Model Documents { schemaless “_id”: “abc”, “title”: “NoSQL”, JSON “tags”: [ binary attachments “data model”, “scalability” ], “_rev”: 1234 }
  • 24. Interface ODBC? JDBC? HTTP! + JSON
  • 25. Interface read GET /somedatabase/some_doc_id?rev=946B7D1C HTTP/1.0 write POST /somedatabase/ HTTP/1.0 Content-Length: 245 Content-Type: application/json { "Subject":"I like Plankton", "Author":"Rusty" } delete DELETE /somedatabase/some_doc?rev=1582603387 HTTP/1.0
  • 26. quer y “No SQL”, remember? meet “map-reduce”
  • 27. all documents results of map 1 map() reduce() 2 result 1 3 result 2 result of reduce result 3 parallel
  • 28. example: map-reduce { { "total_rows":2, id: “abc”, "offset":0, title: “nosql”, "rows": type: “talk” [ } function(doc) { { if (doc.type == "talk") { "id":"abc", emit(doc.title, doc); "key":"nosql", } "value": {id: “abc”, { title: “nosql”, type: “talk”} id: “xyz”, } }, title: “ajax”, { type: “talk” "id":"xyz", } "key":"ajax", map "value": {id: “xyz”, title: “ajax”, type: “talk”} } ] }
  • 29. example: map-reduce { "total_rows":2, "offset":0, "rows": [ { "id":"abc", "key":"nosql", function (key, values, rereduce) { "value": {id: “abc”, return sum(values); title: “nosql”, type: “talk”} } }, { "id":"xyz", "key":"ajax", re duce "value": {id: “xyz”, title: “ajax”, type: “talk”} } ] }
  • 30. Designed for Replication t io n e not the excep co nflicts ar master master (incremental) replication on demand master
  • 31. Distributed Address Book server desktop mobile (partial replication)
  • 32. The Sweet Spot distributed databases with schemaless data http://www.flickr.com/photos/blentley/2951836266/
  • 33. Eric Brewer: CAP Theorem Consistency choose any 2 Availability application trade-off Partition tolerance
  • 34. client 1 client 2 write reads consistent value db replicate db 1 transaction 1 Partition 2 Consistency
  • 35. client 1 client 2 write reads inconsistent data until replication een time betw db replicate db clicks? DNS 1 Partition 2 Availability
  • 36.
  • 37. Background check first developed by Facebook for inbox search now also used by Twitter, Digg, ...
  • 38.
  • 39. Data Model k v on s tero id s
  • 40. Data Model keyspace Twitter column family Statuses key columns 123 user_id: “abc” text: “i can haz cheesburger” 456 user_id: “abc” reply-to: “123” text: “nom nom” plus super-co lumns column family Users
  • 41. High Lights datacenter aware • High availability • Eventually consistent • Tunable tradeoffs between consistency and latency • No Single Point of Failure no no de in the clus ter is spec ial
  • 42. The Sweet Spot really large data sets, really high availability http://www.flickr.com/photos/blentley/2951836266/
  • 44. reme mber the ambrian E xplosion? C extinct
  • 45. “Polyglot Programming” Neal Ford, 2006 “Polyglot Persistence” Scott Leberknight , 2009
  • 46. questions ? @michaelmarth | www.marth.ch