1

MongoDB は、操作をグローバル、データベース、またはコレクション レベルでロックできる多粒度ロック [1] を使用し、個々のストレージ エンジンがコレクションの下 (つまり、WiredTiger のドキュメント レベル) で独自の同時実行制御を実装できるようにします。

さらに、MongoDB には MMAPv1 (デフォルト) と WiredTiger の 2 つのストレージ エンジンがあることを読みました。MongoDB 3.0 から、最初のものはコレクション レベルのロックを使用し、2 つ目はドキュメント レベルのロックを使用します。MongoDB が操作を GLOBAL、DATABASE、または COLLECTION レベルでロックできるとはどういう意味ですか? ロックの粒度を選択できるということですか? はいの場合、どうすればできますか?これは、選択したストレージ エンジンのロック粒度 (たとえば、WiredTiger のドキュメント レベル) とは対照的ですか? また、ストレージ エンジンを MMAPv1 から WiredTiger に変更するにはどうすればよいですか? 前もって感謝します。

4

1 に答える 1

1

に答えます

また、ストレージ エンジンを MMAPv1 から WiredTiger に変更するにはどうすればよいですか?

このページでは次のように説明しています。

3.0 mongod を起動します。3.0 mongod がデフォルトの MMAPv1 エンジンで実行されていることを確認します。

mongodump を使用してデータをエクスポートします。 mongodump --out <exportDataDestination> 認証を有効にして実行している場合は、ユーザー名やパスワードなど、必要に応じて追加のオプションを指定します。利用可能なオプションについては、mongodump を参照してください。

WiredTiger のデータ ディレクトリを作成します。WiredTiger 用の新しいデータ ディレクトリを作成します。mongod を実行しているユーザー アカウントに、新しいディレクトリに対する読み取りと書き込みのアクセス許可があることを確認します。

WiredTiger を使用した mongod は、別のストレージ エンジンで作成されたデータ ファイルでは起動しません。

WiredTiger で mongod を再起動します。3.0 mongod を再起動し、wiredTiger を として指定し、WiredTiger--storageEngine用に新しく作成したデータ ディレクトリを として指定し--dbpathます。必要に応じて追加のオプションを指定します。

mongod --storageEngine wiredTiger --dbpath <newWiredTigerDBPath> 構成ファイルでオプションを指定することもできます。ストレージ エンジンを指定するには、新しい storage.engine 設定を使用します。

于 2015-05-29T12:37:56.480 に答える