Upgrade to Pro — share decks privately, control downloads, hide ads and more …

2020 年下半期 Cosmos DB の更新まとめ

Ff7f1f76468f46a1c5c84b9238a4b162?s=47 miyake
November 18, 2020

2020 年下半期 Cosmos DB の更新まとめ

Alternative Architecture DOJO #5 で発表したスライドです。スライド内のリンクを参照するには PDF をダウンロードしてご覧下さい。

Ff7f1f76468f46a1c5c84b9238a4b162?s=128

miyake

November 18, 2020
Tweet

Transcript

  1. 2020 年下半期 Cosmos DB の更新まとめ Alternative Architecture DOJO #5 Kazuyuki

    Miyake - ZEN Architects
  2. About Me 三宅 和之 @kazuyukimiyake 株式会社ゼンアーキテクツ CTO Microsoft MVP (

    for Microsoft Azure ) Vue.js ⽇本ユーザーグループ運営 PaaS がかりの部屋(Blog): https://k-miyake.github.io/blog/
  3. Azure Cosmos DB 2020 年後半のアップデート 多すぎるため、分野ごとに個⼈的に注⽬の Updates に絞っていきます 3

  4. Updates スケーリング関連 オートスケール: GA Autoscale provisioned throughput for Azure Cosmos

    DB ★★★ サーバーレス: Preview Serverless offer for Azure Cosmos DB now in preview  Serverless offer for Azure Cosmos DB in preview on all APIs ★ 11 ⽉にすべての API で利⽤可能に 4
  5. 「オートスケール」のユースケース 夜間にトラフィックが減るようなアプリ等で有効 RU 使⽤率が 2/3 以内であれば固定より有利になる [docs] 5

  6. 「サーバーレス」のユースケース 主に開発⽤/低トラフィック⽤ [docs] (まだ未サポートだが) Synapse Link との組み合わせが有効になるケースも 6

  7. 最新情報より⼤切なこと データモデリング、パーティショニング スキーマレスであっても、事前の Well-Architecting は必須 Cosmos DB Blog Data modeling,

    partitioning, and pricing in 2 minutes インデックスの最適化 デフォルトのインデックスポリシーではリッチすぎるケースが多い MS Learn Identify indexing strategies for your Azure Cosmos DB data 7
  8. NoSQL(non-relational)におけるデータモデリング non-relational の特⾊を⽣かした設計 「埋め込み「や「⾮正規化」を活⽤する リレーショナルなデータモデルを Cosmos DB で最適化するヒント Cosmos DB

    Blog Data Modeling and Partitioning for Relational Workloads RDB が必要なユースケースもある どちらかではなく、ユースケースに応じてデータストアを使い分ける Cosmos DB Blog Azure Cosmos DB for the SQL Professional 8
  9. Updates Azure Synapse Link for Cosmos DB Synapse Link for

    Cosmos DB がプレビュー、SQL Serverless からも利⽤可能に Azure Synapse Link for Azure Cosmos DB is now in preview ★★ Azure Synapse Link now supports Azure Cosmos DB API for Mongo DB (Preview) Azure Synapse Link for Azure Cosmos DB: SQL serverless runtime support in preview ★★★ 9
  10. ビッグデータ分析(HTAP)がサーバレスで実現 Serverless で Cosmos DB のデータがクエリ可能に︕(Cosmos DB Blog) RU を消費せず、T-SQL

    ベースの柔軟なクエリが使える 10
  11. DEMO Synapse Link (SQL Serverless) for Cosmos DB 11

  12. Updates Change Feed & Cosmos DB Trigger Full fidelity Change

    Feed(仮称) 現状アナウンスのみ Change feed with full database operations for Azure Cosmos DB ★★ Cosmos DB Trigger のリトライポリシー Change Feed を使ったパイプラインの信頼性がさらに向上 Azure Functions error handling and retry guidance ★★★ 12
  13. Cosmos DB を起点としたラムダアーキテクチャ Cosmos DB の Change Feed を活⽤して、⽬的の異なるそれぞれの⽤途に合わ せたデータパイプラインを構築可能

    13
  14. Updates SDK Java SDK が⼤きく進化し、.NET SDK にほぼ追いついてきた。Transactional Batch のサポートにも⼤注⽬。 Azure

    Cosmos DB Python SDK 4.0 now available Azure Cosmos DB Java SDK 4.0 for Core (SQL) API release now in general availability ★ Update your Azure Cosmos DB .NET SDKs by 31 August 2022 Spring Data Azure Cosmos DB SDK v3.0.0 release now available Azure Cosmos DB transactional batch support for Java SDK 4.7.0 and above is now available ★★ 14
  15. Transactional Batch 従来ストアドプロシージャでの実装が必要だった ACID トランザクション が、クライアント SDK でも実装可能に Cosmos DB

    Blog Introducing TransactionalBatch in the Azure Cosmos DB .NET SDK Cosmos DB ドキュメント Transactional batch operations in Azure Cosmos DB using the .NET SDK Java SDK もサポート開始 15
  16. 再)最新情報より⼤切なこと 「パーティション」は、すべての設計の⼤前提となる Cosmos DB では、パーティションを跨いでできることは少ない ACID トランザクションもパーティションは越えられない ⽔平スケールを実現するためのアーキテクチャ 管理の観点では、別パーティションを別 DB

    くらいに捉える(極論) ただし、開発では透過的に扱えるのは⼤きなメリット 16
  17. Updates ネットワーク関連 Private Link の GA により、Cosmos DB は 3

    種類のネットワーク構成を選択可 能に。 Azure Private Link for Azure Cosmos DB now in general availability ★ Azure Cosmos DB transport layer security (TLS) 1.2 enforcement starts on July 29, 2020 Azure Private Link Services available in China 17
  18. 3 つのネットワーク構成オプション 「すべてのネットワーク」: IP ファイアウォールは利⽤可能 「パブリックエンド ポイント」: VNET サービスエンドポイント 「プライベート

    エンドポイント」: Azure Private Link サービス 18
  19. Updates Management & Security PITR は現状アナウンスのみ。Azure Advisor 等を使ってコストを最適化するこ とを推奨(特にインデックス周り)。 Encryption

    at rest with customer-managed keys on Azure Cosmos DB now generally available Point-in-time-restore (PITR) for Azure Cosmos DB] (https://azure.microsoft.com/ja-jp/updates/pointintimerestore-pitr-for- azure-cosmos-db/) ★★ Azure Policy support for Azure Cosmos DB is now available Cost optimization enhancements now available in Azure Advisor 19
  20. Updates API & Dev Case-insensitive string functions with Azure Cosmos

    DB now available No downtime indexing updates in Azure Cosmos DB ★ Wildcard indexes in Azure Cosmos DB's API for MongoDB New features for Azure Cosmos DB built-in Jupyter Notebook support ★ Azure Databases extension for Visual Studio Code Azure Cosmos DB Management with PowerShell cmdlets is in public preview Azure Cosmos DB: Azure CLI support for autoscale 20
  21. まとめ スケーリングのオプションが増え Cosmos DB が⾼いとは⾔えない状況に サーバーレス HTAP の実現により、Analytics 領域は常識が変わるはず 運⽤管理/ネットワーク⾯では、エンタープライズ系の厳格な要件に対応

    データモデリングとパーティショニングが肝であることに変わりはない 21
  22. ご清聴ありがとうございました 22