local
データベース
Overview
すべてのmongod
インスタンスには独自のlocal
データベースがあり、レプリケーションプロセスで使用されるデータやその他のインスタンス固有のデータが格納されます。local
データベースはレプリケーションからは不可視です。local
データベース内のコレクションはレプリケートされません。
すべての mongod
インスタンスのコレクション
local.startup_log
スタートアップ時に、各
mongod
インスタンスは、startup_log
に、mongod
インスタンス自体とホスト情報に関する診断情報とドキュメントを挿入します。startup_log
は上限付きコレクションです。この情報は、主に診断目的で役立ちます。たとえば、以下は
startup_log
コレクションのドキュメントのプロトタイプです。{ "_id" : "<string>", "hostname" : "<string>", "startTime" : ISODate("<date>"), "startTimeLocal" : "<string>", "cmdLine" : { "dbpath" : "<path>", "<option>" : <value> }, "pid" : <number>, "buildinfo" : { "version" : "<string>", "gitVersion" : "<string>", "sysInfo" : "<string>", "loaderFlags" : "<string>", "compilerFlags" : "<string>", "allocator" : "<string>", "versionArray" : [ <num>, <num>, <...> ], "javascriptEngine" : "<string>", "bits" : <number>, "debug" : <boolean>, "maxBsonObjectSize" : <number> } } startup_log
コレクション内のドキュメントには次のフィールドが含まれています。local.startup_log.startTime
サーバーの起動時刻を反映する UTC のISODate 値。
local.startup_log.startTimeLocal
システムのローカル タイムゾーンで
startTime
を報告する string。
local.startup_log.cmdLine
mongod
ランタイム オプションとその値を報告する埋め込みドキュメント。
レプリカセット ノードのコレクション
local.system.replset
local.system.replset
はレプリカセットの構成オブジェクトを単一のドキュメントとして保持します。 オブジェクトの構成情報を表示するには、rs.conf()
からmongosh
{ を発行します。このコレクションを直接クエリすることもできます。
local.oplog.rs
local.oplog.rs
は、 oplog を保持するCappedコレクションです。 作成時にoplogSizeMB
設定を使用してサイズを設定します。 レプリカセットの開始後にoplogのサイズを変更するには、「 自己管理型レプリカセット ノードのoplogサイズの変更 」手順を使用します。 詳細については、「 oplogサイズ」セクションを参照してください。oplog は、
majority commit point
が削除されるのを回避するために、設定されたサイズ制限を超えて大きくなることがあります。MongoDB 5.0 以降では、レプリカセットとして実行中のクラスター上の oplog への手動書き込み操作は実行できなくなりました。スタンドアロン インスタンスとして実行中に oplog への書き込み操作を実行する場合は、MongoDB サポートのガイダンスに必ず従う必要があります。
制限事項
- マルチドキュメントトランザクション
local
- マルチドキュメントトランザクション内では、
local
データベース内のコレクションに対して読み取り/書き込み操作を実行することはできません。 - 再試行可能な書き込み再試行可能な書込み
local
再試行可能な書き込みが有効になっていると、
local
データベース内のコレクションへの書込み操作は実行できません。重要
公式の MongoDB ドライバーでは、デフォルトで再試行可能な書込みが有効になっています。 再試行可能な書込みが明示的に無効になっていない限り、
local
データベースに書込むアプリケーションでは書込みエラーが発生します。再試行可能な書き込みを無効にするには、MongoDB の接続文字列に
retryWrites=false
を指定します。