sql >> データベース >  >> RDS >> Mysql

MySQLとNeo4jを一緒に使用するのは良い考えですか?

    これについてのいくつかの考え:

    Neo4jドメインモデルをモデル化して、グラフに各ノードの属性を含めてみます。データを2つの異なるデータストアに分割することで、実行したい操作を制限できる場合があります。

    私はそれがあなたがあなたのグラフで何をするかということに帰着すると思います。たとえば、属性(名前、年齢など)が特定の値である特定のノードに接続されているすべてのノードを検索する場合は、最初にMySQLデータベースで正しいノードIDを検索してから、に移動する必要があります。 Neo4j? Neo4jでこれらすべてを実行できる場合、これは遅く、非常に複雑に見えます。したがって、問題は、グラフをトラバースするときにノードの属性が必要になるかどうかです。

    データは変更されますか、それとも静的ですか? 2つの別々のデータストアがあると、問題が複雑になります。

    MySQLデータベースを使用して統計を生成することは、Neo4jですべてを実行するよりも簡単かもしれませんが、定義された基準を満たすすべてのノードを見つけるためにグラフをトラバースするために必要なコードはそれほど難しくありません。これらの統計が何であるかがソリューションを推進するはずです。

    ノードIDを選択するためのMySQLクエリのパフォーマンスについてコメントすることはできません。それは、選択する必要のあるノードの数とインデックス作成戦略に帰着すると思います。ただし、グラフのトラバースに関しては、パフォーマンスの側面については同意します。

    これはまさにこれに関する良い記事です:MySQLとNeo4jの大規模なグラフトラバーサル この場合、それらが大きいと言うとき、それらは100万の頂点/ノードと400万のエッジのみを意味します。したがって、特に密なグラフではありませんでした。



    1. MySQL8.0.22での非同期レプリケーションの自動フェイルオーバー

    2. SQLAlchemyとUnicodeDecodeError

    3. MYSQLデータベースへのランダムな文字の挿入

    4. ClusterControlを使用してMariaDB10.3を管理する方法