Download - NoSQL - Der neue Königsweg für Datenbanken?
![Page 1: NoSQL - Der neue Königsweg für Datenbanken?](https://reader038.vdocuments.site/reader038/viewer/2022110118/55512b7bb4c905b3598b4b39/html5/thumbnails/1.jpg)
Berlin, 23. Mai 2012
NoSQL
Der neue Königswegfür Datenbanken?
![Page 2: NoSQL - Der neue Königsweg für Datenbanken?](https://reader038.vdocuments.site/reader038/viewer/2022110118/55512b7bb4c905b3598b4b39/html5/thumbnails/2.jpg)
http://twitter.com/thomas_witt
Thomas Witt
@thomas_witt
![Page 3: NoSQL - Der neue Königsweg für Datenbanken?](https://reader038.vdocuments.site/reader038/viewer/2022110118/55512b7bb4c905b3598b4b39/html5/thumbnails/3.jpg)
Great Websites run InfoparkGegründet 1994 in Berlin
CMS und WebCRM in der Cloud
Cloud-Plattform für dynamische Web-Sites
![Page 4: NoSQL - Der neue Königsweg für Datenbanken?](https://reader038.vdocuments.site/reader038/viewer/2022110118/55512b7bb4c905b3598b4b39/html5/thumbnails/4.jpg)
NoSQL
![Page 5: NoSQL - Der neue Königsweg für Datenbanken?](https://reader038.vdocuments.site/reader038/viewer/2022110118/55512b7bb4c905b3598b4b39/html5/thumbnails/5.jpg)
Say NO to SQL?
![Page 6: NoSQL - Der neue Königsweg für Datenbanken?](https://reader038.vdocuments.site/reader038/viewer/2022110118/55512b7bb4c905b3598b4b39/html5/thumbnails/6.jpg)
NoSQL=
Not Only SQL
![Page 7: NoSQL - Der neue Königsweg für Datenbanken?](https://reader038.vdocuments.site/reader038/viewer/2022110118/55512b7bb4c905b3598b4b39/html5/thumbnails/7.jpg)
Trends
![Page 8: NoSQL - Der neue Königsweg für Datenbanken?](https://reader038.vdocuments.site/reader038/viewer/2022110118/55512b7bb4c905b3598b4b39/html5/thumbnails/8.jpg)
Trend #1: Big Data
0
200
400
600
800
1000
2006 2007 2008 2009 2010
988
623
397
253
161
ExaBytes of data stored per year
![Page 9: NoSQL - Der neue Königsweg für Datenbanken?](https://reader038.vdocuments.site/reader038/viewer/2022110118/55512b7bb4c905b3598b4b39/html5/thumbnails/9.jpg)
Trend #2: Semistrukturierte Daten
Daten werden immer komplexer• Nicht alles läßt sich in ein Schema
pressen
Daten werden individueller• Mehr unterschiedliche und nicht
vorhersehbare Daten müssen gespeichert werden
Zusätzliche Beschleunigt durch dezentral erstellte Daten• Web 2.0
![Page 10: NoSQL - Der neue Königsweg für Datenbanken?](https://reader038.vdocuments.site/reader038/viewer/2022110118/55512b7bb4c905b3598b4b39/html5/thumbnails/10.jpg)
Trend #3: Architektur
Applikation
Datenbank
![Page 11: NoSQL - Der neue Königsweg für Datenbanken?](https://reader038.vdocuments.site/reader038/viewer/2022110118/55512b7bb4c905b3598b4b39/html5/thumbnails/11.jpg)
Trend #3: Architektur
Applikation
Datenbank
Applikation Applikation
![Page 12: NoSQL - Der neue Königsweg für Datenbanken?](https://reader038.vdocuments.site/reader038/viewer/2022110118/55512b7bb4c905b3598b4b39/html5/thumbnails/12.jpg)
Trend #3: Architektur
Applikation
Datenbank
Applikation Applikation
Datenbank Datenbank
![Page 13: NoSQL - Der neue Königsweg für Datenbanken?](https://reader038.vdocuments.site/reader038/viewer/2022110118/55512b7bb4c905b3598b4b39/html5/thumbnails/13.jpg)
Aktuelle Trends
Große Datenmengen• ständig wachsend• verteile Erstellung
Semistrukturierte Daten• Keine festen Schemata• Evolution der Daten
Architektur• Trend zu verteilten Systemen• Cloud
![Page 14: NoSQL - Der neue Königsweg für Datenbanken?](https://reader038.vdocuments.site/reader038/viewer/2022110118/55512b7bb4c905b3598b4b39/html5/thumbnails/14.jpg)
Probleme mit klassischen RDBMS
Mangelnde Skalierbarkeit
Single point of failure
Verteilte Systeme / Cluster
Strikte Schemata / komplexe Migration
Wiederherstellungszeiten
![Page 15: NoSQL - Der neue Königsweg für Datenbanken?](https://reader038.vdocuments.site/reader038/viewer/2022110118/55512b7bb4c905b3598b4b39/html5/thumbnails/15.jpg)
Probleme durch ACID
Atomicity• Alles oder nichts
Consistency• Referential Integrity
Isolation• Keine Transaktion darf eine andere
Transaktion beeinflussen
Durability• Wiederherstellung von bestätigen
Transaktionen im Desaster-Fall
ACID skaliert nicht
![Page 16: NoSQL - Der neue Königsweg für Datenbanken?](https://reader038.vdocuments.site/reader038/viewer/2022110118/55512b7bb4c905b3598b4b39/html5/thumbnails/16.jpg)
“Of three properties - data consistency, system availability and tolerance to network partitions - only two can be achieved at the same time.– Eric Brewer
![Page 17: NoSQL - Der neue Königsweg für Datenbanken?](https://reader038.vdocuments.site/reader038/viewer/2022110118/55512b7bb4c905b3598b4b39/html5/thumbnails/17.jpg)
Kudos to http://blog.nahurst.com/visual-guide-to-nosql-systems
Comparision
A
C P
Availability: Each client can always read and write
Consistency: All clients always get
the same data
Partition Tolerance: System works despite
network splits
Pick Two
RelationalKey-valueColumn-oriented/TabularDocument-oriented
DynamoDBCassandraSimpleDBCouchDBRiak
RDBMS(MySQL, Oracle, …)
MongoDB,Redis,Bigtable
![Page 18: NoSQL - Der neue Königsweg für Datenbanken?](https://reader038.vdocuments.site/reader038/viewer/2022110118/55512b7bb4c905b3598b4b39/html5/thumbnails/18.jpg)
Erste Vorteile durch CAP bei NoSQL …
Skalierbarkeit• Beliebiges Hinzufügen weiterer
Nodes zum Datenbank-Cluster
Verfügbarkeit• Das Ausscheiden einer Node
berührt die Verfügbarkeit der DB nicht.
Elastizität• Durch Verteilung der Daten auf
mehrere Nodes wird parallel eine höhere Performance erreicht.
![Page 19: NoSQL - Der neue Königsweg für Datenbanken?](https://reader038.vdocuments.site/reader038/viewer/2022110118/55512b7bb4c905b3598b4b39/html5/thumbnails/19.jpg)
Arten von NoSQL-Datenbanken
Key-Value-Stores• Key-Value-Lookups• DynamoDB, Riak, Voldemort
Column Families• Jeder Schlüssel assoziiert mit
mehreren Attributen (Columns)• BigTable, Cassandra
Document Database• Semistrukturierter Dokumente • CouchDB, MongoDB
Graph DBs• Verbindungen zwischen Objekten• Neo4j
![Page 20: NoSQL - Der neue Königsweg für Datenbanken?](https://reader038.vdocuments.site/reader038/viewer/2022110118/55512b7bb4c905b3598b4b39/html5/thumbnails/20.jpg)
![Page 21: NoSQL - Der neue Königsweg für Datenbanken?](https://reader038.vdocuments.site/reader038/viewer/2022110118/55512b7bb4c905b3598b4b39/html5/thumbnails/21.jpg)
Unterschied: Queries
Keine Relationen• keine Konsistenz untereinander
Keine AdHoc-Queries• außer Keys/vorberechnete Daten
Keine Konsistenz• Eventual Consistency
Ein Schritt zurück?
Scalability, availability and resilience come at a cost
Erfordert andere Programmiertechniken
![Page 22: NoSQL - Der neue Königsweg für Datenbanken?](https://reader038.vdocuments.site/reader038/viewer/2022110118/55512b7bb4c905b3598b4b39/html5/thumbnails/22.jpg)
Kurze und vorhersagbare Antwortzeiten
Skalierbarkeit bei geringen Kosten
Hohe Verfügbarkeit
Flexible Schemata für semistrukturierte Daten
Schemaänderungen
Verteilung auf mehrere Rechenzentren
WebApps haben andere Anforderungen, für die RDBMS nicht designed sind …
![Page 23: NoSQL - Der neue Königsweg für Datenbanken?](https://reader038.vdocuments.site/reader038/viewer/2022110118/55512b7bb4c905b3598b4b39/html5/thumbnails/23.jpg)
WebApps brauchen nicht unbedingt …
Transaktionen
Strikte Datenkonsistenz
Komplexe Abfragen
![Page 24: NoSQL - Der neue Königsweg für Datenbanken?](https://reader038.vdocuments.site/reader038/viewer/2022110118/55512b7bb4c905b3598b4b39/html5/thumbnails/24.jpg)
WebApps eigenen sich oft besonders
für NoSQL-DBs.
![Page 25: NoSQL - Der neue Königsweg für Datenbanken?](https://reader038.vdocuments.site/reader038/viewer/2022110118/55512b7bb4c905b3598b4b39/html5/thumbnails/25.jpg)
NoSQL - So many choices …
MongoDB
Riak
CouchDB
BigCouch
Redis
Cassandra
DynamoDB
…
![Page 26: NoSQL - Der neue Königsweg für Datenbanken?](https://reader038.vdocuments.site/reader038/viewer/2022110118/55512b7bb4c905b3598b4b39/html5/thumbnails/26.jpg)
Our History
Wir starteten mit BigCouch
Switch zu CouchDB
Erwägten Riak
… und nutzen nun DynamoDB
![Page 27: NoSQL - Der neue Königsweg für Datenbanken?](https://reader038.vdocuments.site/reader038/viewer/2022110118/55512b7bb4c905b3598b4b39/html5/thumbnails/27.jpg)
Management-Intense
Except DynamoDB, they are all very …
![Page 28: NoSQL - Der neue Königsweg für Datenbanken?](https://reader038.vdocuments.site/reader038/viewer/2022110118/55512b7bb4c905b3598b4b39/html5/thumbnails/28.jpg)
“
http://highscalability.com/blog/2012/1/24/the-state-of-nosql-in-2012.html
Any system that you pick will require 24-7 operational support. If it is not hosted (e.g. by AWS), be prepared to hire a fleet of ops folks to support it yourself. If you don’t have the manpower, I recommend AWS' DynamoDB.
– Siddharth Anand, LinkedIn
![Page 29: NoSQL - Der neue Königsweg für Datenbanken?](https://reader038.vdocuments.site/reader038/viewer/2022110118/55512b7bb4c905b3598b4b39/html5/thumbnails/29.jpg)
NoSQL Vor- und Nachteile
Vorteile
Hohe Skalierbarkeit
Hohe Verfügbarkeit
Geringe Kosten
Vorhersagbare Elastizität
Flexible Schemata
Alle NoSQL-Datenbanken outperformen RDBMS• … in ihrem Bereich
Nachteile
Beschränkte Query-Möglichkeiten• Know what you gonny query
Eventual Consistency• Nicht intuitiv• Verlagert mehr Logik in die
Applikation
Kein Standard• a la SQL
![Page 30: NoSQL - Der neue Königsweg für Datenbanken?](https://reader038.vdocuments.site/reader038/viewer/2022110118/55512b7bb4c905b3598b4b39/html5/thumbnails/30.jpg)
Infopark AG • Kitzingstraße 15 • D-12277 Berlin • www.infopark.de • [email protected]
Thomas Witt
Vielen Dank!
Director Product & Business Development