MongoDB 8.2が正式リリースされました。マイナーリリースながら、パフォーマンス改善・メモリ管理の柔軟化・セキュリティ強化など、実運用に直結する変更が多数含まれています。
この記事でわかること:
- 8.2 で何が変わったか(パフォーマンス・メモリ・シャーディング)
- アップグレード前に確認すべき互換性の注意点
- Queryable Encryption の新しいクエリタイプ(パブリックプレビュー)
8.2 はマイナーリリース
MongoDB 8.2 は 8.x 系のマイナーリリースです。MongoDB Atlas とオンプレミスの両方でサポートされており、MongoDB 8.1 の変更内容もすべて引き継いでいます。セキュリティ修正として CVE-2025-13643・CVE-2025-13644・CVE-2026-1847 の対応も含まれています。
パフォーマンス改善
初期同期・時系列データ・クエリ実行の3点で速度が向上しています。
8.1 時点の計測では、時系列の一括挿入スループットが最大 195% 増、一致フィルタークエリが最大 40% 増、配列を含むドキュメントへのクエリが最大 20% 増、CPU 使用率は最大 5% 削減でした。
8.2 ではこれらをさらに引き継ぎながら、クエリのマルチプランニングコストの削減と初期同期の高速化が追加されています。改善幅はワークロードと構成によって異なります。
初期同期中のインデックスビルドがメモリ管理を明示化
これまで内部的に制御されていた初期同期中のインデックスビルドのメモリ使用量が、8.2 以降は利用可能な RAM の 10% をデフォルトで使う設計になりました。
パラメーターで別の割合を指定できます。デフォルトでは最小 200 MB・最大 16 GB の範囲内に自動調整されます。最小・最大を個別に変えたい場合は / を使います。
WiredTiger キャッシュサイズをパーセントで指定できるように
従来は (ギガバイト指定)のみでしたが、8.2 から オプションが追加されました。利用可能メモリに対する割合でキャッシュサイズを指定できます。
インスタンスのメモリ構成が変わるたびにキャッシュサイズを手動計算し直す運用をしている場合、割合指定に切り替えると設定の見通しがよくなります。
シャーディング:孤立ドキュメント削除時の読み取り処理が変わった
チャンク移行後に残る孤立ドキュメントを削除する際、8.2 以前はセカンダリノードで実行中の読み取りがそのまま継続し、ドキュメントが暗黙的に欠落する可能性がありました。
8.2 では新パラメーター (デフォルト )が追加され、孤立ドキュメント削除前に該当の読み取りを自動終了するようになりました。あわせて のデフォルト値が 900 から 3600 に延長されています。
Queryable Encryption:暗号化フィールドへの部分一致検索がプレビュー対応
暗号化したまま検索できる Queryable Encryption に、プレフィックス・サフィックス・サブストリング検索が加わりました。ただし現時点はパブリックプレビューであり、本番環境での有効化は非推奨です。
これらのクエリを有効にしたコレクションは GA リリースとの互換性がなく、削除が必要になります。
アップグレード前に確認すべき注意点
Linux カーネル 6.19 との非互換
MongoDB 8.0 以降を Linux カーネル 6.19 で動作させると、起動時にクラッシュする可能性があります。TCMalloc の現行バージョンとの互換性問題が原因です。パッケージマネージャーや Docker 経由のインストールも含め、すべての MongoDB パッケージが対象です。TCMalloc 側のパッチリリース後に解消される予定です。
地理空間インデックスの動作変更
ドキュメントに GeoJSON とレガシー数値座標の両方が含まれている場合、8.2 以降は GeoJSON を優先するようになりました。既存のインデックスが旧来の動作に依存している場合は、地理空間インデックスの再構築が必要になることがあります。
mongosync は 8.2 で非サポート
レプリカセット間のデータ移行ツール mongosync は、MongoDB 8.2 ではサポートされていません。
アップグレードの判断基準
Linux カーネル 6.19 の環境・地理空間インデックスを使っているコレクション・mongosync を利用中のパイプライン、の3点が当てはまる場合は対応方針を先に決めてから移行を進めてください。それ以外の環境であれば、パフォーマンス向上とセキュリティ修正の恩恵を受けるためにアップグレードを検討する価値があります。
