Slide 1

Slide 1 text

2020 年下半期 Cosmos DB の更新まとめ Alternative Architecture DOJO #5 Kazuyuki Miyake - ZEN Architects

Slide 2

Slide 2 text

About Me 三宅 和之 @kazuyukimiyake 株式会社ゼンアーキテクツ CTO Microsoft MVP ( for Microsoft Azure ) Vue.js ⽇本ユーザーグループ運営 PaaS がかりの部屋(Blog): https://k-miyake.github.io/blog/

Slide 3

Slide 3 text

Azure Cosmos DB 2020 年後半のアップデート 多すぎるため、分野ごとに個⼈的に注⽬の Updates に絞っていきます 3

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

「オートスケール」のユースケース 夜間にトラフィックが減るようなアプリ等で有効 RU 使⽤率が 2/3 以内であれば固定より有利になる [docs] 5

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

最新情報より⼤切なこと データモデリング、パーティショニング スキーマレスであっても、事前の 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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

ビッグデータ分析(HTAP)がサーバレスで実現 Serverless で Cosmos DB のデータがクエリ可能に︕(Cosmos DB Blog) RU を消費せず、T-SQL ベースの柔軟なクエリが使える 10

Slide 11

Slide 11 text

DEMO Synapse Link (SQL Serverless) for Cosmos DB 11

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

Cosmos DB を起点としたラムダアーキテクチャ Cosmos DB の Change Feed を活⽤して、⽬的の異なるそれぞれの⽤途に合わ せたデータパイプラインを構築可能 13

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

再)最新情報より⼤切なこと 「パーティション」は、すべての設計の⼤前提となる Cosmos DB では、パーティションを跨いでできることは少ない ACID トランザクションもパーティションは越えられない ⽔平スケールを実現するためのアーキテクチャ 管理の観点では、別パーティションを別 DB くらいに捉える(極論) ただし、開発では透過的に扱えるのは⼤きなメリット 16

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

3 つのネットワーク構成オプション 「すべてのネットワーク」: IP ファイアウォールは利⽤可能 「パブリックエンド ポイント」: VNET サービスエンドポイント 「プライベート エンドポイント」: Azure Private Link サービス 18

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

まとめ スケーリングのオプションが増え Cosmos DB が⾼いとは⾔えない状況に サーバーレス HTAP の実現により、Analytics 領域は常識が変わるはず 運⽤管理/ネットワーク⾯では、エンタープライズ系の厳格な要件に対応 データモデリングとパーティショニングが肝であることに変わりはない 21

Slide 22

Slide 22 text

ご清聴ありがとうございました 22