ORMを介してMapDbと通常のデータベースをいつ使用する必要がありますか? ORMでも実装できるJava.util.Mapへの直接マッピングを持つこと以外。
2 に答える
Jan の回答は、MapDb の作成者であるため、非常に偏っています。
MapDb は、「内部ストレージ」に優れており、「値」が関連付けられた単一のエンティティがある場合に最適です。そのインターフェイスは非常に単純で、独自の形式でシリアル化するか (推奨)、MapDb の非常にコンパクトな内部シリアル化形式に依存することができます。
ORM は、保存されたデータが何らかの「外部制御」下にある場合に最も価値があります。これは、企業内にストレージ ポリシーが存在するか、定義済みの RDBMS スキーマがあるか、SQL 用に作成された何らかのレポート エンジンでデータをクエリできる必要があるためです。
それから、意見や個人的な好みがすべての違いを生む状況がたくさんあります. 個人的には、私は Jan の隅にいて、ORM はすぐに非常に扱いにくくなると思います。「データ移行」を考慮に入れると、MapDb (および他の多くの NoSQL 代替手段) が勝てない場合よりも勝ると思います。外部クエリ エンジンの場合、データ変更イベントをプライマリ アプリケーションからセカンダリ システムに送信します。セカンダリ システムはそれらを解釈し、そのような SQL のみのシステムに必要な「ビュー」を更新します。
追加のパフォーマンスと柔軟性が必要な場合は、MapDB を使用します。それ以外の場合は、DB で通常の ORM を使用してください。