Dokumentendatenbanken in einem Big Data Environment

Sie finden zwei Arten von Dokumentendatenbanken für große Datenprojekte. Man wird oft als Repository für vollständige Dokument-Stil Inhalt beschrieben. Das andere ist ein Datenbankdokument Komponenten zur permanenten Speicherung als statische Einheit oder für dynamische Montage der Teile eines Dokuments zum Speichern. Die Struktur der Dokumente und deren Teile durch javascript Object Notation (JSON) und / oder Binary JSON (BSON) zur Verfügung gestellt.

Dokument-Datenbanken sind besonders nützlich, wenn Sie viele Berichte zu erstellen, und sie müssen dynamisch aus Elementen zusammengesetzt zu werden, die sich häufig ändern.

In seinem Kern ist JSON ein Datenaustauschformat, basierend auf einer Teilmenge der Programmiersprache javascript. Obwohl ein Teil einer Programmiersprache ist es textliche in der Natur und sehr leicht zu lesen und zu schreiben. Es hat auch den Vorteil, dass sie leicht für Computer zu verarbeiten. Zwei grundlegende Strukturen existieren in JSON, und sie werden von vielen unterstützt, wenn nicht sogar alle modernen Programmiersprachen.

Die erste grundlegende Struktur ist eine Sammlung von Name / Wert-Paare, und sie sind programmatisch dargestellt als Objekte, Aufzeichnungen, Listen eingegeben haben, und so weiter. Die zweite Grundstruktur ist eine geordnete Liste von Werten, und sie sind programmatisch als Arrays, Listen oder Sequenzen dargestellt. BSON ist eine binäre Serialisierung von JSON Strukturen entworfen, um Leistung und Skalierbarkeit zu erhöhen.

MongoDB für große Datenmengen

MongoDB ist der Projektname für die # 147-hu (Mongo) uns Datenbank # 148- System. Es gehalten wird, indem ein Unternehmen als Open-Source-10gen genannt und ist frei unter der GNU AGPL v3.0-Lizenz zur Verfügung. Kommerzielle Lizenzen mit voller Unterstützung sind von 10gen.

MongoDB ist aus Datenbanken zusammengesetzt enthält # 147-Sammlungen. # 148- Eine Sammlung besteht aus # 147-Dokumente, # 148- und jedes Dokument besteht aus Feldern. So wie in relationalen Datenbanken, können Sie Index eine Sammlung.

, Wodurch sich die Leistung der Daten Nachschlag. Im Gegensatz zu anderen Datenbanken, jedoch gibt MongoDB einen so genannten # 147-Cursor, # 148-, die auf die Daten als Zeiger dient. Dies ist eine sehr nützliche Möglichkeit, weil es die Möglichkeit des Zählens oder Klassifizieren der Daten bietet, ohne sie zu extrahieren. Nativ, MongoDB unterstützt BSON, die binäre Implementierung von JSON-Dokumente.

MongoDB ist auch ein aus Ökosystem aus den folgenden Elementen:

  • Hochverfügbarkeit und Replikationsdienste für Netzwerke in lokalen und Wide-Area-Skalierung.

  • Eine Grid-basierte Dateisystem und ermöglicht die Speicherung von großen Objekten, indem sie auf mehrere Dokumente zu teilen.

  • MapReduce zu unterstützen Analytik und Aggregation von verschiedenen Sammlungen / Dokumente.

  • Ein sharding Dienst, der eine einzige Datenbank über einen Cluster von Servern in einem einzigen oder in mehreren Rechenzentren verteilt. Der Dienst wird von einer Scherbe Schlüssel angetrieben. Der Shard-Taste wird über mehrere Instanzen Dokumente intelligent zu verteilen.

  • Ein anfragende Dienst, der Ad-hoc-Abfragen, verteilte Abfragen und Volltextsuche unterstützt.

Effektive MongoDB Implementierungen

  • High Volume-Content-Management

  • Soziales Netzwerk

  • Archivierung

  • Echtzeit-Analysen

CouchDB für große Datenmengen

Eine weitere sehr beliebte nonrelational Datenbank CouchDB. Wie MongoDB ist CouchDB Open Source. Es wird durch die gepflegt Apache Software Foundation und wird unter der Apache License v2.0 verfügbar. Im Gegensatz zu MongoDB wurde CouchDB entwickelt, um die Bahn in jeder Hinsicht zu imitieren.

Zum Beispiel ist CouchDB zu Netzwerk Aussetzer robust und wird auch weiterhin schön in Bereichen zu arbeiten, wo die Netzwerkkonnektivität pickelig ist. Es ist auch zu Hause auf einem Smartphone oder in einem Rechenzentrum. Das alles kommt mit ein paar Kompromisse. Aufgrund der zugrunde liegenden Web-Mimikry, ist CouchDB mit hoher Latenz in einer Präferenz für lokale Datenspeicherung führt.

CouchDB ist für kleinere Implementierungen nicht gut geeignet. Sie müssen entscheiden, ob diese Abwägungen können ignoriert werden, wie Sie Ihre große Daten Umsetzung beginnen.

CouchDB-Datenbanken werden von Dokumenten besteht aus Feldern und Anlagen sowie eine # 147-Beschreibung # 148- des Dokuments in Form von Metadaten, die automatisch durch das System aufrechterhalten wird. Die zugrunde liegende Technologie verfügt über alle ACID-Fähigkeiten. Der Vorteil in CouchDB über relational ist, dass die Daten verpackt und bereit für die Manipulation oder Lagerung nicht über Zeilen und Tabellen verstreut.

CouchDB ist auch ein Ökosystem mit den folgenden Funktionen:

  • Verdichtungs: Die Datenbanken werden komprimiert verschwendete Raum zu beseitigen, wenn ein gewisses Maß an Leere erreicht ist. Dies hilft, die Leistung und Effizienz für die Ausdauer.

  • Ansicht Modell: Ein Mechanismus zur Filterung, Organisation und Berichterstattung über die Daten, die eine Reihe von Definitionen verwendet, die als Dokumente in der Datenbank gespeichert sind. Sie finden eine Eins-zu-viele-Beziehung von Datenbanken zu Ansichten, so können Sie viele verschiedene Möglichkeiten der Darstellung der Daten erstellen Sie # 147-Scheiben geschnitten und in Würfel geschnitten # 148.

  • Replikation und verteilte Dienste: Dokumentenablage ist so konzipiert, bidirektionale Replikation bereitzustellen. Teilreplikate kann beibehalten werden kriterienbasierte Verteilung oder Migration auf Geräten mit begrenzter Konnektivität zu unterstützen. Native Replikation ist Peer basiert, aber Sie können Master / Slave, Master / Master, und andere Arten von Replikations Modalitäten umzusetzen.

Effektive CouchDB Implementierungen

  • High Volume-Content-Management

  • Skalierung von Smartphone bis zum Rechenzentrum

  • Anwendungen mit begrenzten oder langsamen Netzwerkkonnektivität

Menü