シャーディング
シャーディング(Sharding)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/04/07 00:17 UTC 版)
「MongoDB」の記事における「シャーディング(Sharding)」の解説
MongoDBは、シャーディング(Sharding)というシステムによって水平スケーリングが可能である。これはBigTableやPNUTSのスケーリングモデルに非常に良く似ている。開発者はshardキーを選択し、このキーがデータをどのように分散させるかを決める。データ中のキーを元にデータを分散させるshardが決められる。(一つのshardは1つ以上のスレーブを持つマスタである) アプリケーションはいくつかの操作を行う際に、shardingされたクラスタと対話していることを認識している必要がある。例えば "findAndModify" クエリは、shardされたコレクションからクエリをするときにshardキーを含む必要がある。 アプリケーションは、mongosと呼ばれる特別なルーティングプロセスと対話する。このプロセスは、shardクラスタを単一のMongoDBサーバに見えるようにする。mongosプロセスはどのデータがどのshardにあるかを知っており、クライアントのリクエストを適切にルーティングする。すべてのリクエストはこのプロセスを通して流れる: リクエストやレスポンスを転送するだけでなく、必要に応じてマージやソートも行う。 mongosプロセスはいくつでも実行できるが、通常は1つのアプリケーションに対して1つが推奨される。
※この「シャーディング(Sharding)」の解説は、「MongoDB」の解説の一部です。
「シャーディング(Sharding)」を含む「MongoDB」の記事については、「MongoDB」の概要を参照ください。
- シャーディングのページへのリンク