mysql に 60000 項目のデータセットがあり、それを neo4j に挿入しようとしています。挿入は行われていますが、時間がかかります (3 秒あたり約 10 ~ 15 回)。高速化する方法はありますか?また、重複インデックスがインデックス化されないように、neo4j で一意のキーなどを指定する方法はありますか? 私はneo4jが初めてです。
PHP Everymanドライバーでneo4j 1.8を使用しています。
mysql に 60000 項目のデータセットがあり、それを neo4j に挿入しようとしています。挿入は行われていますが、時間がかかります (3 秒あたり約 10 ~ 15 回)。高速化する方法はありますか?また、重複インデックスがインデックス化されないように、neo4j で一意のキーなどを指定する方法はありますか? 私はneo4jが初めてです。
PHP Everymanドライバーでneo4j 1.8を使用しています。
ETL から Neo4j への変換について、Max De Marzi からの素晴らしいプレゼンテーションがあります。
参照: http://www.slideshare.net/maxdemarzi/etl-into-neo4j
使用する言語、jruby を介して埋め込まれた Java からの多くのオプション、および ruby、php、python を介してリモートで使用するオプションによって異なります。
適切なサイズのトランザクション (例: 1 トランザクションあたり 10,000 アイテム) でリクエストをバッチ処理する必要があります。
バッチ インポーターを使用するか、Neo4j サーバーのBATCH REST APIを使用して、CSV ファイルをデータベース ファイルに直接インポートすることができます。
前述のように、推奨されるオプションはバッチ インポーターです。
PHP クライアントを使用する必要がある場合は、REST バッチ API を使用する例をここに示します: http://phpfiddle.org/main/code/mu3-sgk
システムに最適な行/バッチをテストできます。私のラップトップの場合は 750、テストサーバーの場合は 1250 です。発生する json_decode は CPU に負担がかかります。