23. MS Build 2020 でのアップデート情報
Python SDK 4.0 for SQL API
▸ https://pypi.org/project/azure-cosmos/4.0.0/
▸ 新しい API 設計 (CosmosClient / Database / Container / User にスコープ)
▸ Cosmos DB データベースを作成して設定を変更
▸ JSONドキュメントのコレクションを格納するコンテナーを作成および変更
▸ コンテナー内のアイテム(JSONドキュメント)の作成、読み取り、更新、削除
▸ SQLに似た構文を使用してデータベース内のドキュメントをクエリ
▸ クライアント接続は azure.core.pipeline で定義されたHTTPパイプラインを使用するように
適合
24. MS Build 2020 でのアップデート情報
Java SDK 4.0 for SQL API
▸ https://mvnrepository.com/artifact/com.azure/azure-cosmos
▸ 負荷時のリクエストのスループットと安定性が大幅に最適化された
▸ 古いJava SDK(v3およびv2)よりも20%パフォーマンスが向上
▸ 最高のパフォーマンスを得るための鍵(ヒント)についてもブログで紹介
▸ Azure Cosmos DB Java SDK v4 – General Availability
▸ プログラムによるオートスケールのスループットのプロビジョニングを完全サポート
▸ ThroughputPropertiesクラス
▸ DISTINCTクエリの追加
▸ サーバ側のAzure Cosmos DBの処理だけでなく、クライアント側の機能としても実装(サンプル)
▸ Analytical Time-to-Live (TTL)が追加
25. MS Build 2020 でのアップデート情報
Azure Private Link
▸ 仮想ネットワークから Azure Platform as a Service サービスへのプライベート接続を提供
▸ パブリックインターネットへのデータ公開を排除
▸ ネットワークアーキテクチャを簡素化し、Azure のエンドポイント間の接続を保護
▸ 制限付きネットワークセキュリティグループ (NSG) ポリシーと組み合わせてデータ漏洩リスクを軽減
32. Azure Cosmos DB に接続する
Java
▸ Java Development Kit 8 (JDK8) のインストール
▸ maven のインストール
▸ Microsoft Azure SDK For SQL API of Azure Cosmos DB Service
# pom.xml
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-cosmos</artifactId>
<version>LATEST</version>
</dependency>
34. Azure Cosmos DB に接続する
Python
▸ pip でインストール
▸ Microsoft Azure Cosmos Client Library for Python
# PyPI
pip install azure-cosmos
35. Azure Cosmos DB に接続する
データエクスプローラー
▸ Azure Portal 上にて、Azure Cosmos DB の様々な操作を実行
▸ SQLなどのクエリ実行や、Jupyter Notebook の実行が可能
36. Azure Cosmos DB に接続する
Azure Cosmos DB Emulator
▸ 要 Windows / Windows コンテナー
▸ Azure Cosmos DB のエミュレータとして、Azure の環境なしで利用可能
▸ SQL、MongoDB、Cassandra、Gremlin、Azure Table の API を利用可能
▸ Azure Cosmos DB Data Migration Tool で Azure Cosmos DB とのデータ移行も可能
▸ ソフトウェア要件
▸ Windows Server 2012 R2、Windows Server 2016、または Windows 10 (64 bit)
▸ 最小ハードウェア要件
▸ 2 GB の RAM、10 GB のハードディスク空き容量
47. 既存のアプリから Cosmos DB を利用する
既存のクライアントドライバは変更せずにOK
▸ アプリ側で使用する接続文字列を Azure Cosmos DB のものに書き換えるだけ
▸ Azure Cosmos DB のオープン API 側で従来と同じ動作を保証
▸ Azure Cosmos DB アカウントは、対応する API で構築する必要あり
▸ MongoDB、Cassandra、Azure Tables、Gremlin
56. まとめ
2020 年は Azure Cosmos DB がアツい!
▸ 400 RU/s、5GB の無償枠が登場
▸ オートパイロット(オートスケール)機能が GA
▸ Azure Synapse Link により No-ETL でデータ分析がほぼリアルタイムに実行可能
▸ もうすぐサーバレスもパブリックプレビュー
▸ SDK 対応言語が豊富
▸ Visual Studio Code 拡張機能もどんどん機能追加中
▸ みなさんも Azure Cosmos DB を使っていろいろ開発してみてね!!
57. 参考情報
Azure Blog / Azure Cosmos DB Blog
▸ Azure Cosmos DB で任意のサイズまたはスケールのアプリを構築
▸ Azure Cosmos DB wrap-up: May 2020 BUILD Announcements
▸ Enhanced encryption at rest with customer-managed keys
▸ Autoscale + serverless: new offers to fit any workload
▸ Unlock near real-time, no-ETL analytics at scale with Azure Synapse Link for Azure Cosmos DB
▸ Azure Cosmos DB Java SDK v4 – General Availability
▸ Change Feed – Unsung Hero of Azure Cosmos DB
▸ New Azure Cosmos DB PowerShell features for greater enterprise manageability
▸ Data Modeling and Partitioning for Relational Workloads
58. 参考情報
Microsoft Docs
▸ Azure Cosmos DB の概要
▸ Azure Cosmos DB でのパーティション分割
▸ Azure Cosmos DB の要求ユニット
▸ ストアド プロシージャ、トリガー、およびユーザー定義関数
▸ Azure Cosmos DB でのオンライン バックアップとオンデマンドのデータ復元
▸ Azure Cosmos DB の etcd API (プレビュー) の概要
▸ Azure Cosmos DB でのインデックス作成ポリシー
▸ Azure Synapse Link for Azure Cosmos DB (プレビュー) とは
▸ Azure Cosmos DB のさまざまな API についてよく寄せられる質問
59. 参考情報
その他
▸ Microsoft Mechanics – YouTube
▸ Azure Cosmos DB + Azure Synapse Link | Cloud-Native HTAP
▸ Hack Azure! - YouTube
▸ #2 Ask the Geeks - Cosmos DB 編
▸ EnterpriseZine
▸ そろそろ、HTAPの話をしよう
▸ 学習向け情報
▸ Microsoft Learn
▸ Azure Cosmos DB のホワイトペーパー
▸ Azure Videos
▸ Azure Cosmos DB Workshop