Sie sind hier
E-Book

NoSQL

Einstieg in die Welt nichtrelationaler Web 2.0 Datenbanken

AutorAchim Friedland, Jens Hampe et al., Stefan Edlich
VerlagCarl Hanser Fachbuchverlag
Erscheinungsjahr2011
Seitenanzahl412 Seiten
ISBN9783446428553
FormatPDF
KopierschutzWasserzeichen/DRM
GerätePC/MAC/eReader/Tablet
Preis23,99 EUR
NOSQL //
- Lernen Sie HBase, SimpleDB, CouchDB, MongoDB, Redis, Riak, Neo4J und andere NoSQL-Systeme kennen.
- 3 neue Kapitel in der 2. Auflage: Membase, OrientDB und REST im Datenbankkontext.
- Verschaffen Sie sich einen umfassenden Überblick über die aktuellen Entwicklungen in der NoSQL-Szene.
- Erfahren Sie, welche zentralen Konzepte den NoSQL-Datenbanken zugrunde liegen.
- Entscheiden Sie auf dieser Grundlage, welches der NoSQL-Systeme für Ihr Anwendungsgebiet am besten geeignet ist.

NoSQL-Datenbanken sind dabei, die Datenbankwelt zu revolutionieren. Laufend hört man von neuen NoSQL-Datenbanken, die sich jeweils für besondere Einsatzbereiche gut eignen. Dieses Buch hilft Datenbank- und Web-Entwicklern, den Überblick zu behalten und das richtige System für ihre Zwecke zu finden.
Sie lernen die Konzepte von NoSQL-Systemen kennen, die sie von den klassischen relationalen Datenbanksystemen unterscheiden. Vorgestellt und erklärt werden die theoretischen Grundlagen Map/Reduce, CAP-Theorem/Eventually Consistent, Consistent Hashing, MVCC-Protokoll, Vector Clocks, Paxos und REST.
Detailliert stellen die Autoren die wichtigsten Vertreter der vier großen NoSQL-Datenbanktypen Wide Column Stores, Document Stores, Key/Value-Datenbanken und Graphdatenbanken vor.
Damit Sie die Systeme gut vergleichen können, werden alle nach dem gleichen Schema vorgestellt. Sie erfahren, wie die Systeme aufgesetzt und skaliert werden, welche Vor- und Nachteile sie haben und für welche Anwendungsgebiete Sie sie einsetzen können. So haben Sie eine gute Grundlage für die Entscheidung, welche Datenbank in Ihrem Fall am besten geeignet ist.
Aus dem Inhalt: NoSQL - Theoretische Grundlagen, Wide Column Stores, Document Stores, Key/Value-Datenbanken, Graphdatenbanken, OrientDB, Weitere NoSQLDatenbanken, Orientierung im Datenbankraum

Kaufen Sie hier:

Horizontale Tabs

Leseprobe
8 Weitere NoSQLDatenbanken (S. 355-356)

In den vorigen Kapiteln wurde gut ein Dutzend der wichtigsten NoSQL-Datenbanken ausführlich erwähnt. Daher werden wir Ihnen in diesem Kapitel einen kurzen Überblick über die wichtigsten weiteren NoSQL-Datenbanken geben, die nachweisbar Einzug in die Industrie gefunden haben. Wie groß der Raum der NoSQL-Systeme derzeit tatsächlich ist, ist nicht zu bestimmen. Auf den wichtigsten Referenzseiten zu NoSQL wird alle paar Tage ein neues Datenbanksystem eingetragen. Weit über 100 NoSQL-Systeme sind dort bereits verzeichnet. Sicherlich sind viele von diesen Datenbanken noch jung und auch viele von kleinen Gruppen oder Einzelpersonen erstellt.

Dennoch dürften derzeit mindestens 30 bis 40 dieser Datenbanken bereits in nichttrivialen Anwendungen in der Industrie eingesetzt sein und eine Community mitbringen. Ziel dieses Kapitels ist, diese Anwendungen vorzustellen und auf Stärken und Schwächen hinzuweisen, damit Sie diese Systeme vielleicht auch in den Lösungsraum mit einbeziehen können. Wir beginnen mit dem Bereich der Wide Column Stores, in dem es derzeit noch sehr wenige Systeme gibt.

Hier fällt auch die Abgrenzung zu vielen Key/Value-Datenbanken (siehe Kapitel 3 und 5) – aufgrund der mächtigen Erweiterungen ebendieser – schwer. Aber mit Hypertable und Cloudera gibt es zwei Vertreter, die als Hadoop-Derivate in der Liga der Petabyte-Scale-Datenbanken spielen. Im folgenden Teil werden die NoSQL-Datenbanken vorgestellt, die in der ausführlichen Analyse vorher keinen Platz mehr gefunden haben, aber dennoch relevant für eine Evaluation wären. Darunter sind Systeme wie Amazon Dynamo, die die NoSQL-Welt nachhaltig geprägt haben, aber nicht Open Source sind. Oder das NoSQL-System Voldemort, welches im Vergleich zu vielen anderen Key/Value-Systemen bereits sehr oft eingesetzt wird.

8.1 Wide Column Stores

8.1.1 Hypertable


Hypertable wurde von Doug Judd gegründet und ahmt die Idee von Googles BigTable mit dem Map/Reduce-Framework beziehungsweise von Apache Hadoop nach. Da Hypertable Open Source ist, gibt es zwei Websites:

- http://www.hypertable.org
- http://www.hypertable.com


Die erste Website hostet das Open Source-Projekt selbst. Die zweite bietet kommerziellen Support auf Hypertable-Basis. Hypertable kann auf Hadoop aufsetzen und die Daten auch in das HDFS-Dateisystem speichern. Hypertable ist stark an das Googles BigTable-Modell angelehnt. Google selbst bietet damit Services wie YouTube, Blogger, Google Earth, Google Maps, Orkut und natürlich die Suchmaschine selbst an.

Dies ist also das Anwendungsfeld, das Hypertable anspricht. Hypertable wird auch von baidu.com und rediff.com eingesetzt. Ersteres ist das chinesische Äquivalent zur Suchmaschine Google und Letzteres eines der größten indischen Web-Portale. Anders als Apache Hadoop ist Hypertable in C++ geschrieben und daher um einiges schneller. Das primäre Ziel von Hypertable ist es, sehr große Datenvolumen zu verarbeiten und diese Online-Anwendungen zur Verfügung zu stellen. Die Datensätze werden in tabellenähnlicher Form zur Verfügung gestellt und über einen Primärschüssel indiziert. Gleichzeitig werden die Daten auch in dieser Primärschlüsselabfolge gespeichert, sodass Bereichsabfragen sehr effizient durchgeführt werden können.
Blick ins Buch
Inhaltsverzeichnis
Inhalt6
Geleitwort14
Vorwort16
Vorwort zur 2.Auflage18
Einführung20
1.1 Historie20
1.2 Definition und Diskussion21
1.3 Kategorisierung von NoSQL-Systemen24
1.3.1 Key/Value-Systeme26
1.3.2 Column-Family-Systeme26
1.3.3 Document Stores27
1.3.4 Graphdatenbanken27
1.4 Fazit28
NoSQL – Theoretische Grundlagen30
2.1 Map/Reduce31
2.1.1 Funktionale Ursprünge31
2.1.2 Phasen und Datenfluss36
2.1.3 Komponenten und Architektur38
2.1.4 Anwendungsbereiche und Implementierungen41
2.1.5 Praktisches Beispiel43
2.1.6 Zusammenfassung47
2.2 CAP und Eventually Consistent49
2.2.1 Konsistenzmodell relationaler Datenbanken49
2.2.2 CAP- Theorem50
2.2.3 Alternatives Konsistenzmodell: BASE52
2.3 Consistent-Hashing55
2.4 Multiversion Concurrency Control59
2.5 Vector Clocks62
2.6 Paxos66
2.7 REST70
2.7.1 Web-scale?70
2.7.2 Bausteine71
2.7.3 Entwurf von REST- Applikationen75
2.7.4 Skalierung von REST-Systemen78
2.7.5 Fazit80
Wide Column Stores82
3.1 HBase83
3.1.1 Überblick83
3.1.2 Allgemeines84
3.1.3 Datenmodell84
3.1.4 Installation86
3.1.5 CRUD-Operationen88
3.1.6 Fortgeschrittene Abfragen mit Map/Reduce93
3.1.7 Skalierung und Konfiguration96
3.1.8 Replikation98
3.1.9 Bewertung99
3.2 Cassandra101
3.2.1 Allgemeines101
3.2.2 Installation102
3.2.3 Datenmodell103
3.2.4 CRUD-Operationen107
3.2.5 Abfragen in Cassandra110
3.2.6 Replikation und Skalierung112
3.2.7 Bewertung113
3.3 Amazon SimpleDB115
3.3.1 Allgemeines116
3.3.2 Datenmodell116
3.3.3 Datensicherheit und Datenschutz117
3.3.4 Installation118
3.3.5 CRUD-Operationen119
3.3.6 Zugriff mit dem AWS Toolkit für Eclipse130
3.3.7 Replikation und Skalierung133
3.3.8 Bewertung133
Document Stores136
4.1 CouchDB137
4.1.1 Überblick137
4.1.2 Beschreibung137
4.1.3 Datenmodell138
4.1.4 View-Modell139
4.1.5 Zugriffskontrolle139
4.1.6 Installation140
4.1.7 CRUD-Operationen142
4.1.8 Erstellen von Views146
4.1.9 Replikation147
4.1.10 Skalierung148
4.1.11 CouchApps148
4.1.12 Bewertung149
4.2 MongoDB150
4.2.1 Überblick150
4.2.2 Datenmodell152
4.2.3 Installation153
4.2.4 CRUD-Operationen154
4.2.5 Fortgeschrittene Abfragen und Map/Reduce159
4.2.6 Skalierung162
4.2.7 Replikation164
4.2.8 Bewertung167
Key/Value-Datenbanken170
5.1 Redis171
5.1.1 Überblick171
5.1.2 Allgemeines171
5.1.3 Installation172
5.1.4 CRUD-Operationen173
5.1.5 Redis Hashes179
5.1.6 Redis Messaging180
5.1.7 Zugriff aus anderen Programmiersprachen181
5.1.8 Replikation und Konfiguration183
5.1.9 Skalierung185
5.1.10 Bewertung185
5.2 Chordless187
5.2.1 Überblick187
5.2.2 Allgemeines188
5.2.3 Installation189
5.2.4 CRUD-Operationen190
5.2.5 Fortgeschrittene Abfragen192
5.2.6 Skalierung, Replikation und Konfiguration195
5.2.7 Bewertung196
5.3 Riak198
5.3.1 Überblick198
5.3.2 Allgemeines198
5.3.3 Installation201
5.3.4 CRUD-Operationen201
5.3.5 Zugriff aus anderen Programmiersprachen203
5.3.6 Abfragen und Links in Riak206
5.3.7 Riak Search208
5.3.8 Skalierung, Replikation und Konfiguration209
5.3.9 Bewertung210
5.4 Membase212
5.4.1 Überblick212
5.4.2 Allgemeines212
5.4.3 Installation213
5.4.4 Architektur und Konzepte215
5.4.5 Das Memcached-Protokoll218
5.4.6 Zugriff aus anderen Programmiersprachen218
5.4.7 Skalierung und Replikation220
5.4.8 Der Moxi221
5.4.9 Die TAP-Schnittstelle222
5.4.10 Bewertung223
Graphdatenbanken226
6.1 Mathematische und technische Grundlagen228
6.1.1 Das allgemeine Graphenmodell228
6.1.2 Das Property-Graph-Modell229
6.1.3 Relationen höherer Ordnung232
6.1.4 Repräsentation von Graphen236
6.1.5 Traversierung von Graphen238
6.1.6 Indizierung von Graphdaten240
6.1.7 Skalierung mittels Replikation und Partitionierung241
6.1.8 Graph Query Languages244
6.1.9 Vergleich mit anderen Datenmodellen244
6.1.10 Zusammenfassung247
6.2 Der Tinkerpop Graph Processing Stack249
6.2.1 Blueprints250
6.2.2 Blueprints.NET253
6.2.3 Frames255
6.2.4 Pipes und Pipes.NET256
6.2.5 Gremlin259
6.2.6 Pacer263
6.2.7 Rexster263
6.3 AllegroGraph267
6.3.1 Datenmodell268
6.3.2 Installation269
6.3.3 CRUD-Operationen mit Java270
6.3.4 RDF-Reasoning und Konsistenzkriterien276
6.3.5 Bewertung278
6.4 DEX279
6.4.1 Beschreibung280
6.4.2 Datenmodell281
6.4.3 Installation281
6.4.4 CRUD-Operationen281
6.4.5 Graphoperationen283
6.4.6 DEX-Skripting284
6.4.7 DEX-Shell286
6.4.8 Bewertung287
6.5 HyperGraphDB288
6.5.1 Datenmodell288
6.5.2 Installation289
6.5.3 CRUD-Operationen290
6.5.4 Graphoperationen293
6.5.5 Peer- To-Peer-Framework293
6.5.6 Bewertung293
6.6 InfiniteGraph295
6.6.1 Beschreibung295
6.6.2 Datenmodell296
6.6.3 Installation297
6.6.4 CRUD-Operationen297
6.6.5 Graphoperationen301
6.6.6 Bewertung302
6.7 InfoGrid303
6.7.1 Beschreibung304
6.7.2 Datenmodell304
6.7.3 Installation305
6.7.4 CRUD-Operationen305
6.7.5 Models308
6.7.6 Bewertung309
6.8 Neo4j309
6.8.1 Installation310
6.8.2 CRUD-Operationen mit der Java- API311
6.8.3 CRUD-Operationen mit JRuby315
6.8.4 HTTP/REST-Schnittstelle316
6.8.5 Cypher319
6.8.6 Replikation und Skalierung320
6.8.7 Bewertung320
6.9 sones GraphDB321
6.9.1 Datenmodell322
6.9.2 Installation323
6.9.3 CRUD-Operationen323
6.9.4 Bewertung327
6.10 Weitere graphorientierte Ansätze328
6.10.1 Twitters FlockDB328
6.10.2 Google Pregel330
6.10.3 Apache Hama334
6.10.4 Microsoft Trinity336
6.10.5 Die VertexDB-Familie340
6.10.6 Filament343
OrientDB348
7.1 Überblick348
7.2 Allgemeines349
7.3 Datenmodell349
7.4 Struktur der Datenablage351
7.5 Datenbanksicherheit351
7.6 Installation352
7.7 CRUD-Operationen DocumentDB355
7.8 CRUD-Operationen ObjectDB359
7.9 CRUD-Operationen GraphDB362
7.10 Datenbankschemata366
7.11 Transaktionen366
7.12 HTTP-REST-Schnittstelle367
7.13 Replizierung370
7.14 Hosting über NuvolaBase372
7.15 Bewertung372
Weitere NoSQL-Datenbanken374
8.1 Wide Column Stores375
8.1.1 Hypertable375
8.1.2 Cloudera376
8.2 Document Stores377
8.3 Key/Value/Tupel-Stores378
8.3.1 Amazon Dynamo378
8.3.2 Dynomite und KAI379
8.3.3 Voldemort379
8.3.4 Scalaris382
8.3.5 Die Tokyo-Produktfamilie383
8.3.6 Weitere Key/Value-Systeme385
8.4 Google App Engine Storage386
8.5 Weitere ‚Soft’-NoSQL-Lösungen387
Orientierung im Datenbankraum390
9.1 Grundlegende Gedanken391
9.2 Datenanalyse392
9.3 Transaktionsmodell394
9.4 Performancesapekte395
9.5 Abfrageanforderungen396
9.6 Architektur397
9.7 Weitere nicht-funktionale Anforderungen398
9.8 Anwendungsfälle für NoSQL-Datenbanken400
9.9 Fazit401
Register404

Weitere E-Books zum Thema: Netzwerke - Clouds - Datenbanken

Sichere Netzwerkkommunikation

E-Book Sichere Netzwerkkommunikation
Grundlagen, Protokolle und Architekturen Format: PDF

Netzwerke werden in allen Bereichen der IT eingesetzt, und es gibt zahlreiche Technologien zur sicheren Netzwerkkommunikation. Doch welche der verfügbaren Techniken lassen sich kombinieren und in der…

Sichere Netzwerkkommunikation

E-Book Sichere Netzwerkkommunikation
Grundlagen, Protokolle und Architekturen Format: PDF

Netzwerke werden in allen Bereichen der IT eingesetzt, und es gibt zahlreiche Technologien zur sicheren Netzwerkkommunikation. Doch welche der verfügbaren Techniken lassen sich kombinieren und in der…

Sichere Netzwerkkommunikation

E-Book Sichere Netzwerkkommunikation
Grundlagen, Protokolle und Architekturen Format: PDF

Netzwerke werden in allen Bereichen der IT eingesetzt, und es gibt zahlreiche Technologien zur sicheren Netzwerkkommunikation. Doch welche der verfügbaren Techniken lassen sich kombinieren und in der…

Sichere Netzwerkkommunikation

E-Book Sichere Netzwerkkommunikation
Grundlagen, Protokolle und Architekturen Format: PDF

Netzwerke werden in allen Bereichen der IT eingesetzt, und es gibt zahlreiche Technologien zur sicheren Netzwerkkommunikation. Doch welche der verfügbaren Techniken lassen sich kombinieren und in der…

Microsoft ISA Server 2006

E-Book Microsoft ISA Server 2006
Leitfaden für Installation, Einrichtung und Wartung Format: PDF

Im Januar 2005 ist mein erstes Buch zum Thema ISA Server 2004 erschienen. Die Erstauflage war bereits nach wenigen Monaten ausverkauft, was offensichtlich bedeutet, dass der Bedarf nach Informationen…

Microsoft ISA Server 2006

E-Book Microsoft ISA Server 2006
Leitfaden für Installation, Einrichtung und Wartung Format: PDF

Im Januar 2005 ist mein erstes Buch zum Thema ISA Server 2004 erschienen. Die Erstauflage war bereits nach wenigen Monaten ausverkauft, was offensichtlich bedeutet, dass der Bedarf nach Informationen…

Veritas Storage Foundation®

E-Book Veritas Storage Foundation®
High End-Computing für UNIX, Design und Implementation von Hochverfügbarkeitslösungen mit VxVM und VCS Format: PDF

Hochkonzentrierter und praxisorientierter Kurs zur 'Veritas Storage Foundation': Storage Virtualisierung (Teil 1) erzeugt virtuelle Diskspeicher, die bei Kompatibilität zu ihren physischen…

Veritas Storage Foundation®

E-Book Veritas Storage Foundation®
High End-Computing für UNIX, Design und Implementation von Hochverfügbarkeitslösungen mit VxVM und VCS Format: PDF

Hochkonzentrierter und praxisorientierter Kurs zur 'Veritas Storage Foundation': Storage Virtualisierung (Teil 1) erzeugt virtuelle Diskspeicher, die bei Kompatibilität zu ihren physischen…

Veritas Storage Foundation®

E-Book Veritas Storage Foundation®
High End-Computing für UNIX, Design und Implementation von Hochverfügbarkeitslösungen mit VxVM und VCS Format: PDF

Hochkonzentrierter und praxisorientierter Kurs zur 'Veritas Storage Foundation': Storage Virtualisierung (Teil 1) erzeugt virtuelle Diskspeicher, die bei Kompatibilität zu ihren physischen…

Weitere Zeitschriften

Augenblick mal

Augenblick mal

Die Zeitschrift mit den guten Nachrichten "Augenblick mal" ist eine Zeitschrift, die in aktuellen Berichten, Interviews und Reportagen die biblische Botschaft und den christlichen Glauben ...

bank und markt

bank und markt

Zeitschrift für Banking - die führende Fachzeitschrift für den Markt und Wettbewerb der Finanzdienstleister, erscheint seit 1972 monatlich. Leitthemen Absatz und Akquise im Multichannel ...

Card Forum International

Card Forum International

Card Forum International, Magazine for Card Technologies and Applications, is a leading source for information in the field of card-based payment systems, related technologies, and required reading ...

DHS

DHS

Die Flugzeuge der NVA Neben unser F-40 Reihe, soll mit der DHS die Geschichte der "anderen" deutschen Luftwaffe, den Luftstreitkräften der Nationalen Volksarmee (NVA-LSK) der ehemaligen DDR ...

Euphorion

Euphorion

EUPHORION wurde 1894 gegründet und widmet sich als „Zeitschrift für Literaturgeschichte“ dem gesamten Fachgebiet der deutschen Philologie. Mindestens ein Heft pro Jahrgang ist für die ...