投稿日: Nov 9, 2020
Amazon DocumentDB (MongoDB 互換) は、MongoDB のワークロードをサポートする、高速かつスケーラブルで可用性の高いフルマネージド型ドキュメントデータベースサービスです。Amazon DocumentDB では、JSON データの保存、クエリ、インデックス作成を簡単かつ直観的に行えます。
Amazon DocumentDB は引き続き MongoDB との互換性を高めていきます。本日追加されたのは、ACID トランザクションを含む MongoDB 4.0 互換のサポートです。MongoDB 4.0 互換をサポートすることにより、MongoDB 4.0 ワークロードを Amazon DocumentDB に移行し、MongoDB 4.0 データベースで現在使用しているものと同じアプリケーション、ドライバー、およびツールをほとんど変更せずに使用できるようになりました。
以下は、Amazon DocumentDB 4.0 で導入された主要機能の一部です。
- ACID トランザクション – Amazon DocumentDB は、複数のドキュメント、ステートメント、コレクション、およびデータベース間でトランザクションを実行する機能をサポートするようになりました。トランザクションは、Amazon DocumentDB クラスター内の 1 つ以上のドキュメントに対して ACID 操作を実行できるようにすることで、アプリケーション開発を簡素化します。
- ストリームの変更 – クラスターレベル (client.watch() または mongo.watch()) およびデータベースレベル (db.watch()) で変更ストリームを開くことができるようになりました。startAtOperationTime を指定して変更ストリームカーソルを開き、変更ストリームの保持期間を 7 日間に延長することもできます (以前は、24 時間制限)。
- AWS DMS – AWS Database Migration Service (AWS DMS) を使用して、MongoDB 4.0 ワークロードを Amazon DocumentDB に移行できるようになりました。AWS DMS は、Amazon DocumentDB 3.6 と 4.0 の間でアップグレードを実行するために、MongoDB 4.0 ソース、Amazon DocumentDB 4.0 ターゲット、および Amazon DocumentDB 3.6 ソースをサポートするようになりました。
- モニタリング – トランザクションの追加により、currentOp、ServerStatus、profiler の新しいフィールドに加えて、TransactionsOpen、TransactionsOpenMax、TransactionsAborted、TransactionsStarted、TransactionsCommitted の 5 つの新しい Amazon CloudWatch メトリクスを使用してトランザクションの使用状況をモニタリングできるようになりました。
- パフォーマンスとインデックス作成 – このリリースでは、複数のパフォーマンスとインデックス作成における機能が改善されています。$lookup ステージでインデックスを使用する機能、プロジェクションを使用する find() クエリは、インデックス (対象クエリ) から直接提供できるようになりました。findAndModify API を使用した hint()、$addToSet 演算子のパフォーマンスの最適化、および全体的なインデックスサイズを削減するための改善も施されています。
- 演算子 – 新しい集計演算子 ($ifNull、$replaceRoot、$setIsSubset、$setInstersection、$setUnion、および $setEquals) のサポートが追加されました。
- ロールベースのアクセスコントロール (RBAC) – ListCollection コマンドと ListDatabase コマンドを使用し、オプションで authorizedCollections パラメータと authorizedDatabases パラメータを使って、ユーザーがそれぞれ listCollections ロールと listDatabase ロールを必要とせずにアクセス許可が与えられたコレクションとデータベースを一覧表示できるようになりました。ユーザーは、KillCursor ロールを必要とせずに自分でカーソルを終了することもできます。
Amazon DocumentDB 4.0 とトランザクションの詳細については、Amazon DocumentDB での MongoDB 4.0 の互換性とトランザクションの紹介を参照してください。