it-swarm.com.de

jeder versuchte neo4j gegen titan - vor- und nachteile

Kann jemand bitte einen guten Vergleich zwischen Neo4j und Titan liefern oder darauf hinweisen? Eine Sache, die ich sehen kann, ist in Bezug auf die Skalierung - Titan ist ein Scaleout und erfordert einen zugrunde liegenden skalierbaren Datenspeicher wie Cassandra. Neo4j ist nur für HA und hat eine eigene eingebettete Datenbank. Irgendwelche anderen Vor- und Nachteile? Alle spezifischen Verwendungszwecke. (Wird Titan derzeit überall eingesetzt?)

Ich habe auch den folgenden Link: http://architects.dzone.com/articles/16-graph-databases-compared das gibt einen objektiven Vergleich für Graphendatenbanken, aber nicht viel über Vor- und Nachteile zwischen Neo4j und Titan.

62
DevD

Wir haben ein soziales Diagramm, in dem wir an einem Tag fast 1 Million Knoten und doppelt so viele Kanten hinzufügen. Wir haben mit neo4j graph angefangen, weil es sehr schnell ist, weil es auf demselben Rechner gespeichert ist, auf dem die Graph Engine läuft. Im Folgenden möchten wir Ihnen die Erfahrungen zu neo4j vorstellen.

  1. Nicht gut für Echtzeitabfragen geeignet. Wir haben eine soziale Struktur wie Twitter. Wir müssen die letzten 20 Aktivitäten (und die damit verbundenen Aktivitäten) aller Benutzer anzeigen, denen ein Benutzer in seiner Zeitleiste folgt. Wir haben einige Benutzer, die mehr als 1000 Benutzern folgen. Die Gremlin-Abfrage, die wir dafür geschrieben haben (wenn Sie interessiert sind, dann können wir die Gremlin-Abfrage teilen), hat so viel GC erzeugt, dass ein Server mit 8 CPU und 48 GB RAM zum Einfrieren verwendet wurde und wir den Server neu starten mussten, um ihn wieder online zu stellen .
  2. So manche Zeit Netzwerkpartition beobachtet.
  3. Es gibt keinen vertexzentrierten Index, der in der graoh-Datenbank dringend benötigt wird.

Letztendlich sind wir mit der Serverleistung durch die Gremlin-Abfrage so weit fortgeschritten, dass wir die Datenbank auf Titan ändern mussten.

Auf titan bekommen wir eine vernünftige Leistung und auch die Skalierung ist sehr einfach, da wir cassandra als Backend-Speicher verwenden. Aber bitte bedenken Sie, dass die Verwendung von Gremlin hier auch keine gute Idee ist, da Multiget-Abfragen sehr hilfreich sind Hässlich zu schreiben und ohne Multiget wird seine Abfrage sehr langsam.

26
user2772346

Schön, dass Sie Graphendatenbanken erkunden. Ich werde mit dem Neo4j-Teil Ihrer Frage sprechen:

Mittlerweile verwenden mehr als 30 der Global 2000 Neo4j in der Produktion für eine Vielzahl von Anwendungsfällen, viele davon überraschend, auch für uns! (Und wir haben den Eigenschaftsgraphen erfunden!)

Eine unvollständige Liste der Kunden finden Sie unten: www.neotechnology.com/customers

Neo4j ist seit 10 Jahren rund um die Uhr in Produktion, und obwohl sich das Produkt seitdem erheblich weiterentwickelt hat, steht es auf einem sehr soliden Fundament.

Die meisten Unternehmen, die auf Graphendatenbanken umsteigen, sprechen für Neo4j, wovon ich weiß, tun dies, weil entweder a) ihre RDBMS nicht in der Lage waren, den Umfang und den Umfang ihrer Anforderungen an verbundene Abfragen zu bewältigen, und/oder b ) die immense Bequemlichkeit und Geschwindigkeit, die sich aus der Modellierung von Domänen ergibt, bei denen es sich um ein Diagramm (soziales Netzwerk- und Rechenzentrumsmanagement, Betrug, Portfolios, Identität usw.) handelt, und nicht um ein Diagramm, sondern um Tabellen.

Für Kicks finden Sie hier eine Reihe von Kundengesprächen von den vier (bald fünf) GraphConnect-Konferenzen, die dieses Jahr in großen Städten auf der ganzen Welt stattfanden:

http://watch.neo4j.org/

Wenn Sie in London sind, findet nächste Woche die letzte statt: http://www.graphconnect.com

Nachfolgend finden Sie eine Zusammenfassung einiger Technologien von Neo4j mit einigen Kundenbeispielen. Um direkt auf Ihre Frage zur Skalierung einzugehen: Neo4j verfügt über eine einzigartige Architektur, die darauf ausgelegt ist, die Antwortzeit und die Vorhersagbarkeit von Abfragen zu maximieren, indem die horizontale Skalierung so ermöglicht wird, dass jede Instanz auf das Diagramm zugreifen kann, ohne über das Netzwerk springen zu müssen. (Benötigen Sie mehr Lesedurchsatz. Fügen Sie einfach Instanzen hinzu.) Es stellt sich heraus, dass dieser Ansatz für 95+% der Diagramme gut funktioniert, einschließlich einiger Produktionskunden, bei denen mehr als die Hälfte des sozialen Diagramms von Facebook in einem einzelnen Neo4j-Cluster ausgeführt wird. Sichern einer 24x7-Website, die immer erreichbar ist.

www.neotechnology.com/neo4j-scales-for-the-enterprise/

Einer der weltweit größten Postzustelldienste erledigt die gesamte Paketweiterleitung in Echtzeit mit Neo4j. Eisenbahnen bauen Routing-Systeme auf Neo4j. Einige der weltweit größten Kunden nutzen sie für HR- und Daten-Governance, Alternate-Path-Routing, Netzwerk- und Rechenzentrumsmanagement, Echtzeit-Betrugserkennung, Bioinformatik usw.

Die Cypher-Abfragesprache von Neo4j ist die einzige deklarative Abfragesprache, die speziell für Eigenschaftsgraphen entwickelt wurde. Es werden alle Lehren aus unserer 13-jährigen native Java API (die die Basis für Blueprints war, die einige der anderen Graphendatenbanken seitdem übernommen haben) gezogen und in eine nächste überführt Cypher ist eine großartige Möglichkeit, Diagramme zu lernen und Anwendungen zu entwickeln, und es gibt immer die native Java API, wenn Sie spezielle Anforderungen haben oder die "Bare-Metal" -Leistung schätzen (dh unter einer Millisekunde) Im Vergleich zu einstelligen Millisekunden) überragende Leistung: Neo4j wurde von Grund auf für die Unterstützung von Diagrammen entwickelt und verfügt über eine Grafikspeicher-Engine zum Speichern von Diagrammen, im Gegensatz zu einigen neueren Ergänzungen des Grafikdatenbank-Ökosystems Sie sind als Grafikbibliotheken auf Nicht-Grafikdatenbanken aufgebaut und unterliegen einigen inhärenten Einschränkungen (z. B. ist FlockDB, da es auf MySQL basiert, für alles, was größer als ein Sprung ist, immer noch sehr langsam).

Wenden Sie sich auf jeden Fall an das Neo-Team, wenn Sie etwas Spezifischeres benötigen. Wir helfen Ihnen gerne weiter! http://info.neotechnology.com/ContactUs.html

Viel Glück!

16
Philip Rathle