Graphdatenbanken in einem Big Data Environment

Die grundlegende Struktur für die Graph-Datenbanken in großen Daten aufgerufen # 147-Knoten-Beziehung. # 148- Diese Struktur ist besonders nützlich, wenn Sie mit hochgradig vernetzten Daten umgehen müssen. Knoten und Beziehungen Unterstützung Eigenschaften, ein Schlüssel-Wert-Paar in dem die Daten gespeichert sind.

Diese Datenbanken werden navigiert durch die Beziehungen folgen. Diese Art der Lagerung und die Navigation ist nicht möglich, in RDBMS (relationalen Datenbank-Management-Systeme) auf Grund der starren Tabellenstrukturen und die Unfähigkeit, Verbindungen zwischen den Daten zu folgen, wohin sie uns führen könnten. Ein Graph-Datenbank kann verwendet werden, geografische Daten für Öl-Exploration zu verwalten oder eines Telekommunikationsanbieters Netzwerke zu modellieren und zu optimieren.

Eines der am häufigsten Graph-Datenbanken verwendet wird, Neo4j. Es ist ein Open-Source-Projekt unter der Public License v3.0 GNU-Lizenz. Eine unterstützte, kommerzielle Version wird von Neo-Technologie unter der GNU AGPL v3.0 und kommerziellen Lizenzen zur Verfügung gestellt.

Neo4j ist eine ACID-Transaktionsdatenbank Hochverfügbarkeit durch Clustering bietet. Es ist eine vertrauenswürdige und skalierbare Datenbank, die aufgrund der Knotenbeziehungseigenschaften die Grundstruktur leicht zu modellieren ist und wie natürlich sie exakt auf unsere eigenen menschlichen Beziehungen. Es ist kein Schema erfordert, noch übernimmt sie die Datentypisierung erfordern, so ist es von Natur aus sehr flexibel.

Mit dieser Flexibilität kommt ein paar Einschränkungen. Die Knoten können sich nicht direkt verweisen. Zum Beispiel können Sie (als Knoten) kann auch nicht sein, dein eigenes Vater oder Mutter (als Beziehungen), aber man kann sein ein Vater oder Mutter. Es könnte realen Welt Fälle, in denen Selbstbezug erforderlich ist.

Wenn ja, nicht die beste Lösung eine Graph-Datenbank ist, da sind die Regeln über Selbstreferenz strikt durchgesetzt werden. Während die Replikationsfunktion sehr gut ist, kann Neo4j nur ganze Graphen replizieren, eine Obergrenze für die Gesamtgröße des Graphen (etwa 34 Milliarden von Knoten und 34 Milliarden Beziehungen) platzieren.

Wichtige Eigenschaften von Neo4j gehören die folgenden:

  • Die Integration mit anderen Datenbanken: Neo4j unterstützt das Transaktionsmanagement mit Rollback nahtlose Interoperabilität zu ermöglichen, mit Datenspeicher nicht-graphischen.

  • Synchronisierungsdienste: Neo4j unterstützt ereignisgesteuerte Verhalten über ein Ereignis Bus, periodische Synchronisation mit sich selbst, oder ein RDBMS als Master und traditionelle Batch-Synchronisation.

  • Elastizität: Neo4j unterstützt kalt (das heißt, wenn Datenbank nicht läuft) und Hot-Backups (wenn es ausgeführt wird), sowie eine Hochverfügbarkeits-Clustering-Modus. Standard-Warnungen sind für die Integration in bestehende Operations-Management-Systeme zur Verfügung.

  • Abfragesprache: Neo4j unterstützt eine deklarative Sprache namens Cypher, die speziell Graphen und deren Komponenten abzufragen. Cypher-Befehle werden auf die SQL-Syntax basiert lose und an Ad-hoc-Abfragen der Diagrammdaten ausgerichtet.

Neo4j Implementierungen sind am besten geeignet für

  • Soziales Netzwerk

  • Klassifizierung von biologischen oder medizinischen Bereichen

  • Erstellen dynamischer Praxisgemeinschaften oder Interesse

Menü