私はNeo4jデータベースに移行しようとしているリモートサーバにmysqlデータベースを持っています。このために、個々のテーブルをCSVファイルにダンプし、LOAD CSV機能を使用してテーブルからグラフを作成する予定です。MYSQLデータベースをNeO4jにインポート
各テーブルの読み込みはどのようにしてテーブル間の関係を保持しますか? つまり、単一のテーブルだけでなく、データベース全体のグラフを生成するにはどうすればよいですか?
私はNeo4jデータベースに移行しようとしているリモートサーバにmysqlデータベースを持っています。このために、個々のテーブルをCSVファイルにダンプし、LOAD CSV機能を使用してテーブルからグラフを作成する予定です。MYSQLデータベースをNeO4jにインポート
各テーブルの読み込みはどのようにしてテーブル間の関係を保持しますか? つまり、単一のテーブルだけでなく、データベース全体のグラフを生成するにはどうすればよいですか?
「一度に」実行すると、大規模なトランザクションが作成され、完了には至らず、ヒープエラーが発生してクラッシュする可能性があります。この問題を回避するには、CSVを最初にロードしてから、10K-100Kトランザクションブロックのバッチでリレーションシップを作成する必要があります。関係はありませんLabelBレコード:
MATCH (a:LabelA)
MATCH (b:LabelB {id: a.id}) WHERE NOT (a)-[:RELATIONSHIP]->(b)
WITH a, b LIMIT 50000
MERGE (a)-[:RELATIONSHIP]->(b)
はこれが何をするか見つけることです。その目標を達成するために
一つの方法は、あるLabelA記録をして、最初の50,000レコードに対するその関係を作成し、それ見つける。これを繰り返し実行すると、最終的にはすべての関係が作成されます。
ありがとうTim、この初期インポート後にデータをどのように同期させておきますか? –
デルタをダンプしたり、完全なダンプを実行したり、dbをリフレッシュしたり、SQL dbを更新するときにグラフdbを更新するようにアプリケーションを変更する必要があります。 –
ありがとうございます –
NorthwindデータセットをNeo4jにインポートする方法の例については、[このページ](http://neo4j.com/developer/guide-importing-data-and-etl/#_northwind_introduction)を参照してください。 –