2016-07-01 15 views
0

Ich habe das Neo4j-Import-Tool verwendet, um einen Massenimport von etwa 45.000 Knoten und 40k Beziehungen zu tun.Now Daten können immer zu meiner Datenbank hinzugefügt werden und die Größe wird immer expanding.Ist es ein Weg um die neuen Daten (die auch sehr groß sein werden) mit dem Import Tool an die bestehende Datenbank anzuhängen? Hinweis: Ich habe versucht, LOAD CSV zu verwenden, und es ist sehr langsam wegen der Größe meiner Daten.Anfügen an den Datensatz in neo4j

Antwort

0

Da es Transaktionen umgeht und direkt in den Dateispeicher schreibt, wird das Tool neo4j-import nur für den ersten Datenimport verwendet.

Für inkrementelle Massenupdates ist LOAD CSV eine Option zum Laden von CSV. Sie können Operationen auch in einer einzigen Transaktion kombinieren, um den Durchsatz von Schreibvorgängen zu erhöhen. Normalerweise ist es sicher, 10k-50k Datenbankoperationen pro Transaktion auszuführen.

Sie sagen, LOAD CSV ist zu langsam. Wie viele Zeilen in der CSV-Datei? Verwenden Sie Indizes für Suchvorgänge? Können Sie die LOAD CSV Aussagen teilen?

+0

Die csv-Befehle, die ich verwende, sind: CSV mit Kopfzeilen aus "file: ///node_person_l.csv" laden AS csvLine MERGE (u: Benutzer {email: csvLine.email}), u.name = csvLine. Name; und die CSV-Datei hat 5000 Knoten und das dauert fast eine Minute zu vervollständigen .. Haben Sie auch einen Vorschlag zum Erstellen von Beziehungen zwischen verschiedenen Knoten über verschiedene CSV-Dateien geschrieben ?? –

+0

Haben Sie einen Index für Benutzer (E-Mail)? –

+0

no..ich möchte Indizes für die Benutzerknoten als eine Eigenschaft erstellen, wie jeder Knoten eine Eigenschaft user_id hat, die ich manuell zuweisen werde. –