私は大学にいくつかのことをしています。そして、何百万というノード(少なくとも1または200万人)を持つComplete Treesを構築するシステムを作るように求められました。 。 CSVをロードしてツリーを作成しようとしていましたが、定期的なコミットを使用していましたが、それは単なるノードの作成(汎用ノートブック:Pでは70000ミリ秒)でうまくいきました。私がエッジで同じことを試してみると、それも拡大しませんでした。Neo4j 3.0.4で何百万ものVertex Treeを作成/管理しています
Using periodic commit LOAD CSV WITH HEADERS FROM 'file:///Archi.csv' AS line
Merge (:Vertex {name:line.from})<-[:EDGE {attr1: toFloat(line.attr1), attr2:toFloat(line.attr2), attr3: toFloat(line.attr3), attr4: toFloat(line.attr4), attr5: toFloat(line.attr5)}]-(:Vertex {name:line.to})
5分以内にツリーが生成されることを保証する必要があります。
このようなパフォーマンスを返す方法はありますか?
P.S. :タスクはNeo4jを使用するのではなく、データベース(SQLまたはNoSQLのいずれか)を使用することを期待していますが、このNoSQLグラフDBを見つけました。グラフデータ構造が無償で提供されているので、
P.P.S:私は私はあなたがそれをやっている正確に理解を確認するために、再度、開発者向けドキュメントにMERGE上に読むべきだと思うサイファー
まず、おかげされです。多分あなたを笑わせてくれる一つの質問があります。 :スキーマインデックスの仕組みとクエリの改善方法 –
開発者向けドキュメントには、[スキーマのセクション](https://neo4j.com/docs/developer-manual/current/cypher/#cypher-schema)があります。通常、特定のラベルを持つノードのプロパティに一意制約またはスキーマインデックスを作成して、そのプロパティでそのラベルを持つノードをルックアップするときのパフォーマンスを向上させます。 Vertex(name)でインデックスを作成すると、次のような検索ができます。Vertexノードを名前で結びつけます(ノード間の関係を作るためにこれらのノードに一致するときなど)。それ以外の場合は、すべてをスキャンする必要があります:名前プロパティによって頂点ノード。 – InverseFalcon
スーパーインポーターメソッドはどうですか?ドキュメンテーションによれば、このツールはCSV形式の巨大なデータセットに必要なものですが、このツールは見つかりません。ツールは "path/to/neo4j/bin/neo4j-import"にありますが、ドキュメントは言いますが、私はそれを呼び出すことはできません。私はneo4j 3.0.4を使用しています –