どんな記事?
Azure Cosmos DBの辛い点を書く記事。
Azure Cosmos DBとは
-
AzureのNoSQLサービス
-
以下のDBエンジンから選択して利用する形式 (Amazon Aurora的なイメージ)
-
Azure独自ドキュメントDB (通称SQL API) ← 本記事の対象
-
Mongo DB (互換)
-
Cassandra (互換)
-
Gremlin (互換)
-
Azure Table Storage (互換)
辛い点
OFFSET LIMITが全然OFFSET LIMITしてない。
ページング処理をしたい場合OFFSET LIMIT使いますよね?
100ページ目のデータを見たい時に1~100ページのデータを全部取得しませんよね?
そんなことしたらDBの負荷がヤベえことになるのは簡単に想像できると思います。
ところがどっこい!
Azure Cosmos DBのOFFSET LIMITは全部取得しやがるんです!
マジで辛い。
(正確に言うと、DBは1~100ページのデータを全て返してSDKの中でデータのスキップ処理が行われます。つまりDBの負荷はそのままでソースコード側の負荷だけ軽減されるという事です。)
参考