私の職場では、データベースに Oracle を使用しています。これはうまくいきます。私はメインのデータベース管理者ではありませんが、それを扱っています。私が気に入っていることの 1 つは、DB には、データの保存に関連するロジックを処理して取得できる PL/SQL を使用したロジック層が組み込まれていることです。MVC アプリケーション (PHP/Zend Framework) を軽量化し、デスクトップやモバイルなどの別のプラットフォームをデータに結び付けるのが簡単になるため、これは本当に気に入っています。
ただし、couchdb または mongodb を使用したい個人的なプロジェクトがあり、同様の目標を達成したいと考えています。mvc/framework の外側に、主要なアプリケーションが通信する API レイヤーが必要です。実際にはデータベースと直接対話しません。結果を取得するために、設計ドキュメント (couchdb) または mongo に類似したものを指定します。そして、その API レイヤーは受信データを検証し、データ自体が適切に保存および更新されていることを確認します。新しいユーザーの保存など、フレームワークでは、保存する必要があるキー/値を含む json オブジェクトを送信するだけで済み、API レイヤーは必要な場所にデータを保存します。
この API にはおそらく UI がありますが、管理目的と私の作業を楽にするためだけです。一般に、常に json 文字列で応答するか、場合によっては事前レンダリング/キャッシュされた html で応答します。とにかく、各 API レイヤーはアプリケーションに固有であるためです。
誰かがこのようなことをしたかどうか、またはこれを達成できる方法についてのヒントがあるかどうか疑問に思っていました。現在、Python でアプリケーションを作成しようとしていますが、フロント エンドは Angularjs のようなものになる可能性があります。バックエンドのnode.jsも検討していますが。