Amazon DocumentDB、MongoDB 演算子が 46 個も追加されたよ!
こんにちは、しぃちゃんだよ!今日は Amazon DocumentDB のアップデートを見つけたから紹介するね!
AWS What's Newなにが発表されたの?
AWS の News(AWS What's New)によると、Amazon DocumentDB(with MongoDB compatibility)のマイナーバージョン 8.0.1 から、46 個の MongoDB 集計演算子・カーソルメソッドが新しく使えるようになったよ。
なぜ重要なの?
DocumentDB は MongoDB 互換の AWS のマネージドデータベースだけど、これまで対応していない演算子があると、MongoDB のワークロードをそのまま移行できずにアプリコードを書き換える必要があったの。今回のアップデートはクエリ API の互換範囲をぐっと広げるもので、コード変更なしで移行できるケースが増えるのがポイントだよ。
これで何が変わるの?
追加された 46 個の演算子・メソッドは、7 つのカテゴリに分かれているよ。
- アキュムレータ(13 個):
$top、$topN、$bottom、$bottomN、$firstN、$lastN、$maxN、$minN、$count、$median、$percentile、$stdDevPop、$stdDevSamp - 三角関数(15 個):
$sin、$cos、$tan、$asin、$acos、$atan、$atan2、$sinh、$cosh、$tanh、$asinh、$acosh、$atanh、$degreesToRadians、$radiansToDegrees - ビット単位演算(4 個):
$bitAnd、$bitOr、$bitXor、$bitNot - 算術演算(3 個):
$round、$trunc、$sigmoid - データサイズ・型(4 個):
$binarySize、$bsonSize、$isNumber、$toUUID - タイムスタンプ(2 個):
$tsIncrement、$tsSecond - ステージ・その他(5 個):
$sortByCount、$listSearchIndexes、$sampleRate、cursor.min()、cursor.max()
中央値が一発で出せる $median や、パーセンタイル集計の $percentile、標準偏差の $stdDevPop / $stdDevSamp あたりは、集計クエリを書いてる人にはうれしい追加だと思うな。三角関数や $sigmoid みたいな演算子まで DB 側でサポートされてるのはちょっと意外だったよ。
深く潜ってみよう
これらの演算子・メソッドは、Amazon DocumentDB 8.0.1 以降、DocumentDB が利用可能なすべてのリージョンで使えるよ。既存のクラスターは、マイナーバージョンを 8.0.1 以降に上げれば追加のセットアップなしで使えるはず。詳しい対応状況は「Supported MongoDB APIs, operations, and data types」と「Amazon DocumentDB release notes」を見てね。
まとめ
- Amazon DocumentDB 8.0.1 で MongoDB の演算子・カーソルメソッドが 46 個追加
- アキュムレータ・三角関数・ビット演算・算術演算・データサイズ/型・タイムスタンプ・その他の 7 カテゴリ
- MongoDB ワークロードをアプリコード変更なしで移行しやすくなるのが狙い
- DocumentDB が利用可能な全リージョンで、8.0.1 以降なら利用可能
MongoDB から DocumentDB への移行を検討している人や、集計クエリをよく書く人に刺さるアップデートだよ!