注意
2021 年 7 月 13 日リリースのMongoDB 5.0
パッチ リリース
警告
過去のリリース制限
以下の 重要な助言 は、一部の MongoDB の前のバージョンに影響します。 配置が重要な助言によって影響を受ける機能に依存している場合は、利用可能な最新のパッチ リリースにアップグレードしてください。
問題 | 影響を受けるバージョン |
|---|---|
5.0.0 - 5.0.2 | |
5.0.0 - 5.0.2 | |
5.0.0 - 5.0.14(ARM64 または POWER システム アーキテクチャ) | |
5.0.2 - 5.0.17(Ops Manager または Cloud Manager クラスターの増分バックアップ) | |
5.0.0 - 5.0.1 | |
5.0.0 - 5.0.21 | |
5.0.0 - 5.0.10 | |
5.0.0 - 5.0.23 | |
5.0.6 - 5.0.21(metaField 埋め込みオブジェクトでシャーディングされた時系列コレクション) | |
5.0.0 - 5.0.24 | |
5.0.0 - 5.0.25 |
5.0.32 - Dec 19 、 2025
重要
MongoDB 5.0.32には CVE-2025-14847 に対する修正が含まれています。
MongoDBセキュリティ更新の最新情報については、MongoDBセキュリティ更新を参照してください。
5.0.31 - Jan 28, 2025
SERVER-76631 CPU モデル名を FTDCメタデータに保存
SERVER-78311 mongos では、挿入コマンドの writeErrors が存在しても writeConcernError を報告しません。
SERVER-86674 プライマリのキャッチアップでは、サーバーがキャッチアップしていない場合にキャッチアップしたと認識する可能性があります
SERVER-89529 チャンクの移行がリシャード操作の後に続く場合、再シャーディング中に再試行可能な書き込みが複数回実行される可能性があります
SERVER-94635 セッション更新パラメータを構成可能にします
5.0.30 - 10 月24 、 2024
重要
null バイトの不適切な中性化により、 MongoDB Serverでバッファのオーバー読み取りが発生する可能性があります
より前のMongoDB5.0 5.0.30では、承認されたユーザーは、 MongoDB Serverで不正なBSON を構築する特別に作成されたリクエストを発行することで、クラッシュをトリガーしたり、サーバー メモリのバッファ オーバー読み取りの内容を受信したりする可能性があります。
この問題は、 MongoDB Server のバージョンに影響します。
5.0.0 - 5.0.29
6.0.0 - 6.0.18
7.0.0 - 7.0.14
8.0.0 - 8.0.2
SERVER-96419 null バイトの不適切な中性化により、 MongoDB Serverでバッファの過剰な読み取りが発生する可能性があります
5.0.29 - 9 月30 、 2024
重要
CSFLE および Queryable Encryption の自己検索で、暗号文ではなくプレーンテキストとしてサブパイプラインの値が送信されることがある問題を修正します
CVE-2024-8013 により、5.0.28 以前の MongoDB 5.0 では、特定の複雑な自己参照 $lookup サブパイプラインのクエリ分析におけるバグにより、不正なサーバーに送信される暗号化されたフィールドの式でリテラル値になることがあります。
このような状況が発生した場合、ドキュメントは返されたり書込まれたりすることはありません。 この問題は、次の MongoDB Server バージョンのmongocryptdバイナリとmongo_crypt_v1共有ライブラリに影響します。
7.3.0 - 7.3.3
7.0.0 - 7.0.11
6.0.0 - 6.0.16
5.0.0 - 5.0.28
CVSS スコア: 2.2
CWE: CWE-319: 機密情報のクリアテキスト送信
サーバー -96254 CSFLE および Queryable Encryption の自己検索では、サブパイプラインにおける値の暗号化に失敗する可能性があります
SERVER-59831 WTUniqueIndex::_insert ではセカンダリが DupsAllowed=true で渡すことを想定しています
SERVER-76777インデックス構築の外部中止と自己中止の間でデッドロックが発生する
SERVER-88750 挿入、アップデート、findAndModify、bulkWrite に「bypassEmptyTsReplacement」パラメータを追加
SERVER-91223 $ログ がDecimal128 で誤った計算を実行する
WT-8771 オーバーフロー アイテムを含むダーティページへのチェックポイントのクリーンアップ
5.0.28 - 7 月15 、 2024
SERVER-63198 シャットダウンコマンドがハングしないようにする
SERVER-90747 プラン列挙型の空のパスを持つ $elemMatch を正しく処理します
SERVER-91362 パフォーマンス: キャッシュされた JsExecution が存在する場合、 JavaScript 「スコープ」オブジェクトをコピーしないでください
SERVER-91562 [5.0]IndexDescriptor::completeIndexOptions は、ユニーク/スパースを一意な:false/sparse:false と同一ではないとして扱います。
WT-10807 ツリー ウォークスルーの一部としてメモリ内の削除ページをスキップします
5.0.27 - Jun 04, 2024
SERVER-78556 internalInsertMaxBatchSize のデフォルトを 64 に戻します
SERVER-79637 相関述語を使用したTypescript外部コレクションで $lookup のクエリ結果が不正確となる
サーバー -80363: wtimeout が設定されている場合、サーバーでデフォルトの writeConcern が無視されます。
SERVER-86474 $_ internalApplyOplogUpdate と $set: { foo: タイムスタンプ(0, 0) } が正しく複製されない
SERVER-86648 再開可能なインデックス構築ソーターのファイルはシャットダウン時に fsync されない
5.0.26 - 3月は26と2024
SERVER-68128 コマンド応答の生成中に例外がスローされると、ネットワーク エラーが発生
SERVER-72703 $out の DB ロックを MODE_IX にダウングレード
SERVER-83602 $or -> $in MatchExpression の書き換えでは、別の $or に直接ネストされた $or が生成されないはず
SERVER-86717 再シャーディングでは、ユーザーが提供したゾーン範囲に $ プレフィックス付きフィールドが含まれないことを検証する必要があります。
WT-11062 同時アクセスを可能にするために参照アドレスを安全に解放
5.0.25 - Feb 28, 2024
重要
MongoDB Server が信頼できない接続が成功する可能性があることに対する修正
CVE- 2024 - 1351により、 5.0.25以前の MongoDB 5.0では、 --tlsCAFileおよびCAFileの特定の構成において、MongoDB Server がピア証明書の検証をスキップし、信頼できない接続が成功する可能性があります。
これにより、TLS によって提供されるセキュリティ保証と、証明書の検証のために閉じられる必要があるオープン接続を実質的に削減する可能性があります。 この問題は、次の MongoDB Server バージョンに影響します。
7.0.0 - 7.0.5
6.0.0 - 6.0.13
5.0.0 - 5.0.24
4.4.0 - 4.4.28
CVSS スコア: 8.8
CWE: CWE-295: 不適切な認定検証
SERVER-64444 listIndexes は、5 より前の無効なリストでは失敗します。0アップグレード後のインデックス仕様
SERVER-82353 movePrimary が同時に実行されると、マルチドキュメントトランザクションでドキュメントが失われる可能性あり
SERVER-83564 プロセス フィールドが config.locks でインデックスされていることを確認
SERVER-85419 バランサーは、ドレイン中に適切な受信者が見つからない場合にログを破損します。
WT-10017 安定状態へのロールバック終了時に不安定になった履歴バージョンを削除
5.0.24 - Jan 18, 2024
SERVER-50792 shardCollection/refineCollectionShardKey のシャードキー インデックスが見つからない場合に、より有用なエラーを返す
SERVER-77506 シャーディングされたマルチドキュメントトランザクションでは、データと ShardVersion が一致しない可能性があります
SERVER-81878 startupRecoveryForRestore では、スタートアップ時のリカバリ中にコレクションの削除が適用されると、正常に動作しない可能性があります。
SERVER-83091 $or クエリはプラン列挙中に無限ループを引き起こす可能性あり
WT-7929 チェックポイント中の FTDC ストールを回避するための解決法を調査すること
5.0.23 - 2023 年 11 月 27 日
SERVER-78108 POS インターフェースは、そのシャットダウン状態を公開する必要があります
SERVER-78115 シャード プライマリは、設定サーバーからの新しいルーティング情報を使用する前に、過半数の書き込みをコミットする必要あり
SERVER-83150 Document::shred() はドキュメントメタデータをコピーしません
WT-11564 チェックポイントに存在する場合にのみ最新のトランザクション値を読み取るように RTS を修正
WT-11602 アプリケーションからの予想されるエビクション失敗を非表示にし、エラーが発生した場合はロールバックしない
5.0.22 - 2023 年 10 月 26 日
SERVER-68548 MongoDB Shell バージョン 4.4.15-- quiet フラグであるにもかかわらず API メッセージのログ記録
SERVER-80021 $convertが double と string の間で正しくラウンドトリップを作成する
SERVER-80703 MigrationDestinationManager のルーティング テーブルのトラバースを避けます
SERVER-81106 受信者シャードは、クローンフェーズを開始する前にコレクション バージョンがローカルに保存されるのを待たない
WT-11064 アップデートの廃止チェックの一環として、グローバルに表示されるトゥームストーンをスキップすること
5.0.21 - 2023 年 9 月 12 日
SERVER-60466 addShard の実行前に、署名された $clusterTimes をレプリカセット--shardsvrs にゴシップするドライバーをサポートします。
SERVER-71627 キャッシュされたコレクション ルート情報を更新すると、100万チャンクのクラスターですべてのクライアントリクエストが著しくブロックされる
SERVER-78813 LastCommited optime が null の出力カーソルでは、コミット点の伝達が無期限に失敗する
WT-10759 調整中に履歴保存ページの強制削除を再試行しないこと
WT-11051 集計タイムスタンプ検証における最新の耐久性がある開始タイムスタンプの比較を修正
5.0.20 - Aug 14, 2023
SERVER-74954 $ が含まれている場合、または $elemMatch の追加条件を書き換えた場合、結果が不正確になる
SERVER-78813 LastCommited optime が null の出力カーソルでは、コミット点の伝達が無期限に失敗する
SERVER-79136 時系列のメタフィールドでの $match + $group のクエリ結果が正しくありません
WT-10449 履歴ストアに書き込むアップデートがない場合、アップデートチェーンを保存しないこと
WT-11031 チェックポイントに時間ウィンドウ情報のないテーブルをスキップするように RTS を修正
5.0.19 - 2023 年 7 月 13 日
SERVER-71985 DuplicateKey エラー発生時に時系列挿入を自動的に再試行する
SERVER-74551 mongo 5.0 へのアップグレード後に、findAndModify 中に WriteConflictException が警告として不必要にログに記録さる
SERVER-77018 dbStats と 2 つのインデックス構築のデッドロック
SERVER-78126 特定の種類の入力の場合、mongo::Value() はビッグ エンディアン プラットフォーム上で常に同じ結果にハッシュします
WT-10253 セッション ダンプとセッション カーソル スイープの実行頻度が増えました
5.0.18 - 2023 年 5 月 18 日
修正された問題:
SERVER-48196 timelib を最新のものにアップグレードして、組み込みのタイムゾーン ファイルを最新の状態に更新します
SERVER-54150 安定したチェックポイントからの回復は、oplog アプリケーションの障害時に実行される必要あり
SERVER-57056 Syslog の重大度が INFO メッセージに誤って設定される
SERVER-72686 時系列コレクションの $collStats agg ステージのサポートを追加
WT-10551 増分バックアップでは変更されたブロックが省略される可能性があります
5.0.17 - Apr 27, 2023
修正された問題:
SERVER-73229 論理セッションキャッシュの更新では、セッションドキュメント の更新からの書き込みエラーが無視され、カーソルが早期に強制終了されます
SERVER-74647 状態マシンの再シャーディング作成は、中断された後に再試行する必要があります
SERVER-75261 "listCollections" コマンドは BSONObjectTooLarge エラーで失敗します
SERVER-75431 シャーディングされたクラスター内のパス名変更時にプライマリ DB のベスト エフォート チェックを削除または修正
SERVER-76098 $search と単純でない照合を含むクエリを許可します
5.0.16 - Apr 10, 2023
修正された問題:
SERVER-61909 多数のインデックスエントリを持つドキュメントの挿入または削除がハングする
SERVER-73822 時系列 $group の書き換えでは特定のアキュムレータが無視されます
SERVER-74345 mongodb-org-server 4.4.19、5.0.15、6.0.5 は、古いバージョン(Debian、RPM パッケージ)からアップグレードした後に起動しない
SERVER-74501 MigrationBatchFetcher/Inserter の完了依存を修正し、余計なクリーンアップ スレッドが生成されないようにした
SERVER-75205 すべての読み取りチケットが使い果たされた後に、ステップダウンと復元ロックの間でデッドロックが発生する
5.0.15 - Feb 27, 2023
修正された問題:
SERVER-54900 ネットワーク呼び出しをブロックすると、同期ソースの解決が無期限に遅延する可能性があります
SERVER-72416 find と findAndModify プロジェクション コードはコレクション レベルの照合を尊重しない
SERVER-71759 dataSize コマンドは生成されません
SERVER-72222 mapReduce で single reduce が最適化されている場合、マージングの結果シャーディングされたクラスターが作成されると失敗します
WT-9268 履歴保存レコードの削除を調整まで遅らせる
5.0.14 - 2022 年 11 月 21 日
修正された問題:
SERVER-68477 expireAfterSeconds TTL インデックス パラメーターの NaN 処理を改善
SERVER-66289 $out が v5.0.8 で BSONObj のサイズエラーを誤ってスローする
SERVER-61185 一意なインデックス検索には prefix_search を使用すること
SERVER-68115 「elemMatchRootLength > 0」不変トリガーのバグ修正
SERVER-68139 プロジェクション ソートが 100 MB より大きい場合、再シャーディング コマンドは失敗
5.0.13 - 2022 年 9 月 29 日
修正された問題:
SERVER-69611 はデフォルトで -ffp-contract=OFF コンパイラー オプションを設定します
SERVER-69220 refineCollectionShardKey により、現在のシャードキーフィールドを範囲ベースとハッシュ値の間で切り替えることができるため、データの不整合が発生
SERVER-67650 oplogアプライマリがoplogフェッチ に追いついていない場合、リシャーディング受信者は retainOperationTime EstimatedSecs=0 を返すことができます
SERVER-68094 カスタム生成された _id を使用した再シャーディングはプロジェクションエラーで失敗します
WT-9870 リカバリ中に最も古いタイムスタンプが更新されるたびに、固定されたタイムスタンプを更新する問題を修正しました
5.0.12 - 2022 年 9 月 5 日
修正された問題:
SERVER-68925 起動時にチェックテーブルログ設定を再導入する(SERVER-43664 を元に戻す)
SERVER-63852 getThreadName() はクラッシュしないようにする必要があります
SERVER-60958 ステップダウンイベントが発生したときに、チャンク移行でサーバーがハングしないようになりました
SERVER-65382 AutoSplitVector は、シャードキーフィールドの順序付けに clientReadable を使用しないようにします
SERVER-63843 同期シグナル ハンドラーで再帰的な doLog を許可しない
5.0.11 - Aug 19, 2022
修正された問題:
SERVER-68511
config.databasesエントリの movePrimary 更新では、ドット フィールド表記を使用する必要がありますSERVER-61321 テキストインデックスバージョンの大きな値または NaN 値の処理を改善します
SERVER-60607 地理インデックスバージョン の大きな値または NaN 値の処理を改善します
SERVER-68628 プライマリ フェイルオーバー後に失敗した再シャーディング操作を再試行すると、サーバーのクラッシュや書き込みの損失につながる可能性あり
SERVER-68522 誤って構成された TTL インデックスが含まれる FCV 4.4 で 5.0 バイナリが起動することを防ぐ
WT-9500 HSアップデートのキー/値のタイムスタンプではなく、セル時間ウィンドウを使用するようにRTSを修正
5.0.10 - 2022 年 7 月 29 日
修正された問題:
SERVER-66418 string 順序の前提条件により、依存関係分析中に無効なプロジェクションが作成されました
SERVER-65821 コミット/中止の決定が永続的でなかったトランザクションが準備された場合、setFCV 中にデッドロックが発生する
SERVER-65131 便宜的読み取りターゲットを無効にします(ヘッジされた読み取りを除く)
SERVER-63971 2PC トランザクション後にサーバーパラメータを変更して、デフォルトで書込み操作を実行する
SERVER-66433 重複する範囲の削除が v5 より前に完了するのを待機しているバックポートの期限。1バージョン
5.0.9 - 2022 年 5 月 31 日
修正された問題:
SERVER-65636 ホストごとの LDAP 接続数の制限を削除
SERVER-65137 生成された後にコレクションを更新するときに名前空間の変更を検出します
SERVER-64822 空のコレクションをシャーディングするとクリティカル セクションの解放が素早すぎる
SERVER-62175 Mongos が _parseCommand で中断されたコマンドに RetryableWrite エラー ラベルの添付に失敗
WT-9096 キーが存在しない場合に、間違ったキーと値を返す近くの検索を修正しました
5.0.8 - Apr 25, 2022
修正された問題:
SERVER-63531 commitQuorum に buildIndexes:false ノードが誤って含まれ、エラー メッセージが投票ノードのみが資格があると誤って表示
SERVER-63387 1StreamingCursor は、 WiredTigerバックアップカーソルから取得された順序でバックアップブロックを返す必要があります
SERVER-62229 resumeFromOplogAsStandalone=true 中にインデックス構築エントリを適用するときに不変的になる問題を修正しました
WT-8924 行ストアの競合をチェックするときに、挿入リストがある場合は、ディスク 時間ウィンドウで をチェックしない
5.0.7 - Apr 11, 2022
修正された問題:
SERVER-64517 RecurableAtlas App Services はスタートアップ時に適切に回復されません
SERVER-64403 SORT_MERGE 照合で検索クエリが欠落しているソート属性をエンコード
SERVER-63742 シャード内のデフォルトのトポロジー時間がシャード レジストリの無限更新につながる可能性あり
SERVER-60412 ホストメモリ制限チェックは cgroups v2 を尊重しない
WT-7922 欠落しているWiredTigerバージョンファイルの処理
5.0.6 - Jan 31, 2022
修正された問題:
WT-8395 4.4.3 からのアップグレード後にデータの不整合と 4.4.4 から 4.4.8+と 5.0.2+
SERVER-62245 MigrationRecovery では、1 つの移行のみが回復する必要があると想定してはなりません
SERVER-61427インデックスビルドでは、誤った重複が多数チェックされるため、コミット時に可用性が失われる可能性があります
SERVER-61194 大まかな粒度で時系列バケットOID の再利用を防ぐ
SERVER-60310 OCSP 応答の検証では、関連性のない証明書のステータスを考慮しないでください
5.0.5 - 2021 年 12 月 6 日
修正された問題:
SERVER-61483 リシャーディング コーディネーターがステップアップの中止決定を回復せず、成功として操作をコミットしようとすると、データの不整合が発生します
SERVER-59858 プロセス スレッドでスケジュールされたタスクの実行可能性を追加します
SERVER-51329 mongosサーバーをシャットダウンするときに予期しない再試行できないエラーが発生しました
WT-8163 チェックポイントのクリーンアップを実現するために、より多くのエビクションシナリオを検討してください
WT-7912 キー範囲がページに分裂シナリオを処理するためにプレフィックス検索のほぼ最適化を修正します。
5.0.4 - 2021 年 11 月 15 日
修正された問題:
SERVER-60326 X509 証明書に空のサブジェクト名がある場合、 Windows Server の起動に失敗
SERVER-59876 Egress 接続を確立中にlibcrypto.so からの戻りが大幅に遅れる
SERVER-59456 LDAPreaper スレッドプールを開始する
SERVER-59226 中断なしとしてマークされたプロファイル セッションで降格した場合のデッドロック
SERVER-59074 oplogの可視性を設定/待機するだけのストレージチケットは取得されません
5.0.3 - 2021 年 9 月 21 日
修正された問題:
SERVER-57667 : 再シャーディングのコレクションクローンパイプラインの処理速度を改善します
SERVER-57630 : Ubuntu18 04で SSL_OP_NO_REN後に有効にするOpenSSL に対して実行する場合は1 です。1 。1
WT-8005 : 履歴ストアのエントリが解決されない可能性があるコミットの準備バグを修正しました
WT-7995 :チェックポイントの可視性をGoことはできないグローバル可視性を修正します
WT-7984 :チェックポイントでデータのページが省略される可能性があるバグを修正しました
5.0.2 - Aug 4, 2021
修正された問題:
SERVER-58936 : 一意なインデックス制約は強制されない可能性があります
SERVER-57756 : 同時ステップダウンとトランザクションoplogエントリの適用との間の競合
SERVER-54729 : MongoDB Enterprise Debian/ Ubuntuパッケージは liblasl2-modules とliblasl2-modules-gsapi-mit に依存する必要があります
SERVER-47372 : 構成。コレクションが削除された後もキャッシュコレクションは残ります
WT-6729 : 安定版のアクティブなトランザクション チェックへのロールバックを実行中前に、休止状態でのエビクション
5.0.1 - 2021 年 7 月 22 日
修正された問題:
SERVER-58489 : ビューとして重複する名前を使用すると、コレクション作成が無限の writeConflictRetry ループになりました
SERVER-58171 : 時系列の粒度を変更してもビュー定義は更新されません
5.0.0 - 2021 年 7 月 13 日
このページの残りの部分に、5.0.0 リリースノートを記載します。
時系列コレクション
MongoDB 5.0 では、一定期間にわたる測定値のシーケンスを効率的にストアする時系列コレクションが導入されています。時系列データを時系列コレクションにストアすると、通常のコレクションと比較して、クエリの効率が向上し、データやインデックスのディスク使用量が削減されます。
集計
新しい集計演算子
MongoDB 5.0 では、次の集計演算子が導入されています。
演算子 | 説明 |
|---|---|
| |
指定された時間単位数の分だけDateオブジェクトを増加させます。 | |
2 つの日付の差を返します。 | |
指定された時間単位数でDateオブジェクトを減算します。 | |
日付を切り捨てます。 | |
ドキュメントから指定したフィールドの値を返します。 | |
| |
指定されたレートでパイプラインからドキュメントを確率的に選択するための | |
ドキュメント内の指定したフィールドを追加、更新、または削除します。 | |
ドキュメント内の指定したフィールドを削除します。名前にピリオド( |
ウィンドウオペレーター
MongoDB 5.0 では、$setWindowFields のパイプライン ステージが導入され、ウィンドウと呼ばれるコレクション内の指定された範囲のドキュメントに対して操作を実行できるようになりました。操作は、選択したウィンドウ演算子に基づいて結果を返します。
たとえば、$setWindowFields ステージを使用して以下を出力できます。
コレクション内の 2 つのドキュメント間の売上の差
売上ランキング
累計販売合計
データを外部データベースにエクスポートせずに、複雑な時系列情報の分析
全般的な集計の改善
$expr 演算子: 比較演算子はインデックスを使用
MongoDB 5.0 以降では、$expr 演算子内に配置された $eq、$lt、$lte、$gt、$gte の演算子で、インデックスを使用してパフォーマンスを向上できます。
$ifNull 式は複数の入力式を受け入れ
MongoDB 5.0 以降では、置換式を返す前に、$ifNull 式に複数の入力式を指定できます。
let 集計オプション
MongoDB 5.0 以降では、aggregate コマンドと db.collection.aggregate() ヘルパー メソッドで、集計パイプラインの他の場所で使用できる変数のリストを指定するための let オプションが追加されました。これにより、変数をクエリテキストから分離して、コマンドの読みやすさを向上させることができます。
$lookup ステージ: 簡潔な相関サブクエリ
MongoDB 5.0 以降では、集計パイプラインの $lookup ステージで、コレクション間の結合を改善する簡潔な相関サブクエリがサポートされます。
$lookup ステージ: 相関のないサブクエリ
MongoDB 5.0 以降では、$lookup に $sample ステージ、$sampleRate 演算子、または $rand 演算子を含む、パイプライン ステージ内の相関のないサブクエリの場合、繰り返される場合はサブクエリが常に再度実行されます。以前は、サブクエリの出力サイズに応じて、サブクエリの出力がキャッシュされるか、サブクエリが再度実行されていました。
「$lookup を使用して非相関サブクエリを実行する」を参照してください。
$sort ステージ: パフォーマンスの改善
MongoDB 5.0 以降では、クエリオプティマイザが $project ステージの結果を $sort ステージにプッシュダウンします。その結果、$sort 操作で project ステージで使用すると必要な RAM が少なくなり、Sort exceeded memory limit エラーを回避できます。
監査
ランタイム監査フィルター構成
MongoDB 5.0 では、実行時に監査フィルターを構成する機能が追加されました。
演算子 | 説明 |
|---|---|
監査設定をチェックするためのポーリング間隔を定義します。 | |
全般的な監査の更新
MongoDB 5.0 以降:
システムイベント監査には次の機能があります。
新しい監査メッセージ タイプは、clientMetadata、directAuthMutation、logout、startup。
これらの既存の監査メッセージ タイプ用の追加情報とロギングシナリオは、authCheck、authenticate、createCollection、 createIndex、dropCollection。
セカンダリでの DDL 操作監査が変更されました。「監査イベントとフィルター」を参照してください。
上限付きコレクション
上限付きコレクションの削除がセカンダリに複製される
MongoDB 5.0 以降では、レプリカセットの上限付きコレクションの暗黙の削除操作はプライマリによって処理され、セカンダリノードに複製されます。
上限付きコレクションで明示の削除が許可される
MongoDB 5.0.7 以降、削除メソッドを使用して、上限付きコレクションからドキュメントを削除できます。
変更ストリーム
変更イベントの出力
MongoDB 5.0 以降では、変更イベントに配列の切り捨てをレコードする updateDescription.truncatedArrays フィールドが含まれます。
Indexes
部分インデックスの動作の変更
MongoDB 5.0 以降では、partialFilterExpression フィールドが同等のフィルターを表現しない限り、同じキー パターンを使用して複数の部分インデックスを作成できます。
MongoDB の以前のバージョンでは、異なる partialFilterExpressions で同じキー パターンを使用する場合、複数の部分インデックスを作成することはできません。
一意のスパース インデックスの動作の変更
MongoDB 5.0 以降、キー パターンが同じユニークスパースおよびユニーク非スパースインデックスを単一コレクションに混在させることができます。
「独自のスパース インデックスを作成」を参照してください
インデックス構築の進行中、Ready インデックスを削除できない
インデックス構築が進行中の場合、 db.collection.dropIndexes() コマンドは準備完了インデックスを削除できません。
MongoDB のバージョン 4.4.0 ~ 4.4.4 では、バグのためこのロジックは当てはまりませんでした。
フォアグラウンド検証により、マルチキーのメタデータの不整合が修正される可能性あり
MongoDB 配置で実行すると、db.collection.validate() は、スタンドアロン配置のマルチキー メタデータの不整合を修正しようとします。
geoHaystack インデックスと geoSearch コマンドの削除
MongoDB 5.0 では、非推奨の geoHaystack インデックスと geoSearch コマンドが排除されます。代わりに、$geoNear、またはサポートされている地理空間クエリ演算子のいずれかを使用した 2 d インデックスを使用してください。
MongoDBインスタンスを 5.0 にアップグレードし、featureCompatibilityVersion を 5.0 に設定すると、既存の geoHaystack インデックスがすべて削除されます。
新しいエラーメッセージ
db.collection.createIndex() 操作と db.collection.createIndexes() 操作では、オプションが誤って指定されている場合に新しいエラー メッセージが表示されます。
中断されたインデックス構築
インデックス構築中にレプリカセット内のノードが完全にシャットダウンまたはロールバックされた場合、インデックス構築の進行状況がディスクに保存されるようになりました。サーバーが再起動すると、インデックス作成は保存された位置から再開されます。
reIndex 動作の変化
MongoDB 5.0 以降では、reIndex コマンドと db.collection.reIndex() shell メソッドはスタンドアロン インスタンスでのみ実行できます。
削除されたコマンド
MongoDB 5.0 以降では、次のデータベースコマンドと mongo シェルヘルパー メソッドが排除されます。
削除されたコマンド | 代替 |
|---|---|
| |
なし | |
なし | |
なし | |
|
|
レプリカセット
非トランザクション読み取りの変更: config.transactions
MongoDB 5.0 以降では、次の読み取り保証(read concern)とオプションのある config.transactions コレクションでは非トランザクションは読み取れません。
"majority"と afterClusterTime オプションが設定されている因果整合性のあるセッション 内で
"majority"MongoDB ドライバー と を使用する場合
hello コマンド
MongoDB 5.0以降では、 isMasterコマンドとdb.isMaster()メソッドの代替として、 helloコマンドとdb.hello()メソッドが導入されました。 新しいトポロジー メトリクスconnections.exhaustHelloは、 connectionsでこれを追跡します。
休止期間
MongoDB 5.0 以降では、mongod と mongos は休止期間に入り、シャットダウンする前に進行中のデータベース操作を完了できるようになります。
members[n]._id 値の制限が削除されました
MongoDB 5.0 以降では、members[n]._id フィールドは、0 以上の任意の整数値にできます。以前は、この値は 0 から 255 までの整数に制限されていました。
enableMajorityReadConcern が構成不可に
MongoDB 5.0 以降では、ストレージエンジンの改善により、enableMajorityReadConcern と --enableMajorityReadConcern は変更できなくなり、常にtrue に設定されています。
MongoDB の以前のバージョンでは、enableMajorityReadConcern と --enableMajorityReadConcern を構成可能であり、これらを false に設定して、ストレージ キャッシュの負荷が 3 つのノードからなるプライマリとセカンダリのアービタ(PSA)アーキテクチャで配置が固定されないようにできます。
3 ノードのプライマリセカンダリアービタ(PSA)アーキテクチャを使用している場合は、次の点を考慮してください。
セカンダリが使用できなくなったり遅延が発生したりすると、 書込み保証 (write concern
"majority"によってパフォーマンスの問題が発生することがあります。 こうした問題を軽減するためのアドバイスについては、「自己管理型 PSA レプリカセットのパフォーマンスの問題の軽減 」を参照してください。グローバル デフォルト
"majority"を使用しており、書込み保証 (write concern) が過半数のサイズより小さい場合、クエリは古い(完全には複製されていない)データを返すことがあります。
スレッド プール タイムアウト制御の拡張
MongoDB 5.0 以降では、新しい replWriterMinThreadCount サーバー パラメーターを使用して、この最小値を超えるアイドル スレッドを閉じることができるようになりました。replWriterMinThreadCount が replWriterThreadCount 未満の値に設定されている場合、replWriterMinThreadCount を超えるアイドル スレッドはタイムアウトになります。
PSA レプリカセットの再構成
プライマリ セカンダリ アービター(PSA)レプリカセットを再構成する場合、または PSA アーキテクチャに変更する場合、場合によっては再構成を 2 段階の変更で実行する必要があります。 MongoDB 5.0では、両方のステップを実行するrs.reconfigForPSASet()メソッドが導入されています。 ヘルパー メソッドを使用できない場合は、 自己管理型 PSA レプリカセットを安全に変更する の手順に従ってください。
同期ソースの再評価の制限
maxNumSyncSourceChangesPerHour ノードが同期ソースの再評価を一時的に停止する前に、1 時間あたりに実行できる同期ソースの変更回数を決定します。このパラメーターは、同期ソースがない場合でも、ノードが別のノードからの同期を開始することを妨げるものではありません。
enableOverrideClusterChainingSetting Server Parameter
MongoDB 5.0.2以降、 新しい サーバー パラメータをenableOverrideClusterChainingSetting に設定すると、true が settings.chainingAllowedであってもセカンダリ メンバーは他の セカンダリfalse メンバーからデータを複製できるようになります。
セキュリティ
オンライン証明書ローテーションのサポート
MongoDB 5.0 以降では、最初に実行中の mongod または mongos インスタンスを停止しなくても、次の TLS 証明書をオンデマンドでローテーションできるようになりました。
CRL (Certificate Revocation List) files(Linux および Windows プラットフォーム上)
これらの証明書をローテーションするには、ファイルシステム上の証明書ファイルを更新済みのバージョンに置き換えてから、rotateCertificates コマンドまたは db.rotateCertificates() shell メソッドを使用して証明書ローテーションをトリガーします。
この方法で証明書をローテーションしても、ダウンタイムは発生しません。また、アクティブなリモート接続が切断されることもありません。
詳細については、「オンライン証明書のローテーション」を参照してください。
TLS 1.3 暗号スイートの設定サポート
MongoDB 5.0 では、TLS 1.3 暗号化を使用するときに OpenSSL が許可する、サポートされている暗号スイートの構成を有効にする opensslCipherSuiteConfig パラメーターが導入されています。
TLS 接続 X509 証明書のスタートアップ警告
MongoDB 5.0 以降では、証明書にサブジェクト代替名属性が含まれていない場合、mongod と mongos で起動時の警告が発せられるようになっています。
以下のプラットフォームは、コモンネームの検証をサポートしていません。
iOS 13 以降
MacOS 10.15 以降
Go 1.15 以降
これらのプラットフォームを使用するクライアントは、CommonName 属性によって指定されているホスト名の x.509 証明書を使用する MongoDB サーバーに対して認証を行いません。
ApplyOps 特権アクション
MongoDB 5.0 では、dbAdminAnyDatabase によって継承される applyOps 権限アクションが導入されました。
シャーディングされたクラスター
再シャーディング
理想的なシャードキーを使用すると、MongoDB は一般的なクエリ パターンにしながら、ドキュメントをクラスター全体に均等に分散できます。シャードキーが最適でないと、データ分散が不均等になるため、パフォーマンスやスケーリングの問題が発生する可能性があります。MongoDB 5.0 以降では、reshardCollection コマンドを使用してコレクションのシャードキーを変更し、クラスター全体のデータの分散を変更できます。
currentOp 進行中の再シャーディング操作の報告
MongoDB 5.0 以降では、$currentOp 集計ステージ(および currentOp コマンドと db.currentOp() shell メソッド)に、再シャーディング コーディネーターとドナー シャードと受信者シャードの進行中の再シャーディング操作のステータスに関する追加情報が含まれるようになりました。
db.currentOp メソッドに集計段階の追加 mongosh
MongoDB5.0 以降では、ヘルパー$currentOp メソッド をdb.currentOp() とともに実行するときにmongosh 集計ステージが使用されます。
mongos / mongod 接続プール
MongoDB 5.0以降、 MongoDB は、 ShardingTaskExecutorPoolReplicaSetMatchingの新しいデフォルトとしてパラメータ オプション"automatic"を追加します。 mongosに設定すると、インスタンスは"matchPrimaryNode"オプションに指定された動作に従います。 mongodに設定すると、インスタンスは"disabled"オプションに指定された動作に従います。
renameCollection シャーディングされたコレクションと互換性あり
MongoDB 5.0 以降では、renameCollection コマンドを使用してシャーディングされたコレクションの名前を変更できます。
シャーディングされたクラスター内のシャーディングされたコレクションまたはシャーディングされていないコレクションの名前を変更すると、ソース コレクションとターゲット コレクションだけがすべてのシャードでロックされます。ソース コレクションとターゲット コレクションでのその後の操作は、名前変更操作が完了するまで待つ必要があります。
movePrimary 操作中の書き込みに関するエラーメッセージ
MongoDB 5.0 以降では、movePrimary コマンドを使用してシャーディングされたクラスターからシャードを除くと、元のシャードへの書き込みでエラー メッセージが生成されます。
チャンクの分割とマージの変更ログに所有シャードの表示
MongoDB5.0 以降、 分割 とconfig.changelog マージ 操作の コレクション内のドキュメントにはowningShard フィールドが含まれます。owningShardフィールドには、分割またはマージされたチャンクを所有するシャードのshardIdが表示されます。
この owningShard フィールドは、分割またはマージ操作が頻繁に発生するシャードを識別するのに役立ちます。
maxCatchUpPercentageBeforeBlockingWrites Server Parameter
MongoDB5.0 以降では、転送されるチャンクの合計サイズ(MB maxCatchUpPercentageBeforeBlockingWritesmoveChunk単位)と比較した場合、 操作中にまだ移行されていないデータの最大許可パーセンテージを指定するために、 を設定します。
このパラメーターは、以下の動作に影響を与える可能性があります。
moveChunk手動で実行されるコマンド複数の
moveChunkコマンドを自動的に実行してチャンクをシャード全体に均等に分散するロードバランサー機能。「シャーディングされたクラスター バランサー」を参照してください。
shell の変更
新しい MongoDB Shell: mongosh
MongoDB v 5.0ではmongo shell は非推奨になりました。 置き換え shell はmongoshです。 レガシーのmongo shell は将来のリリースで削除される予定です。
MongoDB v 5.0 ではshellのパッケージも変更されています。詳細については、「インストール手順」を参照してください。
GCP および Azure KMS プロバイダーの shell サポート
MongoDB5.0以降、 とGoogle Cloud PlatformKMS は、Azure Key Vault mongoshmongoshellクライアント側フィールドレベル暗号化のKMS (KMS ) プロバイダーとして、 とレガシー の両方でサポートされています。
KMS を使用すると、クライアント側のフィールドレベルの暗号化ワークフローの一部として、データ暗号化キーを暗号化および復号化するのに使用される CMK(Customer Master Key)を一元的かつ安全に保存できます。
さらに、構成された KMS では、MongoDB Enterprise で使用する時に、データ フィールドについて CSFLE がドキュメントを復号化する方法を使用できます。
スナップショット
読み取り保証 (read concern) の延長サポート "snapshot"
MongoDB 5.0 以降では、"snapshot" の読み取り保証 (read concern) で、プライマリおよびセカンダリのマルチドキュメントトランザクション以外の一部の読み取り操作で読み取り確認ができるようになりました。「長時間実行スナップショット クエリの実行」を参照してください。
minSnapshotHistoryWindowInSeconds Server Parameter
MongoDB 5.0 以降では、minSnapshotHistoryWindowInSeconds パラメーターを使用して、WiredTiger がスナップショット履歴を保持する期間を制御できます。
トランザクション
coordinateCommitReturnImmediatelyAfterPersistingDecision Parameter
サーバー パラメーター coordinateCommitReturnImmediatelyAfterPersistingDecision は、トランザクションをコミットする決定がクライアントに返されるタイミングを制御します。
このパラメーターは MongDB 5.0 で導入されたもので、デフォルト値はtrueです。 MongoDB 6.0 と 5.0.10 ではデフォルト値がfalseに変更されています。
coordinateCommitReturnImmediatelyAfterPersistingDecision が false の場合、シャードトランザクションの調整役は、コミットの決定をクライアントに返す前に、すべてのノードがマルチドキュメントトランザクションのコミットを確認するまで待機します。
名称の変更
2022 年 2 月より、「Versioned API」の用語が「Stable API」に変更されました。この用語の変更によるコンセプトと機能についての変更はありません。
一般的な変更点
パイプライン ステージを使用するクエリの実行プラン統計$lookup
フィールド名における($)と(.)の処理の改善
MongoDB 5.0 では、($)プレフィックスが付いているフィールド名や(.)文字を含むフィールド名のサポートが強化されました。これらの文字を使用するデータソースの操作を容易にするために、データを保存するための検証ルールが更新されました。
クラスター全体のデフォルトの書込み保証 (write concern)
MongoDB 5.0 以降では、setDefaultRWConcern コマンドを使用して CWWC(Cluster Wide Write Concern)を設定すると、書込み保証 (write concern) を設定解除できなくなります。
暗黙のデフォルト書込み保証 (write concern)
MongoDB 5.0 以降、暗黙のデフォルト書込み保証 (write concern)はw: majorityです。ただし、アービタを含むレプリカセットの配置ではエッジケースがあります。
レプリカセットの投票権の過半数は、投票ノードの半数に 1 を加え、端数を切り捨てた値です。データを保持する投票ノードの数が投票の過半数を超えない場合、デフォルトの書込み保証 (write concern) は
{ w: 1 }になります。その他のすべてのシナリオでは、デフォルトの書込み保証 (write concern) は
{ w: "majority" }です。
具体的には、MongoDB では次の式を使用して、デフォルトの書込み保証 (write concern)を決定します。
if [ (#arbiters > 0) AND (#non-arbiters <= majority(#voting-nodes)) ] defaultWriteConcern = { w: 1 } else defaultWriteConcern = { w: "majority" }
たとえば、次の配置とそれぞれのデフォルトの書込み保証 (write concern) について考えてみましょう。
Non-Arbiters | アービタ | 投票ノード | 投票ノードの過半数 | 暗黙のデフォルト書込み保証 (write concern) |
|---|---|---|---|---|
2 | 1 | 3 | 2 |
|
4 | 1 | 5 | 3 |
|
最初の例では、次のようになります。
投票ノードは合計 3 つあり、非アービタ ノードが 2 つ、アービタ ノードが 1 つです。
投票ノードの過半数(1 に 3 の半分を足し、切り捨てた値)は 2 です。
非アービタの数 (2) は、投票ノードの過半数 (2) と等しく、暗黙の書込み保証 (write concern)
{ w: 1 }になります。
2 番目の例では、次のようになります。
投票ノードは合計 5 つあり、非アービタ ノードが 4 つ、アービタ ノードが 1 つあります。
投票ノードの過半数(1 に 5 の半分を足し、切り捨てた値)は 3 です。
非アービタ数 (4) が投票ノードの過半数(3) よりも多いため、暗黙の書込み保証 (write concern)が
{ w: "majority" }になります。
{ w: "majority" } のデフォルトの書込み保証 (write concern) は、選挙時やレプリカセット ノードが使用できなくなった場合に、より強力な耐久性保証を提供します。
mongosShutdownTimeoutMillisForSignaledShutdown Parameter
MongoDB 5.0 以降、新しいパラメーター mongosShutdownTimeoutMillisForSignaledShutdown は、mongos のシャットダウンを開始する前に、進行中のデータベース操作が完了するまで待機する時間をミリ秒単位で指定します。
設定可能な zstd 圧縮レベル
MongoDB 5.0 では、zstdCompressionLevel 構成ファイルオプションが導入され、blockCompressor がzstd に設定されている場合に圧縮レベルを設定できます。
ロックフリーの読み取り操作
MongoDB 5.0 以降では、別の操作がコレクションに対して排他的(X)書込みロック(write lock)を保持している場合、次の読み取り操作はブロックされません。
コレクションに書き込む場合、mapReduce と aggregate は、意向排他(IX)ロックを保持します。そのため、コレクションに対して排他 X ロックがすでに保持されている場合、 mapReduce および aggregate 書き込み操作はブロックされます。
スキーマ検証の失敗の説明
MongoDB 5.0 では、ドキュメントがスキーマ検証に失敗した場合、詳細な説明が追加されます。
validate コマンドの修復オプション
MongoDB 5.0 以降では、validate コマンドと db.collection.validate() ヘルパー メソッドに、不整合のあるコレクションを修復するための新しい修復オプションが追加されました。
validate コマンドと db.collection.validate() ヘルパー メソッドも、コレクションが修復された場合は true となる新しい repaired ブール値を返します。
validate コマンドによるドキュメント スキーマ違反の報告
MongoDB 5.0 以降では、validate と db.collection.validate() がコレクション内のドキュメントを検証します。コマンドは、スキーマ検証ルールに違反しているかどうかを報告します。
修復オプション mongod
MongoDB 5.0 以降では、mongod の --repair オプションにより、コレクションが検証され、不整合が検出され、可能であれば修正されるため、インデックスの再構築を回避できます。「用途と制限の --repair オプション」を参照してください。
corruptRecords 検証出力のフィールド
MongoDB 5.0 以降では、validate コマンドと db.collection.validate() ヘルパー メソッドは、破損したドキュメントの RecordId 値の配列を含む新しい corruptRecords フィールドを返します。
maxValidateMemoryUsageMB Server Parameter
MongoDB 5.0以降、 setParameterコマンドに新たに追加されたmaxValidateMemoryUsageMBパラメーターでは、 validateコマンドの最大メモリ使用量を設定します。
findChunksOnConfigTimeoutMS Server Parameter
MongoDB 5.0 以降では、findChunksOnConfigTimeoutMS パラメーターを使用して、chunks での検索操作のタイムアウトを変更できます。
データベースプロファイラー filter オプション
MongoDB 5.0 以降では、データベースプロファイラーの filter オプションを設定して、どの操作をプロファイルしてログに記録するかを決定できます。slowms プロファイラー オプションと sampleRate プロファイラー オプションの代わりに filter 式を使用できます。
次を参照してください。
データベースプロファイラー設定の変更のログへの記録
MongoDB 5.0以降では、profileコマンドまたはdb.setProfilingLevel()ラッパー メソッドを使用してデータベースプロファイラーlevel、 slowms、 sampleRate、またはfilterに加えられた変更は、 log fileに記録されます。
サーバーログと監査ログの独立したログ ローテーション
MongoDB 5.0 以降では、監査するが有効になっている場合、logRotate コマンドを使用してサーバー ログと監査ログを個別にローテーションできるようになりました。以前は、logRotate は、2 つのログを一緒にローテーションしていました。
remote 低速操作ログのフィールド
MongoDB 5.0 以降では、低速操作ログ メッセージにクライアントの IP アドレスを指定する remoteフィールドが含まれます。
remoteOpWaitMillis ログ フィールド
MongoDB 5.0 以降では、remoteOpWaitMillis ログ フィールドを使用して、シャードからの結果の待機時間を取得できます。
resolvedViews ビューの低速クエリのログ フィールド
MongoDB 5.0 以降では、ビューの低速クエリのログ メッセージに、ビューの詳細を含む resolvedViews フィールドが含まれるようになりました。
let オプションを使用した変数の定義
MongoDB 5.0 以降では、次のコマンドに変数のリストを定義する let オプションが追加されました。これにより、変数をクエリテキストから分離して、コマンドの読みやすさを向上させることができます。
findコマンドfindAndModifyコマンドと対応するdb.collection.findAndModify()シェルヘルパーupdateコマンドと対応するdb.collection.update()シェルヘルパーdeleteコマンドdb.collection.remove()シェルヘルパー
update コマンドには、変数のリストを定義する c フィールドもあります。
デフォルトでユーザー名から LDAP DN へのマッピングをサポート
MongoDB 5.0 以降では、mongod / mongos と mongoldap の userToDNMapping の構成ファイル オプションと、--ldapUserToDNMapping のコマンドライン オプションが、空のマッピング ドキュメント(空の文字列または空の配列など)がオプションに指定されている場合、デフォルトで認証されたユーザー名を LDAP DN としてマッピングするようになりました。以前は、空のマッピング ドキュメントを提供するとマッピングが失敗していました。
追加の dbStats 空き容量の統計
MongoDB 5.0 以降では、dbStats コマンドは次の追加統計を出力します。
コレクションに割り当てられた空き領域(
freeStorageSize)インデックスに割り当てられた空き領域(
indexFreeStorageSize)コレクションとインデックスに割り当てられた空き領域の合計(
totalFreeStorageSize)
serverStatus 出力の変更
serverStatus には、出力に次の新しいフィールドが含まれます。
- 集計メトリクス
- API バージョン メトリクス
- レプリケーション メトリクス
- 読み取り保証 (read concern) カウンター
readConcernCountersは、クエリ操作(readConcernCountersはopReadConcernCountersに置き換えられます)によって指定された読み取り保証 (read concern) レベルを報告します。readConcernCountersに次の新しいフィールドが追加されました。readConcernCounters.nonTransactionOps.noneInforeadConcernCounters.transactionOps.noneInfo
- 書込み保証 (write concern) カウンター
opWriteConcernCountersに次の新しいフィールドが追加されました。opWriteConcernCounters.insert.noneInfoopWriteConcernCounters.update.noneInfoopWriteConcernCounters.delete.noneInfo
- スレッド接続の数
connections.threadedは、クライアントからの着信接続数を報告します。この接続は、クライアントのリクエストを処理するスレッドに割り当てられます。
- 再シャーディング統計
shardingStatistics.reshardingは、再シャーディング操作に関する統計を報告します。
- サービス実行メトリクス
network.serviceExecutorsは、クライアントのリクエストの操作を実行するサービス実行プログラムについて報告します。
- カーソル メトリクス
metrics.cursor.moreThanOneBatchは、複数のバッチを返したカーソルの合計数を報告します(追加のバッチはgetMoreコマンドを使用して取得されます)。metrics.cursor.totalOpenedは、開かれたカーソルの総数を報告します。
- セキュリティ カウンター
security.authentication.saslSupportedMechsReceivedは、helloリクエストに有効なhello.saslSupportedMechsフィールドが含まれている回数を報告します。
- REPL
replに、レプリカセット プライマリでのみ実行されるサービスに関する追加情報を含む、primaryOnlyServicesドキュメントが含まれるようになりました。
プラン キャッシュ デバッグ情報のサイズ制限
MongoDB 5.0以降では、すべてのコレクションのplan cachesの累積サイズが0.5より小さい場合にのみ、プラン キャッシュは完全なplan cacheエントリを保存します。 GB。 すべてのコレクションのplan cachesの累積サイズがこのしきい値を超えると、特定のデバッグ情報なしで追加のplan cacheエントリが保存されます。
plan cache エントリの推定サイズ(バイト単位)は、$planCacheStats の出力に表示されます。
セッション内で開かれた非アクティブなカーソルの閉包
MongoDB 5.0以降では、対応するクライアント セッション内で作成されたカーソルは、セッションがタイムアウトした場合、またはクライアントがカーソルを使い果たした場合に、対応するサーバー セッションがkillSessionsコマンドで終了すると閉じます。 「 mongoshでのカーソルの反復 」を参照してください。
新しい validateDBMetadata コマンド
MongoDB 5.0 では、validateDBMetadata コマンドが追加されました。validateDBMetadata コマンドは、データベースまたはコレクションの保存されたメタデータが特定の API バージョン内で有効であるかどうかを確認します。
パフォーマンスに関する考慮事項
暗黙のデフォルト書込み保証 (write concern)
MongoDB 5.0 では、デフォルトの書込み保証 (write concern) が { w: "majority" } に変更されます。MongoDB では、レプリカセット ノードの計算された過半数がディスクへの書込み (write) を実行、永続化した後にのみ書込みを認識するため、新しいデフォルトの書込み保証 (write concern) はパフォーマンスに影響を与える可能性があります。
アプリケーションがパフォーマンスを重視した書込み (write) に依存している場合、データ耐久性の保証を犠牲にしてデフォルトの書込み保証 (write concern) を無効にできます。この設定を無効にするには、次のことを実行します。
パフォーマンスの重要な書き込みについては、個々の操作レベルで書込み保証 (write concern) を設定します。詳細については、「ドライバーのドキュメント」を参照してください。
デフォルトの書込み保証 (write concern) を明示的に設定するには、
setDefaultRWConcernコマンドを使用します。
警告
書込み操作で{ w: 1 }書込み保証が使用される場合、書込み操作が完了する前にプライマリが再起動すると、ロールバック ディレクトリはoplog hole後に送信された書込みを除外することがあります。
local デフォルトの読み取り保証 (read concern)
MongoDB 5.0 以降では、プライマリとセカンダリに対する読み取り操作のデフォルトの読み取り保証 (read concern)レベルは "local" です。In MongoDB 4.4 では、シャーディングされたクラスターのセカンダリを対象とするクエリは読み取り保証 (read concern)"available" を使用し、孤立したドキュメント を返すことができます。
これにより、フィルターを使用するカウントクエリと対象クエリのレイテンシが大幅に増加する可能性があります。
setDefaultRWConcern を使用してクラスター全体の読み取り保証 (read concern) を設定することで、この動作をオプトアウトできます。
スナップショット履歴の保持
MongoDB 5.0 では、minSnapshotHistoryWindowInSeconds デフォルト値が 300 に引き上げられ、パフォーマンスに悪影響を及ぼす可能性があります。読み取り保証 (read concern) "snapshot" を使用していない場合は、すべての mongod インスタンスで minSnapshotHistoryWindowInSeconds パラメータの値を 5 に減らすことができます。詳細については、「スナップショット履歴の保持」を参照してください。
注意
シャーディングされたクラスターを実行している場合は、コンフィギュレーションサーバーの minSnapshotHistoryWindowInSeconds を変更しないでください。
プラットフォーム サポート
最小マイクロアーキテクチャ
MongoDB 5.0 では、以下の最小マイクロアーキテクチャ要件が導入されています。
CPU | サポートされる最小マイクロアーキテクチャ |
|---|---|
Intel | MongoDB 5.0 には、次のいずれかが必要です。
|
AMD | MongoDB 5.0 には、AMD Bulldozer 以降が必要です。 |
ARM | MongoDB 5.0 には、ARMv8.2-A 以降が必要です。 |
MongoDB v5.0 は、これらの最小マイクロアーキテクチャ要件を満たさない x86_64 プラットフォームまたは arm64 プラットフォームではサポートされません。
詳細については、「x86_64 プラットフォームのサポート」を参照してください。
削除されたプラットフォーム
MongoDB 5.0 では、次のプラットフォームのサポートが除かれます。
MongoDB 5.0 でサポートされているプラットフォームとアーキテクチャの完全なリストについては、「プラットフォーム サポート」を参照してください。
互換性に影響する変更
一部の変更は互換性に影響を与える可能性があり、ユーザー側のアクションが必要になる場合があります。互換性の変更の詳細リストについては、「MongoDB 5.0 の互換性の変更」を参照してください。
アップグレード手順
重要
機能の互換性バージョン
MongoDB 4.4 配置から MongoDB 5.0 にアップグレードするには、4.4 配置で featureCompatibilityVersion を 4.4 に設定する必要があります。バージョンの確認方法
db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )
MongoDB 5.0 にアップグレードするには、MongoDB 配置に固有のアップグレード手順を参照してください。
5.0へのアップグレードに関するガイダンスが必要な場合は、 MongoDB プロフェッショナル サービスがメジャー バージョン アップグレード サポートを提供して、MongoDB アプリケーションを中断することなくスムーズに移行できるようにします。
ダウングレードの検討事項
MongoDB は 1 つのバージョンのダウングレードのみをサポートします。現在のリリースより数バージョン前のリリースにダウングレードすることはできません。
たとえば、5.0 シリーズの配置を 4.4 シリーズにダウングレードできます。ただし、4.4 シリーズの配置から 4.2 シリーズへのさらなるダウングレードはサポートされていません。
ダウンロード
MongoDB 5. 0をダウンロードするには、MongoDB ダウンロードセンターにアクセスします。
既知の問題点
バージョン | 問題 | ステータス |
|---|---|---|
5.0.0 | SERVER-58171 : 時系列コレクションの | 5.0.1 で修正済み |
5.0.0 | SERVER-58392 : リシャーディング操作が進行中の場合、バックアップまたは復元操作が成功しなくなる可能性があります。 | 未解決 |
問題を報告する
問題を報告するには、MongoDB GitHub リポジトリで、MongoDB サーバーまたは関連プロジェクトのいずれかに対して JIRA チケットを提出する手順を参照してください。