私は最近 symfony2 mongodb ドキュメントを読んでいたのですが、その使い方について少し混乱を感じました。
Mongodb には、mysql orm に似た odm 1 対 1、1 対多、多対多の関係マッピングがあり、これもまた使いやすくなっています。
ただし、mysql と mongodb を組み合わせて使用する場合、mysql から mongodb データを取得するには、1 対 1 の公式ドキュメントに従って、サブスクライバー イベントと LifecycleEventArgs イベントを通じて mysql と mongodb を関連付ける必要があります。
1 対多と多対多の詳細な例はありません。その後、1 対多と多対多を使用する場合、LifecycleEventArgs イベントを通じて、mysql と mongodb で中間テーブルを生成する必要があることがわかりました。中間テーブルは、mysql と mongodb 間の通信のブリッジになります
そのため、この中間テーブルのメンテナンスはさらに面倒になります。たとえば、mongodb データを削除すると、中間テーブルも更新する必要があります。さらに、2 つのデータベースに関連付けられているテーブルが多数ある場合、中間テーブルも多数存在するのではないでしょうか? ?
smyfony2 の場合は、MySQL と mongodb を組み合わせます。単一のデータベースを使用する方が良いでしょうか? ? ?この 2 つを組み合わせて使用すると、保存されるデータの依存性が高くなってはいけませんか? ? ?その場合、doctrine公式サイトでmysqlやmongodbを使うのは面倒でしょうか? ?
シンプルかつ信頼性を高めるために、各ビジネスを単一のストレージに配置する必要があります。Doctrine は、クロスタイプ ストレージ用のオブジェクト指向操作インターフェイスを提供しますが、これが推奨されているわけではありません。
それらはすべて異なるストレージにあるため、APIを使用して操作する方が適切です。
リーリー