2014-01-29 21 views
7

Ist es möglich, Neo4j nur im Speicher ohne persistente Datenbank/Dateispeicher zu betreiben?Kann neo4j nur im Speicher ausgeführt werden?

Die Daten stammen von mehreren xml/json-Dateien, und wir müssen sie in jvm-Heapspeicher laden, indem wir ConcurrentHashmap verwenden. Da die Datenobjekte Abhängigkeiten haben (parent-child, child kann zurück zu parent verlinken), möchten wir ein Objektdiagramm pflegen. Gibt es eine Möglichkeit, Neo4J in diesem Fall zu verwenden? Oder können Sie einen Rahmen vorschlagen, der die Pflege dieses Objektdiagramms unterstützt?

Vielen Dank.

Antwort

4

Neo4j hat eine ImpermanentDataBase, die für Komponententests vorgesehen ist, aber im Speicher ausgeführt wird.

Siehe http://docs.neo4j.org/chunked/stable/tutorials-java-unit-testing.html.

+0

Sind Ihnen irgendwelche Mängel in Bezug auf die Verwendung dieser In-Memory-Datenbank in der Produktion bekannt? In einem bestimmten Szenario möchte ich Neo4j für seine Graph Traversal Features verwenden, aber ich muss die Datenbank nicht im Dateisystem persistieren. Ich frage mich, ob es eine gute Idee ist, die ImnpermanentDataBase in diesem Fall zu verwenden. – Sergio

+0

Mit der unbeständigen Datenbank verlieren Sie alle Ihre Daten, wenn neo4j abstürzt oder getötet wird. Nach dem Neustart von neo4j wird die Datenbank leer sein. Das ist normalerweise für eine Produktionsumgebung nicht akzeptabel. – cybersam

+1

Ich weiß. Ich möchte nur mit der Neo4J-API abfragen und eine Grafik wie die Struktur, die ich im Speicher habe, verschlüsseln. Wenn mir das nicht wichtig ist, ist es eine gute Idee, dies in einem Produktionssystem zu tun? (z. B. Speicherbedarf und Leistung?) – Sergio

Verwandte Themen