NoSQL-Datenspeicher im Vergleich zu Hadoop

NoSQL-Datenspeicher ursprünglich auf den Begriff abonniert # 147-Just Say No to SQL # 148- (paraphrasieren von einer Anti-Drogen-Werbekampagne in den 1980er Jahren), und sie waren eine Reaktion auf die empfundenen Grenzen (SQL-basierten) relationalen Datenbanken. Es ist nicht, dass diese Leute gehasst SQL, aber sie waren müde zwingen Quadrat Pflöcke in runde Löcher von Problemen, die relationalen Datenbanken wurden nicht darauf ausgelegt, für die Lösung.

Eine relationale Datenbank ist ein mächtiges Werkzeug, aber für einige Arten von Daten (wie Schlüssel-Wert-Paare oder Grafiken) und einige Verwendungsmuster (wie extrem groß angelegte Speicher) eine relationale Datenbank ist einfach nicht praktikabel. Und wenn es darum geht, High-Volume-Speicher können relationale Datenbank teuer sein, sowohl in Bezug auf Datenbanklizenzkosten und Hardwarekosten. (Relationale Datenbanken sind so konzipiert, mit der Enterprise-Klasse-Hardware zu arbeiten.)

Also, mit der NoSQL-Bewegung, kreative Programmierer entwickelt Dutzende von Lösungen für verschiedene Arten von dornigen Datenspeicherung und Verarbeitung Probleme. Diese NoSQL-Datenbanken bieten in der Regel eine hohe Skalierbarkeit durch Clustering und werden oft entwickelt, um einen hohen Durchsatz und niedrige Latenzzeiten ermöglichen.

Der Name NoSQL ist etwas irreführend, weil viele Datenbanken, die die Kategorie passen machen haben SQL-Unterstützung (statt # 147-NoSQL # 148- Unterstützung). Denken Sie an seinen Namen statt als # 147-Nicht nur SQL # 148.

Die NoSQL-Angebote verfügbar heute lassen sich in vier verschiedene Kategorien unterteilt werden, basierend auf deren Gestaltung und Zweck:

  • Key-Wertspeicher: Dieses Angebot bietet eine Möglichkeit, jede Art von Daten zu speichern, ohne ein Schema zu verwenden. Dies steht im Gegensatz zu relationalen Datenbanken, in denen Sie das Schema (die Tabellenstruktur) zu definieren, bevor alle Daten eingefügt wird. Da Schlüssel-Wert speichert keine Schema benötigen, haben Sie eine große Flexibilität zum Speichern von Daten in vielen Formaten.

    In einem Schlüssel-Wert-Speicher, besteht eine Reihe einfach eines Schlüssels (eine Kennung) und einem Wert, der etwas von einem ganzzahligen Wert auf eine große binäre Datenfolge sein kann. Viele Implementierungen von Schlüssel-Wert-Shops basieren auf Amazon Dynamo Papier.

  • Spalte Familie speichert: Hier haben Sie Datenbanken, in denen Spalten gruppiert sind in Spalte Familien und zusammen auf einem Datenträger gespeichert.

    Streng genommen sind viele dieser Datenbanken sind nicht Spalte orientiert, weil sie auf Google BigTable Papier basiert sind, die Daten als mehrdimensionale sortiert Karte speichert.

  • Dokument speichert: Dieses Angebot basiert auf einer Sammlung von ähnlich codierten und formatierten Dokumenten Effizienz zu verbessern. Dokumentenspeicher ermöglichen einzelne Dokumente in einer Sammlung nur einen Teil der Felder zu umfassen, so dass nur die Daten, die gespeichert wird, benötigt wird. Für spärlichen Datensätzen, in denen viele Felder oft nicht aufgefüllt, kann diese in erhebliche Platzeinsparungen führen.

    Im Gegensatz dazu leere Spalten in relationalen Datenbanktabellen nehmen Speicherplatz. Dokumentenspeicher ermöglicht auch Schema Flexibilität, da nur die Felder, die benötigt werden, gespeichert sind, und neue Felder hinzugefügt werden können. dass sich die Auswirkungen des gesamten Datensatzes werden wiederum im Gegensatz zu relationalen Datenbanken, Tabellenstrukturen vorne definiert, bevor die Daten gespeichert sind, und eine mühsame Aufgabe ist Spalten zu ändern.

  • Graph-Datenbanken: Hier haben Sie Datenbanken, speichern Graphenstrukturen - Darstellungen, die Sammlungen von Entitäten (Ecken oder Knoten) und deren Beziehungen (Kanten) miteinander zeigen. Diese Strukturen ermöglichen Graph-Datenbanken zum Speichern von komplexen Strukturen sehr gut geeignet zu sein, wie die Verknüpfung von Beziehungen zwischen allen bekannten Web-Seiten. (Zum Beispiel sind einzelne Webseiten Knoten und die Kanten sind sie Links von einer Seite zur anderen zu verbinden.)

    Google, ist natürlich der ganzen Graph-Technologie und erfunden namens Pregel eine Grafik-Processing-Engine ihren PageRank-Algorithmus an die Macht. (Und ja, es ist ein weißes Papier auf Pregel.) In der Hadoop-Community gibt es ein Apache-Projekt Giraph (basierend auf dem Pregel Papier) genannt, die ein Graph Processing Engine ist entworfen Graphen gespeichert in HDFS zu verarbeiten.

Die Datenspeicherung und -verarbeitung verfügbaren Optionen in Hadoop sind in vielen Fällen Implementierungen der NoSQL-Kategorien aufgelistet. Dies wird Ihnen helfen, bessere Lösungen zu bewerten, die Ihnen zur Verfügung stehen und sehen, wie Hadoop traditionellen Data Warehouse ergänzen können.

Menü