1. ホーム
  2. mongodb

MongoDBの長所と短所?[クローズド]です。

2023-10-01 15:44:34

質問

ACID、スケーラビリティ、スループット、メインメモリ使用量、挿入/クエリのパフォーマンス、インデックスサイズなどです。

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

MongoDBに関する一般的な注意点

長所

  • スキーマレス。柔軟なスキーマがある場合、以下のようなドキュメントストアに最適です。 MongoDB のようなドキュメントストアに最適です。これはRDBMSではパフォーマンス的に実装が難しい
  • スケールアウトのしやすさ レプリカセットを使うことで読み込みをスケールさせる。シャーディング(オートバランシング)により書き込みをスケールアウト。マシンをもう一台立ち上げるだけで、すぐに使える。マシンを追加することは、作業セットを分散させるためのRAMを追加することです。
  • コスト。もちろんどのRDBMSに依存しますが、MongoDBは無料でLinux上で動作するため、安価なコモディティキットで動作させるのに理想的です。
  • データの価値に応じて、どのレベルの一貫性を求めるかを選択できる (例: 速いパフォーマンス = MongoDB への挿入はすぐに終わる、遅いパフォーマンス = 挿入が複数のノードに複製されるまで待ってから戻る)。

短所です。

  • MongoDB のデータサイズは、各ドキュメントにフィールド名が格納されているなどの理由で一般に大きくなります。
  • クエリの柔軟性が低い (例: JOIN がない)
  • トランザクションのサポートなし - 特定のアトミックな操作は、単一のドキュメントレベルでサポートされています。
  • 現時点では Map/Reduce (例: 集計/データ分析) は問題ありませんが、非常に速いというわけではありません。そのため、それが必要な場合は、Hadoop のようなものをミックスに追加する必要があるかもしれません。
  • 最新の情報が得られない/進化が早い製品

私は最近 のブログで紹介しました。 を書いたので、そちらに興味があるかもしれません (上記は主要なポイントの一部です)。

もしあなたが「MongoDBはRDBMSより優れているのか」という答えを探しているなら、IMHOではそのような答えはありません。MongoDB のような NoSQL テクノロジーは、RDBMS テクノロジーを補完する代替手段を提供します。ある特定の目的には、一方が他方よりも適している可能性があります。