データベースのテーブル構造をその場で変更する可能性を利用し、クエリを作成する前に現在の構造についてDBエンジンにクエリを実行することで得られる利点があるかどうか疑問に思っています(または、確実に実行されるフィールドを使用するだけです)。表中)。そのようなアプローチを使用するシステムの例はありますか?
1 に答える
http://blog.mongodb.org/post/119945109/why-schemalessを確認してください。
私の個人的な経験から、私は次の利点を発見しました。
変更が容易
一部の概念構造は、正規化された一連のテーブルで使用するにはあまりにも面倒です。たとえば、私の仕事では、カスタムの社内 CMS システムがあります。1 つの「記事」を表すために、約 35 のテーブルがあります。1 つの完全な記事を生成するためにクエリを実行する必要がある場合、非常に苦痛です。
同じ記事がドキュメントとして表されている場合、すべての情報はまだそこにあります。コードでオブジェクトを変更してからシリアル化および逆シリアル化する方が、20 個の結合を使用してクエリを記述するよりもはるかに簡単です。
バージョニング
バージョン管理がとても簡単になります。システムの 1 つのスキーマから始めて、後でフィールドを追加/削除する必要があると判断する場合があります。従来の RDBMS では、これを展開するのは困難な場合があります。ドキュメント データベースでは、スキーマが異なる新しいドキュメントを挿入するだけで問題ありません。(ドキュメント データ ストアは、これを処理するためのツールを提供することに注意してください!)
より迅速な開発
これは、変更が容易であるということから流れ出ます。私が見たものから、利益は重要です。テーブルの作成に時間を費やしたり、データ型が完全で、すべてが非常に正規化されていることを確認したりする必要はもうありません。