Azure Cosmos DB入門

Azure Cosmos DBとは

Azure Cosmos DB の概要
謎の分散データベース「Azure Cosmos DB」一問一答
クラウドサービス、Azureで提供されているNoSQLデータベース

この惑星(地球)にあるAzureリージョンで、データを分散保存するデータベース基盤という意味です。

それでCosmoってついているのか~

最寄りのリージョン(データセンター)を選択してデータを保存できる
→ DBアクセス・操作のパフォーマンスが高い

Cosmos DBの基礎知識

はじめてのCosmos DB
コレクション単位で課金されるから、コレクション数を節約してDB設計をしないとなのか!
→ 登録するデータのフォーマット(JSONのキーかな?)は共通にする

クラウドサービスを使う時はコスト面を考えて設計する必要もあるのか…

パフォーマンスチューニング

Cosmos DBのパフォーマンスを上げるにはこんな方法がある

  • パーティションキーを設定する
    • 大量データを複数のサーバに件数を分割して更新できる
  • 「更新データ件数/クエリ」の設定を上げる
    • 1クエリで更新できるデータ件数を増やせる
  • ReadとWriteを分ける
    • Cosmos DBは「書き込み専用」にする
    • 読み出しはAzure Cognitive Searchを使う(Cosmos DBと同期させる)
  • クエリを圧縮転送する これはRDBのパフォーマンスチューニングだった!
    • DBとSSLでやり取りする時にクエリを圧縮してサイズを小さくする

仕事でCosmos DBのパフォーマンスチューニングについてプロからお話を聞いたので書きました
クラウドすら全然知らないので、何回も見返して、調べて理解します