rdbms と nosql データベースの違いの 1 つは非構造化データの格納にあると読みましたが、各 nosql データベースには独自のアーキテクチャとアルゴリズムがあることは知っていますが、rdbms が非構造化データを格納できない理由を知りたいですか?
なぜnosqlデータベースがそれを行うことができるのか、nosqlデータベースがそれを行う方法と、rdbmsが非構造化データを保存できない理由を理解できるように、簡単な例を示していただければ本当に感謝しています。
リレーショナル データベースは、厳密に構造化されたデータを前提とするEdgar F. Codd のリレーショナル データ モデルに基づいています。SQL 言語全体はこのモデルに基づいて構築されており、それを実装するデータベースはそのように動作するように最適化されています。
しかし、過去数年間、 SQL テーブルのフィールドに XML ドキュメントを格納し、それらのドキュメント ツリーを透過的にクエリできるようにするSQL/XML拡張など、非構造化データを操作できるようにする機能を SQL に追加する試みがありました。
一方、MongoDB や CouchDB などのドキュメント指向データベースは、最初から非構造化データを扱うように設計されており、そのクエリ言語はこの概念に基づいて設計されているため、非構造化データを扱う場合、通常ははるかに高速で便利に使用できます。 .
簡単に言えば、NOSQL データ ストアは、結果整合性を備えた、階層型で可変長の高度に分散されたファイル ベースのシステムです。スキーマはデータ (またはコードに組み込まれていますが、NOSQL はスキーマレスではありません) に埋め込まれており、列は同じ構造であってもインスタンスごとに異なる可能性があり、列のサイズは固定されていません。