15

データを保持したくありませんが、Neo4j のグラフ トラバーサルとアルゴリズム機能を使用したいと考えています。組み込みデータベースでは、構成cache_type = strongが完了し、すべての書き込みの後にトランザクションを失敗に設定しました。しかし、私の書き込み速度 (ノード、関係作成速度) は遅く、これが私のプロセスの大きなボトルネックになっています。

問題は、Neo4j を永続的な側面がまったくなく、純粋な API として実行できるかということです。JGraphT などを試してみましたが、Neo4j が提供するようなトラバーサル メカニズムがありません。

4

3 に答える 3

4

私の知る限り、Neo4J データ ストレージと Lucene インデックスは常にファイルに書き込まれます。少なくとも Linux では、ramfsファイリング システムをセットアップしてファイルをメモリ内に保持できます。

以下も参照してください。

于 2012-11-10T19:48:16.047 に答える
2

各トランザクションでいくつの変更をグループ化しますか? トランザクションをコミットすると論理ログが強制的にディスクに書き込まれるため、トランザクションごとに最大数千の変更をグループ化するようにしてください。

ただし、あなたの場合は、代わりに次の方法でトランザクションを開始できます。

db.tx().unforced().begin();

それ以外の:

デシベル。beginTx();

これにより、そのトランザクションは論理ログが強制的にディスクに書き込まれるのを待たずに小さなトランザクションがはるかに高速になりますが、停電により最後の数秒間のデータが失われる可能性があります。

tx() メソッドは、たとえば EmbeddedGraphDatabase が実装する GraphDatabaseAPI にあります。

于 2012-11-10T21:23:35.687 に答える