SlideShare a Scribd company logo
1 of 52
N✮SQL
                Data-Storage jenseits von SQL




                Jonathan Weiss, 20.03.2010
                Peritor GmbH


Saturday, March 20, 2010
Wer?


    Ruby-Entwickler
    Open-Source-Contributor (http://github.com/jweiss)
    @jweiss




                                                         2

Saturday, March 20, 2010
N✮SQL-Datenbanken?


    Built for the Web
    Skalierbar
    Performant
    Flexibles Datenschema




                            3

Saturday, March 20, 2010
Riak           BigTable
                    Lotus Notes                   Amazon S3
                                                    Memcached
                             Redis
                                                     Cassandra
                   MongoDB
                           Dynamo                   Dynomite
                                                    CouchDB
  Amazon SimpleDB
                                                  Excel ;)
                            Tokyo Tyrant         Neo4j
                           Project Voldemort   HBase

                                                                 4

Saturday, March 20, 2010
Der Status-Quo


    Relationale Datenstrukturen
    SQL
    Transaktionssicherheit
    Locking




                                  5

Saturday, March 20, 2010
Das Problem




                           6

Saturday, March 20, 2010
Das Problem




                           7

Saturday, March 20, 2010
Die Lösung



                    ”Simplicity is prerequisite for
                    reliability“
                    — Edsger W. Dijkstra




                                                      8

Saturday, March 20, 2010
Die Lösung




                           key => “value”



                                            9

Saturday, March 20, 2010
Dokumente




                           10

Saturday, March 20, 2010
Dokumente




                           10

Saturday, March 20, 2010
Dokumente




                           10

Saturday, March 20, 2010
Dokumente




                           10

Saturday, March 20, 2010
Integrität




                           11

Saturday, March 20, 2010
Eventual Consistency




                           12

Saturday, March 20, 2010
Append-Only




                           13

Saturday, March 20, 2010
Append-Only




                           Update




                                    14

Saturday, March 20, 2010
Append-Only




                           Update




                                    15

Saturday, March 20, 2010
Skalierbarkeit




                           16

Saturday, March 20, 2010
Tools




                           17

Saturday, March 20, 2010
Tools

                                 Riak           BigTable
                    Lotus Notes                   Amazon S3
                                                    Memcached
                             Redis
                                                     Cassandra
                   MongoDB
                           Dynamo                   Dynomite
                                                    CouchDB
  Amazon SimpleDB
                                                  Excel ;)
                            Tokyo Tyrant         Neo4j
                           Project Voldemort   HBase

                                                                 18

Saturday, March 20, 2010
Tools

                                 Riak           BigTable
                    Lotus Notes                   Amazon S3
                                                    Memcached
                             Redis
                                                     Cassandra
                   MongoDB
                           Dynamo                   Dynomite
                                                    CouchDB
  Amazon SimpleDB
                                                  Excel ;)
                            Tokyo Tyrant         Neo4j
                           Project Voldemort   HBase

                                                                 19

Saturday, March 20, 2010
Redis



    Simpler Key-Value-Store
    Speichert Strings, Listen und Sets
    Persistenz über Snapshots oder Append-Logs




                                                 20

Saturday, March 20, 2010
Redis




                           21

Saturday, March 20, 2010
Redis

        set foo 4
        1000
        +OK




                           22

Saturday, March 20, 2010
Redis

        set foo 4
                           Request
        1000
        +OK                Response




                                      22

Saturday, March 20, 2010
Scaling



    Master-Slave
     mittels Snapshots


    Multiple Master
     mittels Hash Ring




                           23

Saturday, March 20, 2010
Einsatz-Szenarien



    Persistenter Cache
    Session-Store
    Realtime-Data: Monitoring, Trading, ...
    Shared State




                                              24

Saturday, March 20, 2010
CouchDB
                                relax
                                        25

Saturday, March 20, 2010
CouchDB




    Dokument-orientiert




                           26

Saturday, March 20, 2010
”CouchDB is built of the Web“
                           — Jacob Kaplan-Moss




                                                           27

Saturday, March 20, 2010
CouchDB Document


              {
                  "_id": "BCCD12CBB",
                  "_rev": "1-AB764C",
                  "type": "person",
                  "name": "Darth Vader",
                  "age": 63,
                  "headware": ["Helmet", "Sombrero"],
                  "dark_side": true
              }

                                                        28

Saturday, March 20, 2010
CouchDB Document


              {
                  "_id": "BCCD12CBB",
                  "_rev": "1-AB764C",
                  "type": "person",
                  "name": "Darth Vader",
                  "age": 63,
                  "headware": ["Helmet", "Sombrero"],
                  "dark_side": true
              }

                                                        29

Saturday, March 20, 2010
CouchDB Document


              {
                  "_id": "BCCD12CBB",
                  "_rev": "1-AB764C",
                  "type": "person",
                  "name": "Darth Vader",
                  "age": 63,
                  "headware": ["Helmet", "Sombrero"],
                  "dark_side": true
              }

                                                        30

Saturday, March 20, 2010
CouchDB - CRUD
    Erstellen/Aktualisieren:
    PUT /starwars/BCCD12CBB


    Lesen:
    GET /starwars/BCCD12CBB


    Löschen:
    DELETE /starwars/BCCD12CBB

                                 31

Saturday, March 20, 2010
CouchDB




    Wie komme ich an meine Daten?




                                    32

Saturday, March 20, 2010
CouchDB




                           Views!


                                    33

Saturday, March 20, 2010
CouchDB


          function(doc) {
            if (doc.headware) {
              for (var hat in doc.headware) {
                emit(hat, 1);
              }
            }
          }

                                                34

Saturday, March 20, 2010
CouchDB



                  function(keys, values, rereduce) {
                    return sum(values);
                  }




                                                       35

Saturday, March 20, 2010
Libraries


    SimplyStored: Ruby wrapper         Models
                                       Associations
                                       Callbacks
                                       Validations
                                       Dynamic finder
                                       S3 attachments
                                       Paranoid delete



    http://github.com/peritor/simply_stored

                                                         36

Saturday, March 20, 2010
Libraries




                           37

Saturday, March 20, 2010
B-Tree




                           38

Saturday, March 20, 2010
Crash-Proof




                           39

Saturday, March 20, 2010
Offline by default




                           40

Saturday, March 20, 2010
Replication




                           41

Saturday, March 20, 2010
CouchDB




    POST /_replication




                           42

Saturday, March 20, 2010
Und?




    Daten sind wieder König




                              43

Saturday, March 20, 2010
Aber!




    Kein goldener Hammer




                           44

Saturday, March 20, 2010
45

Saturday, March 20, 2010
46

Saturday, March 20, 2010
Peritor




               Cloud-Management und -Deployment made easy
                           http://scalarium.com


                                                            47

Saturday, March 20, 2010
Peritor GmbH
                Blücherstr. 22, Hof III Aufgang 6
                10961 Berlin
                Tel.: +49 (0)30 69 20 09 84 0
                Fax: +49 (0)30 69 20 09 84 9
                Internet: www.peritor.com
                E-Mail: info@peritor.com



                © Peritor GmbH - Alle Rechte Vorbehalten

Saturday, March 20, 2010

More Related Content

Similar to NoSQL - Post-Relational Databases - BarCamp Ruhr3

Ruby on CouchDB - SimplyStored and RockingChair
Ruby on CouchDB - SimplyStored and RockingChairRuby on CouchDB - SimplyStored and RockingChair
Ruby on CouchDB - SimplyStored and RockingChairJonathan Weiss
 
Building real time apps with node.js, socket.io, knockout.js
Building real time apps with node.js, socket.io, knockout.jsBuilding real time apps with node.js, socket.io, knockout.js
Building real time apps with node.js, socket.io, knockout.jsbetabeers
 
MongoDB at FrozenRails
MongoDB at FrozenRailsMongoDB at FrozenRails
MongoDB at FrozenRailsMike Dirolf
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDBMike Dirolf
 
Thinking in documents
Thinking in documentsThinking in documents
Thinking in documentsCésar Rodas
 
Nick Sieger-Exploring Rails 3 Through Choices
Nick Sieger-Exploring Rails 3 Through Choices Nick Sieger-Exploring Rails 3 Through Choices
Nick Sieger-Exploring Rails 3 Through Choices ThoughtWorks
 
Scaling GIS Data in Non-relational Data Stores
Scaling GIS Data in Non-relational Data StoresScaling GIS Data in Non-relational Data Stores
Scaling GIS Data in Non-relational Data StoresMike Malone
 
Beam PHP2012 Workshops: The Cloud
Beam PHP2012 Workshops: The CloudBeam PHP2012 Workshops: The Cloud
Beam PHP2012 Workshops: The CloudJames Dunmore
 
Intro to mongodb mongouk jun2010
Intro to mongodb mongouk jun2010Intro to mongodb mongouk jun2010
Intro to mongodb mongouk jun2010Skills Matter
 
Intro to NoSQL and MongoDB
 Intro to NoSQL and MongoDB Intro to NoSQL and MongoDB
Intro to NoSQL and MongoDBMongoDB
 
Introduction to Mongo DB-open-­‐source, high-­‐performance, document-­‐orient...
Introduction to Mongo DB-open-­‐source, high-­‐performance, document-­‐orient...Introduction to Mongo DB-open-­‐source, high-­‐performance, document-­‐orient...
Introduction to Mongo DB-open-­‐source, high-­‐performance, document-­‐orient...boychatmate1
 
Chris Lea - What does NoSQL Mean for You
Chris Lea - What does NoSQL Mean for YouChris Lea - What does NoSQL Mean for You
Chris Lea - What does NoSQL Mean for YouCarsonified Team
 
AmebaPico 裏側の技術やAWSの利用について
AmebaPico 裏側の技術やAWSの利用についてAmebaPico 裏側の技術やAWSの利用について
AmebaPico 裏側の技術やAWSの利用についてKohei Morino
 

Similar to NoSQL - Post-Relational Databases - BarCamp Ruhr3 (15)

Ruby on CouchDB - SimplyStored and RockingChair
Ruby on CouchDB - SimplyStored and RockingChairRuby on CouchDB - SimplyStored and RockingChair
Ruby on CouchDB - SimplyStored and RockingChair
 
Building real time apps with node.js, socket.io, knockout.js
Building real time apps with node.js, socket.io, knockout.jsBuilding real time apps with node.js, socket.io, knockout.js
Building real time apps with node.js, socket.io, knockout.js
 
Web 2.0 Futures
Web 2.0 FuturesWeb 2.0 Futures
Web 2.0 Futures
 
MongoDB at FrozenRails
MongoDB at FrozenRailsMongoDB at FrozenRails
MongoDB at FrozenRails
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDB
 
Thinking in documents
Thinking in documentsThinking in documents
Thinking in documents
 
Nick Sieger-Exploring Rails 3 Through Choices
Nick Sieger-Exploring Rails 3 Through Choices Nick Sieger-Exploring Rails 3 Through Choices
Nick Sieger-Exploring Rails 3 Through Choices
 
noSQL @ QCon SP
noSQL @ QCon SPnoSQL @ QCon SP
noSQL @ QCon SP
 
Scaling GIS Data in Non-relational Data Stores
Scaling GIS Data in Non-relational Data StoresScaling GIS Data in Non-relational Data Stores
Scaling GIS Data in Non-relational Data Stores
 
Beam PHP2012 Workshops: The Cloud
Beam PHP2012 Workshops: The CloudBeam PHP2012 Workshops: The Cloud
Beam PHP2012 Workshops: The Cloud
 
Intro to mongodb mongouk jun2010
Intro to mongodb mongouk jun2010Intro to mongodb mongouk jun2010
Intro to mongodb mongouk jun2010
 
Intro to NoSQL and MongoDB
 Intro to NoSQL and MongoDB Intro to NoSQL and MongoDB
Intro to NoSQL and MongoDB
 
Introduction to Mongo DB-open-­‐source, high-­‐performance, document-­‐orient...
Introduction to Mongo DB-open-­‐source, high-­‐performance, document-­‐orient...Introduction to Mongo DB-open-­‐source, high-­‐performance, document-­‐orient...
Introduction to Mongo DB-open-­‐source, high-­‐performance, document-­‐orient...
 
Chris Lea - What does NoSQL Mean for You
Chris Lea - What does NoSQL Mean for YouChris Lea - What does NoSQL Mean for You
Chris Lea - What does NoSQL Mean for You
 
AmebaPico 裏側の技術やAWSの利用について
AmebaPico 裏側の技術やAWSの利用についてAmebaPico 裏側の技術やAWSの利用について
AmebaPico 裏側の技術やAWSの利用について
 

More from Jonathan Weiss

Docker on AWS OpsWorks
Docker on AWS OpsWorksDocker on AWS OpsWorks
Docker on AWS OpsWorksJonathan Weiss
 
ChefConf 2014 - AWS OpsWorks Under The Hood
ChefConf 2014 - AWS OpsWorks Under The HoodChefConf 2014 - AWS OpsWorks Under The Hood
ChefConf 2014 - AWS OpsWorks Under The HoodJonathan Weiss
 
AWS OpsWorks & Chef at the Hamburg Chef User Group 2014
AWS OpsWorks & Chef at the Hamburg Chef User Group 2014AWS OpsWorks & Chef at the Hamburg Chef User Group 2014
AWS OpsWorks & Chef at the Hamburg Chef User Group 2014Jonathan Weiss
 
DevOpsDays Amsterdam - Observations in the cloud
DevOpsDays Amsterdam - Observations in the cloudDevOpsDays Amsterdam - Observations in the cloud
DevOpsDays Amsterdam - Observations in the cloudJonathan Weiss
 
Introduction to Backbone.js
Introduction to Backbone.jsIntroduction to Backbone.js
Introduction to Backbone.jsJonathan Weiss
 
Build your own clouds with Chef and MCollective
Build your own clouds with Chef and MCollectiveBuild your own clouds with Chef and MCollective
Build your own clouds with Chef and MCollectiveJonathan Weiss
 
NoSQL - An introduction to CouchDB
NoSQL - An introduction to CouchDBNoSQL - An introduction to CouchDB
NoSQL - An introduction to CouchDBJonathan Weiss
 
Amazon EC2 in der Praxis
Amazon EC2 in der PraxisAmazon EC2 in der Praxis
Amazon EC2 in der PraxisJonathan Weiss
 
Infrastructure Automation with Chef
Infrastructure Automation with ChefInfrastructure Automation with Chef
Infrastructure Automation with ChefJonathan Weiss
 
Rails in the Cloud - Experiences from running on EC2
Rails in the Cloud - Experiences from running on EC2Rails in the Cloud - Experiences from running on EC2
Rails in the Cloud - Experiences from running on EC2Jonathan Weiss
 
CouchDB on Rails - RailsWayCon 2010
CouchDB on Rails - RailsWayCon 2010CouchDB on Rails - RailsWayCon 2010
CouchDB on Rails - RailsWayCon 2010Jonathan Weiss
 
CouchDB on Rails - FrozenRails 2010
CouchDB on Rails - FrozenRails 2010CouchDB on Rails - FrozenRails 2010
CouchDB on Rails - FrozenRails 2010Jonathan Weiss
 
BarCamp Nürnberg - Infrastructure As A Service
BarCamp Nürnberg - Infrastructure As A ServiceBarCamp Nürnberg - Infrastructure As A Service
BarCamp Nürnberg - Infrastructure As A ServiceJonathan Weiss
 
Refactoring Rails Applications
Refactoring Rails ApplicationsRefactoring Rails Applications
Refactoring Rails ApplicationsJonathan Weiss
 
Cloud Computing In Der Praxis
Cloud Computing In Der PraxisCloud Computing In Der Praxis
Cloud Computing In Der PraxisJonathan Weiss
 

More from Jonathan Weiss (20)

Docker on AWS OpsWorks
Docker on AWS OpsWorksDocker on AWS OpsWorks
Docker on AWS OpsWorks
 
ChefConf 2014 - AWS OpsWorks Under The Hood
ChefConf 2014 - AWS OpsWorks Under The HoodChefConf 2014 - AWS OpsWorks Under The Hood
ChefConf 2014 - AWS OpsWorks Under The Hood
 
AWS OpsWorks & Chef at the Hamburg Chef User Group 2014
AWS OpsWorks & Chef at the Hamburg Chef User Group 2014AWS OpsWorks & Chef at the Hamburg Chef User Group 2014
AWS OpsWorks & Chef at the Hamburg Chef User Group 2014
 
DevOpsDays Amsterdam - Observations in the cloud
DevOpsDays Amsterdam - Observations in the cloudDevOpsDays Amsterdam - Observations in the cloud
DevOpsDays Amsterdam - Observations in the cloud
 
Amazon SWF and Gordon
Amazon SWF and GordonAmazon SWF and Gordon
Amazon SWF and Gordon
 
Introduction to Backbone.js
Introduction to Backbone.jsIntroduction to Backbone.js
Introduction to Backbone.js
 
Scalarium and CouchDB
Scalarium and CouchDBScalarium and CouchDB
Scalarium and CouchDB
 
Build your own clouds with Chef and MCollective
Build your own clouds with Chef and MCollectiveBuild your own clouds with Chef and MCollective
Build your own clouds with Chef and MCollective
 
NoSQL - An introduction to CouchDB
NoSQL - An introduction to CouchDBNoSQL - An introduction to CouchDB
NoSQL - An introduction to CouchDB
 
Amazon EC2 in der Praxis
Amazon EC2 in der PraxisAmazon EC2 in der Praxis
Amazon EC2 in der Praxis
 
Infrastructure Automation with Chef
Infrastructure Automation with ChefInfrastructure Automation with Chef
Infrastructure Automation with Chef
 
CouchDB on Rails
CouchDB on RailsCouchDB on Rails
CouchDB on Rails
 
Rails in the Cloud - Experiences from running on EC2
Rails in the Cloud - Experiences from running on EC2Rails in the Cloud - Experiences from running on EC2
Rails in the Cloud - Experiences from running on EC2
 
CouchDB on Rails - RailsWayCon 2010
CouchDB on Rails - RailsWayCon 2010CouchDB on Rails - RailsWayCon 2010
CouchDB on Rails - RailsWayCon 2010
 
CouchDB on Rails - FrozenRails 2010
CouchDB on Rails - FrozenRails 2010CouchDB on Rails - FrozenRails 2010
CouchDB on Rails - FrozenRails 2010
 
BarCamp Nürnberg - Infrastructure As A Service
BarCamp Nürnberg - Infrastructure As A ServiceBarCamp Nürnberg - Infrastructure As A Service
BarCamp Nürnberg - Infrastructure As A Service
 
Rails Security
Rails SecurityRails Security
Rails Security
 
Scaling Rails
Scaling RailsScaling Rails
Scaling Rails
 
Refactoring Rails Applications
Refactoring Rails ApplicationsRefactoring Rails Applications
Refactoring Rails Applications
 
Cloud Computing In Der Praxis
Cloud Computing In Der PraxisCloud Computing In Der Praxis
Cloud Computing In Der Praxis
 

Recently uploaded

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 

Recently uploaded (20)

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 

NoSQL - Post-Relational Databases - BarCamp Ruhr3

  • 1. N✮SQL Data-Storage jenseits von SQL Jonathan Weiss, 20.03.2010 Peritor GmbH Saturday, March 20, 2010
  • 2. Wer? Ruby-Entwickler Open-Source-Contributor (http://github.com/jweiss) @jweiss 2 Saturday, March 20, 2010
  • 3. N✮SQL-Datenbanken? Built for the Web Skalierbar Performant Flexibles Datenschema 3 Saturday, March 20, 2010
  • 4. Riak BigTable Lotus Notes Amazon S3 Memcached Redis Cassandra MongoDB Dynamo Dynomite CouchDB Amazon SimpleDB Excel ;) Tokyo Tyrant Neo4j Project Voldemort HBase 4 Saturday, March 20, 2010
  • 5. Der Status-Quo Relationale Datenstrukturen SQL Transaktionssicherheit Locking 5 Saturday, March 20, 2010
  • 6. Das Problem 6 Saturday, March 20, 2010
  • 7. Das Problem 7 Saturday, March 20, 2010
  • 8. Die Lösung ”Simplicity is prerequisite for reliability“ — Edsger W. Dijkstra 8 Saturday, March 20, 2010
  • 9. Die Lösung key => “value” 9 Saturday, March 20, 2010
  • 10. Dokumente 10 Saturday, March 20, 2010
  • 11. Dokumente 10 Saturday, March 20, 2010
  • 12. Dokumente 10 Saturday, March 20, 2010
  • 13. Dokumente 10 Saturday, March 20, 2010
  • 14. Integrität 11 Saturday, March 20, 2010
  • 15. Eventual Consistency 12 Saturday, March 20, 2010
  • 16. Append-Only 13 Saturday, March 20, 2010
  • 17. Append-Only Update 14 Saturday, March 20, 2010
  • 18. Append-Only Update 15 Saturday, March 20, 2010
  • 19. Skalierbarkeit 16 Saturday, March 20, 2010
  • 20. Tools 17 Saturday, March 20, 2010
  • 21. Tools Riak BigTable Lotus Notes Amazon S3 Memcached Redis Cassandra MongoDB Dynamo Dynomite CouchDB Amazon SimpleDB Excel ;) Tokyo Tyrant Neo4j Project Voldemort HBase 18 Saturday, March 20, 2010
  • 22. Tools Riak BigTable Lotus Notes Amazon S3 Memcached Redis Cassandra MongoDB Dynamo Dynomite CouchDB Amazon SimpleDB Excel ;) Tokyo Tyrant Neo4j Project Voldemort HBase 19 Saturday, March 20, 2010
  • 23. Redis Simpler Key-Value-Store Speichert Strings, Listen und Sets Persistenz über Snapshots oder Append-Logs 20 Saturday, March 20, 2010
  • 24. Redis 21 Saturday, March 20, 2010
  • 25. Redis set foo 4 1000 +OK 22 Saturday, March 20, 2010
  • 26. Redis set foo 4 Request 1000 +OK Response 22 Saturday, March 20, 2010
  • 27. Scaling Master-Slave mittels Snapshots Multiple Master mittels Hash Ring 23 Saturday, March 20, 2010
  • 28. Einsatz-Szenarien Persistenter Cache Session-Store Realtime-Data: Monitoring, Trading, ... Shared State 24 Saturday, March 20, 2010
  • 29. CouchDB relax 25 Saturday, March 20, 2010
  • 30. CouchDB Dokument-orientiert 26 Saturday, March 20, 2010
  • 31. ”CouchDB is built of the Web“ — Jacob Kaplan-Moss 27 Saturday, March 20, 2010
  • 32. CouchDB Document { "_id": "BCCD12CBB", "_rev": "1-AB764C", "type": "person", "name": "Darth Vader", "age": 63, "headware": ["Helmet", "Sombrero"], "dark_side": true } 28 Saturday, March 20, 2010
  • 33. CouchDB Document { "_id": "BCCD12CBB", "_rev": "1-AB764C", "type": "person", "name": "Darth Vader", "age": 63, "headware": ["Helmet", "Sombrero"], "dark_side": true } 29 Saturday, March 20, 2010
  • 34. CouchDB Document { "_id": "BCCD12CBB", "_rev": "1-AB764C", "type": "person", "name": "Darth Vader", "age": 63, "headware": ["Helmet", "Sombrero"], "dark_side": true } 30 Saturday, March 20, 2010
  • 35. CouchDB - CRUD Erstellen/Aktualisieren: PUT /starwars/BCCD12CBB Lesen: GET /starwars/BCCD12CBB Löschen: DELETE /starwars/BCCD12CBB 31 Saturday, March 20, 2010
  • 36. CouchDB Wie komme ich an meine Daten? 32 Saturday, March 20, 2010
  • 37. CouchDB Views! 33 Saturday, March 20, 2010
  • 38. CouchDB function(doc) { if (doc.headware) { for (var hat in doc.headware) { emit(hat, 1); } } } 34 Saturday, March 20, 2010
  • 39. CouchDB function(keys, values, rereduce) { return sum(values); } 35 Saturday, March 20, 2010
  • 40. Libraries SimplyStored: Ruby wrapper Models Associations Callbacks Validations Dynamic finder S3 attachments Paranoid delete http://github.com/peritor/simply_stored 36 Saturday, March 20, 2010
  • 41. Libraries 37 Saturday, March 20, 2010
  • 42. B-Tree 38 Saturday, March 20, 2010
  • 43. Crash-Proof 39 Saturday, March 20, 2010
  • 44. Offline by default 40 Saturday, March 20, 2010
  • 45. Replication 41 Saturday, March 20, 2010
  • 46. CouchDB POST /_replication 42 Saturday, March 20, 2010
  • 47. Und? Daten sind wieder König 43 Saturday, March 20, 2010
  • 48. Aber! Kein goldener Hammer 44 Saturday, March 20, 2010
  • 51. Peritor Cloud-Management und -Deployment made easy http://scalarium.com 47 Saturday, March 20, 2010
  • 52. Peritor GmbH Blücherstr. 22, Hof III Aufgang 6 10961 Berlin Tel.: +49 (0)30 69 20 09 84 0 Fax: +49 (0)30 69 20 09 84 9 Internet: www.peritor.com E-Mail: info@peritor.com © Peritor GmbH - Alle Rechte Vorbehalten Saturday, March 20, 2010