1. ホーム
  2. mongodb

[解決済み] リレーショナルデータベースと比較して、MongoDBのようなスキーマフリーデータベースを使用する利点は何でしょうか?

2023-02-06 02:27:54

質問

MySQLやPostgreSQLのようなリレーショナルデータベースと、Symfony、RoR、DjangoのようなMVCフレームワークの組み合わせに慣れていて、とてもうまくいっていると思うのですが。

しかし最近、非リレーショナルデータベースであるMongoDBについてよく耳にするようになりました。 公式定義 ,

<ブロッククオート

スケーラブルで高性能な、オープンソースの ソースで、スキーマフリーで、ドキュメント指向の データベースです。

私は本当に最先端に興味があり、次のプロジェクトのために持っているすべての選択肢を意識し、そこにある最高の技術を選択したいと思っています。

どのような場合にMongoDB(または類似のデータベース)を使用することが、quot;classic" relationalデータベースを使用するよりも良いのでしょうか? また、一般的にMongoDBとMySQLを比較すると、どのような利点があるのでしょうか? あるいは少なくとも、なぜそんなに違うのでしょうか?

ドキュメントや例へのポインタがあれば、それも大きな助けになるでしょう。

どのように解決するのですか?

Webアプリケーションを構築するためのMongoDBの利点を紹介します。

  1. ドキュメントベースのデータモデルです。ストレージの基本単位はJSON、Pythonの辞書、Rubyのハッシュなどに類似しています。これは配列や他のドキュメントを保持することができるリッチなデータ構造です。つまり、リレーショナルデータベースで適切に表現するためにはいくつかのテーブルを必要とするような構造を、しばしば単一の実体で表現することができるのである。これは、データが不変である場合に特に有用です。
  2. 深いクエリー能力。MongoDBは、SQLと同じくらい強力なドキュメントベースのクエリ言語を使って、ドキュメントに対する動的なクエリをサポートしています。
  3. スキーママイグレーションがない。MongoDBはスキーマフリーなので、あなたのコードがあなたのスキーマを定義する。
  4. 水平方向のスケーラビリティへの明確な道。

より良いアイデアを得るためには、もっと詳しく読んで、実際に使ってみる必要があります。 オンラインデモはこちらです。

http://try.mongodb.org/