Share
Embed
2020 年下半期 Cosmos DB の更新まとめ
Alternative Architecture DOJO #5 で発表したスライドです。スライド内のリンクを参照するには PDF をダウンロードしてご覧下さい。
miyake
November 18, 2020
Transcript
22 slides
-
2020 年下半期 Cosmos DB の更新まとめ Alternative Architecture DOJO #5 Kazuyuki
Miyake - ZEN Architects -
About Me 三宅 和之 @kazuyukimiyake 株式会社ゼンアーキテクツ CTO Microsoft MVP (
for Microsoft Azure ) Vue.js ⽇本ユーザーグループ運営 PaaS がかりの部屋(Blog): https://k-miyake.github.io/blog/ -
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 -
最新情報より⼤切なこと データモデリング、パーティショニング スキーマレスであっても、事前の 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 -
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 -
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 -
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 -
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 -
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 -
再)最新情報より⼤切なこと 「パーティション」は、すべての設計の⼤前提となる Cosmos DB では、パーティションを跨いでできることは少ない ACID トランザクションもパーティションは越えられない ⽔平スケールを実現するためのアーキテクチャ 管理の観点では、別パーティションを別 DB
くらいに捉える(極論) ただし、開発では透過的に扱えるのは⼤きなメリット 16 -
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 -
3 つのネットワーク構成オプション 「すべてのネットワーク」: IP ファイアウォールは利⽤可能 「パブリックエンド ポイント」: VNET サービスエンドポイント 「プライベート
エンドポイント」: Azure Private Link サービス 18 -
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 -
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 -
まとめ スケーリングのオプションが増え Cosmos DB が⾼いとは⾔えない状況に サーバーレス HTAP の実現により、Analytics 領域は常識が変わるはず 運⽤管理/ネットワーク⾯では、エンタープライズ系の厳格な要件に対応
データモデリングとパーティショニングが肝であることに変わりはない 21