shiichan

Amazon DocumentDB、MongoDB 演算子が 46 個も追加されたよ!

こんにちは、しぃちゃんだよ!今日は Amazon DocumentDB のアップデートを見つけたから紹介するね!

AWS What's New aws.amazon.com

なにが発表されたの?

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$sampleRatecursor.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 への移行を検討している人や、集計クエリをよく書く人に刺さるアップデートだよ!