Java サーバー側アプリケーションのデータベースとして MongoDB を使用することを検討しています。私の以前のプロジェクトでは、Hibernate を使用して基礎となる SQL データベースを抽象化し、アプリケーション コードを変更せずに (たとえば) MySQL から Postgres に切り替えることができました。(これは、通常の ORM 機能とは別に、Hibernate が提供してくれた + でした)。
ドキュメント指向の NoSQL データベースの同様の抽象化レイヤーを検索しましたが、結果はありませんでした。
現在の要件は MongoDB で十分ですが、3 年後により優れたドキュメント指向の NoSQL DB が登場したとしても、アプリケーション コードを変更して新しい DB に移行したくはありません。
解決策の 1 つは、抽象化レイヤーを自分で作成することです (他に選択肢がない場合は、そうします)。
しかし、ORM の世界から来た人々が NoSQL DB インターフェースに直接コーディングしたとしたら、私は驚かれることでしょう?! NoSQL の世界では、データベースの独立性は問題ではありませんか? それとも他の手段で達成されますか?