7

最近、10gen が主催する NoSQL/MongoDB に関するテクニカル トークに参加しました。私は DBA の専門家でも何でもありませんが、講演者は、NoSQL データベースを使用することの利点の 1 つを説明することを目的とした興味深い点を指摘しました。

例は次のとおりです。Craigslist は MySQL を使用しています。彼らは、数百万、おそらく数億のレコードを含む巨大なテーブルを持っています。このテーブルに列を追加して、このテーブルのスキーマを変更する必要があります。このテーブルには非常に多くのレコードがあるため、実際に列を追加するには3 か月かかります

彼はさらに、NoSQL データベースでは何もする必要はなく、記録したい追加のプロパティを使用してオブジェクトをコレクションに保存し始めるだけだと言います。

わかりました。RDBMS エンジンで巨大なデータセットを変更するには時間がかかるかもしれません。しかし、これは本当に RDBMS の大きな欠点なのでしょうか? これは誇張でしたか?そのような操作を高速化できますか?

4

2 に答える 2

3

RDBMS の世界では、スキーマの柔軟性に対する優れたソリューションはあまりありません。通常は、xml/json の保存またはねじれたデータベース設計を中心に展開します。動作しますが、非常に扱いにくく、最終的にアプリケーション全体を破壊する可能性があります (メンテナンスまたはパフォーマンスに関して)。これは、大量のデータがある場合に特に当てはまります。

Craiglist に関して言えば、彼らの広告は、相互作用のないさまざまな集合体の集まりにすぎません。RDBMS を曲げる代わりに、ドキュメント指向のデータベースを選択しました。あなたがそれについて考えるとき、それは理にかなっています:彼らは一貫性を本当に気にしません(ACIDコンテキストで)。それをあきらめると、高いスケーラビリティ、柔軟なスキーマ、および使いやすさが得られます。結論として、RDBMS の真の強みは完全性と一貫性であり、スキーマの柔軟性ではありません。

于 2013-06-15T00:00:13.103 に答える