私はNEO4Jを初めて使用しています。私はそれをテストするために始めたと私は、MySQLとのNeo4jの両方でテーブルを作成し、これらのプロパティ(フィールド)を持つ:私のテストでは、NE4JはMySQLと比べて非常に遅いようです。どうすれば速くすることができますか?
id random_number time_stamp
そして私は、大量のデータを生成するプログラムを書いたとのNeo4jには約150万行(およびノードの挿入します)。私は書き込み速度がほぼ同じであったと言うことができます。
したがって、両方のデータベースで選択クエリをテストしました。 (私たちは30の以上の行がある。このランダムIDから知っている) "私は255454のrandom_idを持つ行(ノード)のいずれかを取得したい"
のNeo4j:
match (t:testLabel {random_id: 255454}) RETURN t LIMIT 50;
のMySQL:
SELECT *
FROM test
WHERE random_id=255454 LIMIT 50
のNeo4jは〜47秒を要したとMySQLは、結果を返すために約〜25秒を要しました。ディスク上の
のNeo4jサイズは
〜5.2ギガバイト
なり、両方のデータベースは、テーブルやプロパティにインデックスを持っていなかったディスク上〜35ギガバイトとMySQLの大きさになりました。ハードウェア:CPU: Corei7-4770 | RAM: 12GB | SSDハードディスク
これは、簡単なテスト、私は両方のデータベースは非常にシンプルであり、基本的な構造を持っていたと私は思っテストの前に、のNeo4jは、MySQLよりも高速であることを意味します。 NEO4Jが本当に好きなので、解決策を見つけてもう一度使いたいと思っています。
私の単純なテストによると、NEO4Jは、大きくスケーラブルなプロジェクトでは合理的ではありません。私はそれを驚くほど速くするいくつかの方法があるかもしれないことを知りたいかもしれません! パフォーマンステストはとてもシンプルで、データモデリングに関係なく、すべてのデータベースで同様にテストする必要がありました。
ディスクのサイズはどうですか?
+あなたが見たいと思うかもしれないJörgBaachのもう一つの比較questionが見つかりました。
何人かのエイリアンが、MySQL開発者が考えなかったすばらしいコードを書いていると思いましたか? Neo4Jが好きなら、それを使ってください。それがあなたにとって有用であることを証明するために、MySQLより速くする必要はありません。 –
@ N.B。私はNEO4Jが本当に好きです。しかし、私はまた、私の問題のためのパフォーマンスが必要です! – M98
本当にですか?あなたはそれを使用している人の中で有用なシステムだと思うほど多くの人の中で、神秘的なソフトウェアを持っている貴重な人のひとりです。古いものと優れたプログラムが、愚かな合成テスト? :) –