Key-Value-Pair-Datenbanken in einem Big Data Environment

Bei weitem sind die einfachste der NoSQL (nicht-only-SQL) Datenbanken in einem großen Datenumgebung diejenigen, die die Schlüssel-Wert-Paar (KVP) Modell verwendet wird. KVP-Datenbanken benötigen kein Schema (wie RDBMS) und eine große Flexibilität und Skalierbarkeit bieten.

KVP-Datenbanken bieten nicht ACID (Unteilbarkeit, Konsistenz, Isolation, Durability) Fähigkeit und Implementierer benötigen etwa Datenplatzierung zu denken, Replikation und Fehlertoleranz, da sie nicht ausdrücklich von der Technologie selbst gesteuert. KVP-Datenbanken werden nicht eingegeben. Als Ergebnis wird der Großteil der Daten als Zeichenketten gespeichert.

SchlüsselWert
FarbeBlau
TrankopferBier
HeldSoldat

Dies ist eine sehr vereinfachte Satz von Schlüsseln und Werten. In einer großen Datenimplementierung, haben viele Menschen unterschiedliche Vorstellungen über Farben, libations und Helden.

SchlüsselWert
FacebookUser12345_ColorRot
TwitterUser67890_ColorBräunlich
FoursquareUser45678_Libation# 147-Weißwein # 148-
Google + User24356_Libation# 147-Dry Martini mit einem Twist # 148-
LinkedInUser87654_Hero# 147-Top Sales Performer # 148-

Da die Anzahl der Benutzer zunimmt, die Verfolgung der genauen Schlüssel und damit verbundene Werte kann schwierig sein. Wenn Sie den Überblick über die Meinungen von Millionen von Nutzern zu halten, müssen die Anzahl der Schlüssel-Wert-Paare mit ihnen verbunden sind, können exponentiell erhöhen. Wenn Sie Entscheidungen nicht für die Werte einschränken wollen, die generische String-Darstellung von KVP bietet Flexibilität und Lesbarkeit.

Sie könnten einige zusätzliche Hilfe organisieren Daten in einem Schlüssel-Wert-Datenbank benötigen. Die meisten bieten die Möglichkeit, aggregierte Tasten (und ihre zugehörigen Werte) in eine Sammlung. Sammlungen können von einer beliebigen Anzahl von Schlüssel-Wert-Paaren bestehen und erfordern nicht die alleinige Kontrolle über die einzelnen Elemente KVP.

Eine weit verbreitete Open-Source Schlüssel-Wert-Paar Datenbank aufgerufen Riak. Es wird entwickelt und unterstützt von einer Firma namens Basho Technologies und wird unter der Apache Software License v2.0 verfügbar.

Riak ist eine sehr schnelle und skalierbare Implementierung eines Schlüssel-Wert-Datenbank. Es unterstützt eine High-Volume-Umgebung mit sich schnell ändernden Daten, weil es leicht ist. Riak ist besonders wirksam bei der Echtzeit-Analyse des Handels mit Finanzdienstleistungen. Es benutzt # 147-Eimer # 148- als Organisationsmechanismus für Sammlungen von Schlüsseln und Werten.

Riak Implementierungen sind Cluster von physischen oder virtuellen angeordnet Knoten in einem Peer-to-Peer-Mode. Kein Master-Knoten vorhanden ist, so dass der Cluster ist elastisch und hoch skalierbar. Alle Daten und Operationen werden über den Cluster verteilt. Größere Cluster durchführen besser und schneller als Cluster mit weniger Knoten. Die Kommunikation im Cluster wird über ein spezielles Protokoll namens Gossip implementiert. Gossip speichert Statusinformationen über den Cluster und teilt Informationen über Eimern.

Riak hat viele Funktionen und ist Teil eines Ökosystems der aus folgenden:

  • Parallelverarbeitung: Verwendung MapReduce unterstützt Riak eine Fähigkeit zu zersetzen und Neuzusammenstellung Abfragen über den Cluster für die Echtzeitanalyse und Berechnung.

  • Links und Link zu Fuss: Riak können eine Graph-Datenbank mit Links zu imitieren aufgebaut werden. Ein Link kann als eine Einweg-Verbindung zwischen Schlüssel-Wert-Paare gedacht werden. Gehen (unten) die Links, um eine Karte der Beziehungen zwischen den Schlüssel-Wert-Paare zur Verfügung stellt.

  • Suche: Riak Suche hat ein fehlertolerantes, Volltextsuche Fähigkeit verteilt. Die Eimer können für eine schnelle Auflösung von Wert Schlüssel indiziert werden.

  • Sekundärindizes: Entwickler können Werte mit einem oder mehreren Schlüsselfeldwerte markieren. Die Anwendung kann dann den Index abfragen und eine Liste passender Schlüssel zurück. Dies kann in großen Daten-Implementierungen sehr nützlich sein, da die Operation atomar ist und Echtzeitverhalten unterstützen.

Riak Implementierungen sind am besten geeignet für

  • Die Benutzerdaten für soziale Netzwerke, Communities oder Spiele

  • Großvolumige, Rich-Media-Datenerfassung und Speicherung

  • Caching Schichten für RDBMS und NoSQL-Datenbanken verbinden

  • Mobile Anwendungen erfordern Flexibilität und Zuverlässigkeit

Menü