Columnare Daten in NoSQL

Column Stores in NoSQL ähneln auf den ersten Blick zu herkömmlichen relationalen DBMS. Die Konzepte der Zeilen und Spalten sind noch da. Sie könnten auch Spalte Familien vor dem Laden von Daten in die Datenbank, was bedeutet, dass die Struktur der Daten definieren müssen im Voraus bekannt sein.

Allerdings Spalte speichert Daten organisieren anders als relationale Datenbanken zu tun. Statt Daten in einer Reihe für den schnellen Zugriff zu speichern, werden die Daten für die schnelle Spaltenoperationen organisiert. Diese Spalte # 8208 zentrierte Sicht macht Spalte speichert ideal für die Ausführung von Aggregatfunktionen oder für Aufzeichnungen Nachschlagen, die mehrere Spalten übereinstimmen.

Aggregatfunktionen sind Datenkombinationen oder Analysefunktionen. Sie können so einfach sein wie die Anzahl der Ergebnisse Zählen, Summieren ihnen, oder deren Mittelwert berechnet wird. Sie könnten immer komplexer, wenn - zum Beispiel, einen komplexen Wert zurückgibt eine allumfassende Palette von Zeit zu beschreiben.

Column Stores werden manchmal auch als Big Tabellen oder Big Table Klone bezeichnet, was ihre gemeinsamen Vorfahren, Googles Bigtable.

Vielleicht ist der wesentliche Unterschied zwischen Spalte speichert und einem traditionellen RDBMS ist, dass in einer Spalte zu speichern, wobei jeder Datensatz (denken Reihe in einem RDBMS) nicht einen einzigen Wert pro Spalte erfordern. Stattdessen ist es möglich, Spalte Familien zu modellieren. Ein einzelner Datensatz kann aus einem ID-Feld, eine Spalte Familie # 147-Kunde # 148- Informationen und eine weitere Spalte Familie # 147-order item # 148- Informationen.

Jeder dieser Spalte Familien besteht aus mehreren Feldern. Eine dieser Spalte Familien haben mehrere # 147-Zeilen # 148- in seinem eigenen Recht. Bestellen Artikelinformationen, zum Beispiel, hat mehrere Zeilen - eine für jede Position. Diese Zeilen enthalten Daten wie Artikelnummer, Menge und Stückpreis.

Ein wesentlicher Vorteil einer Spalte Speicher über ein RDBMS ist, dass die Spalte speichert Felder erfordern nicht immer anwesend sein und benötigen kein Auffüllen mit Leerzeichen Nullwert wie ein RDBMS tut. Diese Funktion verhindert, dass die spärlichen Daten Problem, Speicherplatz zu erhalten. Ein Beispiel für eine variable und spärliche Datensatz wird hier gezeigt.

bild0.jpg

Die große Sache über Spalte speichert ist, dass Sie alle damit verbundenen Informationen mit einem einzigen Datensatz-ID abrufen können, anstatt mit dem komplexen Structured Query Language (SQL) verbinden, wie in einem RDBMS. Dabei erfordert ein wenig im Voraus Modellierung und Datenanalyse, though.

In dem gezeigten Beispiel können Sie alle Informationen zu Ihrer Bestellung durch eine einzelne Spalte speichern Zeile auswählen, abrufen, die bedeutet, dass der Entwickler keine Kenntnis von der genauen Komplex verbinden sein muss Syntax einer Abfrage in einer Spalte zu speichern, anders als sie sein müssten mit komplexen SQL-Joins in einem RDBMS.

Also, für komplexe und variable relationale Datenstrukturen kann eine Spaltenspeicher effizienter sein, in der Lagerung und weniger fehleranfällig als die Entwicklung in RDBMS Vorfahren.

Man beachte, dass in der Artikel Spalte Familie, jeder ID des Elements innerhalb der Schlüssel repräsentiert, und der Wert der bestellten Menge. Dieser Aufbau ermöglicht eine schnelle Abfrage aller Aufträge diesen Artikel ID enthält.

Wenn Sie die Datenfelder beteiligt vorne kennen und brauchen, um schnell die zugehörigen Daten abrufen zusammen als ein einzelner Datensatz, dann eine Spalte Speicher betrachten.

Menü