1. ホーム
  2. mongodb

MongoDBにおけるクラスタとは何ですか?

2023-09-18 11:32:49

質問

私はMongoDBの初心者で、データベースに関する知識が全くないので、MongoDBのクラスタとは何か、MongoDBでクラスタに接続するポイントは何なのかを知りたいのです。また、MongoDBでクラスターに接続する意味は何でしょうか。クラスターに接続する必要があるのでしょうか、それともローカルホストに接続するだけでよいのでしょうか。

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

mongodbクラスタとは、通常、次のように使われる言葉です。 シャードクラスター に使われる言葉です。シャード化されたmongodbの主な目的は以下の通りです。

  • 複数のノードに沿った読み書きのスケール
  • 各ノードはデータ全体を扱うわけではないので、シャードの全ノードに沿ってデータを分離することができます。各ノードはシャード(レプリカセットである、説明は後述)のメンバーであり、データはすべてのシャードで分離される。

これはmongodbのシャードクラスターの表現で、公式の doc .

mongodbで始める場合、データをシャードすることはお勧めしません。 . シャードはレプリカセットよりもずっと複雑なメンテナンスとハンドリングが必要です。 基本的なレプリカセットを見てください。これはフォールトトレラントで、単純なニーズには十分です。

レプリカセットの考え方は以下の通りです。

  • 各データは各ノードで再分割されます。
  • 書き込みを受け付けるノードは1つだけ

公式サイトのレプリカセット表現 doc

シンプルなアプリの場合 と同じホストに mongodb クラスタを置くことは問題ありません。 . シングルメンバーのレプリカセットで持つこともできますが、フォールトトレラントではなくなります。