2

私は最近 MongoDB を扱っており、そのスキーマレス設計について学びました。しかし、私は NoSQL という用語と混同していますか? なぜそう呼ばれるのですか?SQL または SQL に似たクエリを使用していませんか?

主な違いはデータの保存方法にあるという記事も読みました。これは本当ですか?MongoDB の場合、JSON ドキュメントのように保存されます。

また、なぜ「NoSQL とリレーショナル データベース」が常に表示されるのか混乱しています。NoSQL データベースはリレーショナルではありませんか? MongoDB のドキュメントは、まだいくつかのキーを介して関連付け/リンクされていると思います (間違っている場合は修正してください)。では、なぜ非リレーショナルとラベル付けされているのでしょうか?

前もって感謝します!

4

3 に答える 3

5

「NoSQL」という名前は、実際、1998 年に Carlo Strozzi が開発していたファイルベースのデータベースの名前として初めて使用されました。皮肉なことに、それはリレーショナル データベースでした。ウィキ

「nosql」について有名人が言っていることは次のとおりです。

Eric Evans (ラックスペース):

「私はこの数日間、nosqleast で過ごしましたが、ここで注目されているトピックの 1 つは「nosql」という名前です。当然のことながら、この名前が不適切で不正確なメッセージを送信するのではないかと心配する人がたくさんいます。 Johan Oskarsson は最初のミートアップを企画していて、IRC で「良い名前は何ですか?」という質問をしました。私が考えずに45秒ほどの間に吐き出した3つまたは4つの提案の1つでした.

残念なのは、名前が何を言っているのかではなく、何を言っていないのかということです。Johan が最初のミートアップのアイデアを最初に思いついたとき、彼はビッグ データと線形に拡張可能な分散システムを考えていたようでしたが、名前が非常に曖昧であるため、文字通りデータを保存するあらゆるものについて話をするための扉が開かれました。 RDBMS.」

マーティン・ファウラー

「確かに、名前自体にひねりが加えられていることがよくあります。NoSQL の支持者の多くは、NoSQL は SQL に対する「いいえ」を意味するのではなく、SQL だけではないという意味であると言っています。 「x は NoSQL データベースである」と言うとき、NoSQL を「だけではない」と解釈するのはばかげていると思います。なぜなら、それでは用語が無意味になるからです (そうすれば、SQL Server (たとえば) は NoSQL データベースです。) したがって、"NoSQL データベース" は "no-sql" データベースであると言うのが最善だと思います。"

于 2012-10-16T08:05:13.330 に答える
4

SQL または SQL に似たクエリを使用していませんか?

「非リレーショナル データベース」の方が正確な名前かもしれませんが、実際にはほとんどのデータベースは SQL などを使用していません。

NoSQL データベースはリレーショナルではありませんか? MongoDB のドキュメントは、まだいくつかのキーを介して関連付け/リンクされていると思います (間違っている場合は修正してください)。では、なぜ非リレーショナルとラベル付けされているのでしょうか?

NoSQL データベースは、非リレーショナル データベースです。

それらにはさまざまな種類があります (主に「ドキュメント データベース」、「キー値ストア」、および「グラフ データベース」) が、通常、次の「リレーショナル」機能の一部またはすべてを取得することはできません。

  • スキーマを使用したテーブルの定義 (名前付きで通常は型指定された列)

  • 単一のクエリで複数のテーブルを結合する機能

  • 任意の範囲の長時間実行される分離されたトランザクション

  • 時間がかかる可能性のあるアドホック クエリ、およびデータを高速化するためにデータにインデックスを付ける多くの方法 (データベース レイアウト全体を変更する必要があるのではなく)

(これらの便利な機能のいくつかを放棄することで得られるのは、パフォーマンス、可用性、およびスケーラビリティの向上です)。

于 2012-10-16T05:04:53.250 に答える
1

ウィキペディアが言うように:

[NoSQL] は、広く使用されているリレーショナル データベース管理システム モデルに準拠していないことで識別される、広範なクラスのデータベース管理システムです。

これは、リレーショナル モデル (Codd によるもの) に準拠していないデータベースであるため、SQL を使用しないことを意味します。

于 2012-10-16T05:05:50.160 に答える