SlideShare una empresa de Scribd logo
1 de 54
Descargar para leer sin conexión
2020年からはじめる
Azure Cosmos DB 入門 recap
第1回 Azure Cosmos DB 勉強会
はじめに
本資料について
▸ 本資料の記載は 2020/7/28 現在において、作者が確認できている内容に基づいていま
す。
▸ なお、本資料に誤植や誤りがないことについては保証しかねます。
▸ 本資料に記載されている情報、意見および、その他の内容については、作者が所属する
組織を代表するものではありません。
Agenda
Azure Cosmos DB 入門 with Azure Synapse Link
▸ Azure Cosmos DB について
▸ Azure Cosmos DB 概要
▸ Azure Cosmos DB を利用するメリット
▸ MS Build 2020 (+α) のアップデート情報
▸ Azure Cosmos DB で開発を始める
▸ Azure Cosmos DB に接続する
▸ Visual Studio Code 拡張機能
▸ JavaScript SDK (SQL API) を使ってみる
▸ 既存のアプリから Cosmos DB を利用する
▸ Azure Synapse Link を使ってみる
▸ Azure Synapse Link 概要
▸ Azure Synapse Link を使うメリット
▸ Azure Synapse Link の設定方法
▸ さいごに
Azure Cosmos DB
概要
Azure Cosmos DB について
Azure Cosmos DB 概要
Azure Cosmos DB とは
▸ あらゆる規模に対応するオープン API を備えた高速な NoSQL データベース
▸ Microsoft 社によってグローバルに配布されるマルチモデルデータベースサービスとし
て、2017 年に一般公開
▸ 読み取りと書き込みのレイテンシーが 1桁ミリ秒 を要求される運用/分析ワークロード
向けに最適化
▸ 99.99 % 以上の高可用性 (SLA)、スループットと一貫性を保証
Azure Cosmos DB 概要
Cosmos DB がサポートする API
▸ Core (SQL) / MongoDB / Cassandra / Azure Table / Gremlin
Azure Cosmos DB 概要
課金の仕組み
▸ 以下の内容を踏まえて課金が行われる
▸ プロビジョニング済みコンテナー数(コンテナーはテーブルのイメージ)
▸ コンテナがオンラインであった時間数
▸ 各コンテナーのプロビジョニングスループット
▸ プロビジョニングスループット
▸ 1RU = シングルパーティションから1KBのドキュメントを1回読み取りに相当 (書き込み:PUTは2倍)
▸ 最小のプロビジョニングスループットは、400 RU/s (1ヶ月あたり 10 億回の読み取りに相当)
▸ スループットは 100 RU/s 刻みでスケーリング可能 (1ヶ月あたり 2 億 6780 万回の読み取りに相当)
▸ 手動構成による設定、およびオートパイロットによる自動構成が選択可能
Azure Cosmos DB
を利用するメリット
Azure Cosmos DB について
Azure Cosmos DB を利用するメリット
ターンキー グローバル分散
▸ 応答性と可用性が高いアプリケーション
を世界的な規模で構築できる
▸ どこにいてもデータが透過的にレプリ
ケートされ、ユーザーは最も近い場所に
あるデータのレプリカと対話できる
▸ 1クリックで、レプリケート先のAzure
リージョンを追加したり、削除できる
▸ グローバル分散についての詳細
▸ Microsoft Docs
▸ レイテンシ考慮の場合に強い
Azure Cosmos DB を利用するメリット
スキーマやインデックスの管理が不要
▸ すべてのデータのインデックス付けを自動で行い、高速クエリを提供
▸ すべてのコンテナーにコンテナーの項目のインデックスを作成する方法を指示
▸ 「同期」と「なし」の2つのインデックス作成モードをサポート
▸ 既定では、インデックス作成ポリシーは automatic = true(自動で有効)に設定
▸ カスタムインデックス作成ポリシーも設定可能
▸ 複合インデックス、空間インデックス、プロパティパスの包含・除外の指定が可能
▸ インデックス作成ポリシーについての詳細
▸ Microsoft Docs
Azure Cosmos DB を利用するメリット
明確に定義された複数の整合性の選択肢
▸ Cosmos DB のマルチマスター レプリケーション プロトコルは5つの整合性を重視
▸ 強固
▸ 有界整合性制約
▸ セッション
▸ 一貫性のあるプレフィックス
▸ 最終的
▸ 極端な整合性、可用性、待ち時間、スループットのトレードオフを行うことが不要になる
▸ 整合性の詳細については、以下サイトを参照
▸ Azure Cosmos DB の整合性レベル
▸ azure/azure-cosmos-tla ‒ GitHub
強固 有界整合性制約 セッション 一貫性のあるプレフィックス 最終的
強力な一貫性 弱い一貫性
Azure Cosmos DB を利用するメリット
包括的な SLA と 99 パーセンタイルの低待機時間
▸ 99.99 % (スループット、一貫性、可用性、レイテンシの保証)
▸ 5 つの一貫性レベルのいずれかで構成された、単一 Azure リージョンにスコープされている Azure
Cosmos DB データベースアカウント
▸ 4つの緩やかな一貫性レベルのいずれかで構成されている、複数の Azure リージョンにまたがる Azure
Cosmos DB データベースアカウント
▸ 書き込み可能なエンドポイントとして複数の Azure リージョンの構成を可能にしている場合、読み取り
と書き込みの両方で 99.999 % SLA の可用性が提供される
▸ SLA については、以下サイトを参照
▸ Azure Cosmos DB のSLA
▸ 世界中で読み取り (インデックス付き) と書き込みの両方に対して 99 パーセンタイルで
の 10 ミリ秒未満の待機時間を保証
Azure Cosmos DB を利用するメリット
人気のある OSS API を使用したアプリケーション開発
▸ 既存のクライアントドライバー(ツール)を使って参照が可能
▸ Gremlin、Cassandra、MongoDB
▸ アプリケーションロジックの重要な部分を保持しながら Cosmos DB に移行が可能
▸ 少ない労力で、業界最高レベル、SLA が提供されるフルマネージドサービスが利用可能
▸ ニーズに応じて、プロビジョニングスループットや容量を弾力的にスケーリング可能
▸ アプリケーションの移植性を保持したまま、クラウドベンダーに非依存な状態を維持可能
MS Build 2020 (+α)
のアップデート情報
Azure Cosmos DB について
MS Build 2020 でのアップデート情報
オフィシャルな説明は de:code 2020 の動画にて
▸ https://www.youtube.com/watch?v=rB-wioomITo
MS Build 2020 でのアップデート情報
Azure Synapse Link
▸ 抽出
▸ 変換
▸ ロード
→処理負荷0に
MS Build 2020 でのアップデート情報
Azure Synapse Link (Azure Synapse Analytics の拡張機能)
▸ クラウドネイティブのハイブリッドトランザクションおよび分析処理(HTAP)機能
▸ グローバルに分散された大規模運用データをETL対応無しでほぼリアルタイムに分析
▸ Synapse Spark または Synapse SQL を使用し、Azure Cosmos DB でのトランザク
ションワークロードのパフォーマンスに影響を与えず、ほぼリアルタイムのビジネスイ
ンテリジェンス、分析、機械学習パイプラインを実行可能
MS Build 2020 でのアップデート情報
Azure Synapse Link
▸ Azure Cosmos DB分析ストアは、2020年8月30日まで、消費ストレージGBまたはス
トレージトランザクションに対して無料でパブリックプレビューで利用可能
▸ SynapseSpark と Synapse SQL の使用量は、Azure Synapse Services の消費を通
じて請求
▸ 詳細については、Azure Cosmos DB の Azure Synapse Link のブログ投稿を参照
MS Build 2020 でのアップデート情報
オートパイロット機能が GA (オートスケール)
▸ 自動スケールプロビジョニングされたスループットの Azure Cosmos DB の
新料金モデル
▸ 無償枠適用内
MS Build 2020 でのアップデート情報
顧客管理キーを使用した保存時の暗号化の強化
▸ カスタマーマネージドキー
▸ 顧客 (エンドユーザー) が制御できる暗号化キーを使用した暗号化が可能
▸ キーストアとしてAzure Key Vaultにてキーをセキュアに管理可能
▸ データの二重暗号化を実現
顧客管理のキーを利用した
暗号化
あなたの
データ
サービス管理のキーを利用
した暗号化
MS Build 2020 でのアップデート情報
Jupyter Notebook の新機能
▸ C# Notebooks
▸ データエクスプローラーに組み込まれている Jupyter Notebook で C# を実行可能
▸ Azure Cosmos DB .NET SDK の組み込みインスタンスを含む
▸ 必要に応じて独自の NuGet パッケージをインポート可能
▸ GitHub 連携
▸ Notebook workspaces を GitHub リポジトリに接続
▸ GitHub Notebook がワークスペースで表示、実行、編集でき、変更を GitHub に直接保存可能
▸ すべて Azure Data Explorer から簡単に保存可能
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パイプラインを使用する
ように適合
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)が追加
MS Build 2020 でのアップデート情報
Azure Private Link
▸ 仮想ネットワークから Azure Platform as a Service サービスへのプライベート接続を
提供
▸ パブリックインターネットへのデータ公開を排除
▸ ネットワークアーキテクチャを簡素化し、Azure のエンドポイント間の接続を保護
▸ 制限付きネットワークセキュリティグループ (NSG) ポリシーと組み合わせてデータ漏洩リスクを軽減
MS Build 2020 でのアップデート情報
変更フィードの削除と保持プレビューの更新
▸ 現在は、書き込みと各ドキュメントの最新バージョンのみ
▸ 削除とすべての更新のサポートを追加
▸ 変更フィードを利用してリアルタイムのデータ移動を実行したり、マテリアライズドビューを構築したり
することがさらに簡単に
▸ プッシュモデルに加えてプルモデルも登場
MS Build 2020 でのアップデート情報
サーバレス
▸ プロビジョニングされたスループットの概念を排除
▸ オペレーションごとに消費されたリソース (RU/s) に対して顧客に請求
▸ 安定したスループットを必要とせず、プロビジョニング状態を維持する必要がないテス
トや開発環境などでの利用に効果的
MS Build 2020 でのアップデート情報
ポイントインタイムリストア(PITR)
▸ 有効にしてから最大35日間の任意の時点で、継続的バックアップからコンテナーを回復
Azure Cosmos DB に
接続する
Azure Cosmos DB で開発を
始める
Azure Cosmos DB に接続する
SDK / REST API 、既存のドライバーなど経由で接続
▸ Azure Cosmos DB SDK を利用
▸ .NET / Java / JavaScript / Python
▸ Azure Cosmos DB REST API を利用
▸ REST を介した SQL API を使用して Azure Cosmos DB を操作できる
▸ Azure Cosmos DB: REST API リファレンス
▸ 既存のクライアントSDK、ドライバー、ツール などを利用
▸ データエクスプローラー、ストレージエクスプローラー
▸ MongoDB、Cassandra、Gremlin、Azure Table Storage、etcd、Power BI コネクタ など
▸ Azure Cosmos DB Emulator
Azure Cosmos DB に接続する
データエクスプローラー
▸ Azure Portal 上にて、Azure Cosmos DB の様々な操作を実行
▸ SQLなどのクエリ実行や、Jupyter Notebook の実行が可能
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 のハードディスク空き容量
Visual Studio Code
拡張機能
Azure Cosmos DB で開発を
始める
Visual Studio Code 拡張機能
Azure Databases 拡張機能
▸ 2020/5/28 に名称変更 (リポジトリは同じで PostgreSQL 対応が追加)
▸ 旧 Azure Cosmos DB 拡張機能
▸ https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-cosmosdb
▸ 400 RU/s からコレクションを作成できるように対応! (PR出したら通ったよ!)
Visual Studio Code 拡張機能
データベースやコンテナーの作成・削除
Visual Studio Code 拡張機能
データの挿入・更新・削除・参照
Visual Studio Code 拡張機能
Mongo Scrapbooks
▸ クエリ実行
▸ Intelligence
Visual Studio Code 拡張機能
グラフデータベース参照
▸ テキストエディタで 3D View
JavaScript SDK を
使ってみる
Azure Cosmos DB で開発を
始める
JavaScript SDK (SQL API) を使ってみる
コンソールアプリを作成
▸ Microsoft Docs のチュートリアルを実践
▸ チュートリアル:JavaScript SDK を使用して、Azure Cosmos DB SQL API データを管理するための
Node.js コンソール アプリを構築する
JavaScript SDK (SQL API) を使ってみる
Node.js で CRUD Webアプリを作る
▸ Microsoft Azure Cosmos DB Service Node.js SDK for SQL API を利用
▸ @azure/cosmos
▸ TypeScript / Express フレームワークを利用して、WebAPI サーバを構築
▸ SQL API で Cosmos DB を操作できるため、普段 RDB を使っているユーザーでも簡単
▸ 詳しくは Qiita 記事にて
▸ 2020 年から始める Azure Cosmos DB ‒ Node.js で CRUD アプリを作る
▸ 2020 年から始める Azure Cosmos DB ‒ JavaScript SDK (SQL API) を見てみる (Part.1)
既存のアプリから
Cosmos DB を利用す
る
Azure Cosmos DB で開発を
始める
既存のアプリから Cosmos DB を利用する
既存のクライアントドライバは変更せずにOK
▸ アプリ側で使用する接続文字列を Azure Cosmos DB のものに書き換えるだけ
▸ Azure Cosmos DB のオープン API 側で従来と同じ動作を保証
▸ Azure Cosmos DB アカウントは、対応する API で構築する必要あり
▸ MongoDB、Cassandra、Azure Tables、Gremlin
Azure Synapse
Link を使ってみる
Azure Synapse Link を使ってみる
Azure Synapse Link (Azure Synapse Analytics の拡張機能)
▸ クラウドネイティブのハイブリッドトランザクションおよび分析処理(HTAP)機能
▸ グローバルに分散された大規模な運用データをETLなしでほぼリアルタイム分析
▸ Synapse Sparkまたは Synapse SQL を使用し、Azure Cosmos DB でのトランザク
ションワークロードのパフォーマンスに影響を与えず、ほぼリアルタイムのビジネスイ
ンテリジェンス、分析、機械学習パイプラインを実行可能
※再掲
Azure Synapse Link を使ってみる
Azure Synapse Link の仕組み
トランザクションストア 分析ストア
トランザクションの読み
取りおよび書き込み用に
最適化された行ストア
分析クエリ用に最適化された
列ストア
運用データ
機械学習
ビックデータ分析
BI ダッシュボード
自動で同期自動で同期
Azure Synapse Link を使うメリット
データウェアハウスへのデータ移行負荷がゼロ
▸ 夜間や業務時間外にデータベース内の運用データを DWH へ移行する必要がない
▸ オンラインで、リアルタイムに、Azure Synapse Analytics でデータ分析ができる
▸ 従来は管理パイプラインによってデータの ETL が必要で、パフォーマンスへの影響も最小限にする必要あり
▸ Azure Cosmos DB 分析ストアにあるデータを分析するため、ETL というものがない
▸ 管理パイプラインも VNet も 仮想ネットワークも不要
▸ ETLジョブや変更フィードの確認・監視や、複雑なデータ移動の理解も必要なし
▸ Azure Cosmos DB だけでなく、(今後) Azure SQL Database のデータも対応
▸ 複数のデータを統合して分析するためのデータ移行や抽出、加工が必要なし
▸ Google Big Query よりも高速な分析基盤を簡単に利用できる
Azure Synapse Link を使うメリット
運用ワークロードと分析ワークロードが別扱い
▸ Azure Synapse Link に関連するトラフィックは別物として処理
▸ 運用ワークロード用にプロビジョニングされたスループットは使用しない
▸ Azure Cosmos DB 分析ストア (個別の列ストア) に対して分析クエリを実行
▸ 分析だけでなく、BI や機械学習を実行したい際にも、運用側に影響を与えることがなく実施できる
Azure Synapse Link の設定方法
データエクスプローラーでワンクリック
▸ データエクスプローラー上で設定を有効化後、Azure Synapse Studio で接続設定
▸ Azure Synapse Studio では SQL と MongoDB が表示されている
Azure Synapse Link の設定方法
制限事項 (2020/7/28 現在)
▸ パブリックプレビューは Azure Cosmos DB SQL (Core) API のみ
▸ MongoDB API および、Cassandra API については、プライベートプレビュー
▸ 今後は、すべての API で実行できるようになる (予定らしい)
▸ 分析ストアは新規コンテナのみ設定可能
▸ Azure Cosmos DB アカウントは新規でも既存でも OK
▸ すでにあるコンテナに対して分析ストアを有効にすることはできない
▸ Synapse SQL でのアクセス
▸ Synapse SQL Serverless での Azure Cosmos DB 分析ストアへのアクセスはプライベートプレビュー
▸ プロビジョニング済み Synapse SQL でのアクセスは未対応
まとめ
まとめ
2020 年は Azure Cosmos DB がアツい!
▸ 400 RU/s、5GB の無償枠が登場
▸ オートパイロット(オートスケール)機能が GA
▸ Azure Synapse Link により No-ETL でデータ分析がほぼリアルタイムに実行可能
▸ もうすぐサーバレスもパブリックプレビュー
▸ SDK 対応言語が豊富
▸ Visual Studio Code 拡張機能もどんどん機能追加中
▸ みなさんも Azure Cosmos DB を使っていろいろ開発してみてね!!
参考情報
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
参考情報
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 についてよく寄せられる質問
参考情報
その他
▸ 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

Más contenido relacionado

La actualidad más candente

[DI12] あらゆるデータをビジネスに活用! Azure Data Lake を中心としたビックデータ処理基盤のアーキテクチャと実装
[DI12] あらゆるデータをビジネスに活用! Azure Data Lake を中心としたビックデータ処理基盤のアーキテクチャと実装[DI12] あらゆるデータをビジネスに活用! Azure Data Lake を中心としたビックデータ処理基盤のアーキテクチャと実装
[DI12] あらゆるデータをビジネスに活用! Azure Data Lake を中心としたビックデータ処理基盤のアーキテクチャと実装
de:code 2017
 

La actualidad más candente (20)

Apache Spark の紹介(前半:Sparkのキホン)
Apache Spark の紹介(前半:Sparkのキホン)Apache Spark の紹介(前半:Sparkのキホン)
Apache Spark の紹介(前半:Sparkのキホン)
 
Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)
Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)
Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)
 
Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022
 
アプリエンジニアからクラウド専用のインフラエンジニアになってみて
アプリエンジニアからクラウド専用のインフラエンジニアになってみてアプリエンジニアからクラウド専用のインフラエンジニアになってみて
アプリエンジニアからクラウド専用のインフラエンジニアになってみて
 
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
 
20200826 AWS Black Belt Online Seminar AWS CloudFormation
20200826 AWS Black Belt Online Seminar AWS CloudFormation 20200826 AWS Black Belt Online Seminar AWS CloudFormation
20200826 AWS Black Belt Online Seminar AWS CloudFormation
 
Azure Monitor Logで実現するモダンな管理手法
Azure Monitor Logで実現するモダンな管理手法Azure Monitor Logで実現するモダンな管理手法
Azure Monitor Logで実現するモダンな管理手法
 
AWS Black Belt Techシリーズ AWS SDK
AWS Black Belt Techシリーズ AWS SDKAWS Black Belt Techシリーズ AWS SDK
AWS Black Belt Techシリーズ AWS SDK
 
Amazon S3を中心とするデータ分析のベストプラクティス
Amazon S3を中心とするデータ分析のベストプラクティスAmazon S3を中心とするデータ分析のベストプラクティス
Amazon S3を中心とするデータ分析のベストプラクティス
 
Oracle Databaseはクラウドに移行するべきか否か 全10ケースをご紹介 (Oracle Cloudウェビナーシリーズ: 2021年11月30日)
Oracle Databaseはクラウドに移行するべきか否か 全10ケースをご紹介 (Oracle Cloudウェビナーシリーズ: 2021年11月30日)Oracle Databaseはクラウドに移行するべきか否か 全10ケースをご紹介 (Oracle Cloudウェビナーシリーズ: 2021年11月30日)
Oracle Databaseはクラウドに移行するべきか否か 全10ケースをご紹介 (Oracle Cloudウェビナーシリーズ: 2021年11月30日)
 
データ仮想化を活用したデータ分析のフローと分析モデル作成の自動化のご紹介
データ仮想化を活用したデータ分析のフローと分析モデル作成の自動化のご紹介データ仮想化を活用したデータ分析のフローと分析モデル作成の自動化のご紹介
データ仮想化を活用したデータ分析のフローと分析モデル作成の自動化のご紹介
 
IAM Roles Anywhereのない世界とある世界(2022年のAWSアップデートを振り返ろう ~Season 4~ 発表資料)
IAM Roles Anywhereのない世界とある世界(2022年のAWSアップデートを振り返ろう ~Season 4~ 発表資料)IAM Roles Anywhereのない世界とある世界(2022年のAWSアップデートを振り返ろう ~Season 4~ 発表資料)
IAM Roles Anywhereのない世界とある世界(2022年のAWSアップデートを振り返ろう ~Season 4~ 発表資料)
 
IoT のシナリオを変える Azure SQL Edge
IoT のシナリオを変える Azure SQL EdgeIoT のシナリオを変える Azure SQL Edge
IoT のシナリオを変える Azure SQL Edge
 
Azure Key Vault
Azure Key VaultAzure Key Vault
Azure Key Vault
 
インフラ野郎 Azureチーム at クラウド boost
インフラ野郎 Azureチーム at クラウド boostインフラ野郎 Azureチーム at クラウド boost
インフラ野郎 Azureチーム at クラウド boost
 
ZOZOTOWNのマルチクラウドへの挑戦と挫折、そして未来
ZOZOTOWNのマルチクラウドへの挑戦と挫折、そして未来ZOZOTOWNのマルチクラウドへの挑戦と挫折、そして未来
ZOZOTOWNのマルチクラウドへの挑戦と挫折、そして未来
 
[DI12] あらゆるデータをビジネスに活用! Azure Data Lake を中心としたビックデータ処理基盤のアーキテクチャと実装
[DI12] あらゆるデータをビジネスに活用! Azure Data Lake を中心としたビックデータ処理基盤のアーキテクチャと実装[DI12] あらゆるデータをビジネスに活用! Azure Data Lake を中心としたビックデータ処理基盤のアーキテクチャと実装
[DI12] あらゆるデータをビジネスに活用! Azure Data Lake を中心としたビックデータ処理基盤のアーキテクチャと実装
 
Azure Cosmos DB のキホンと使いドコロ
Azure Cosmos DB のキホンと使いドコロAzure Cosmos DB のキホンと使いドコロ
Azure Cosmos DB のキホンと使いドコロ
 
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)
 
【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(後編)
【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(後編)【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(後編)
【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(後編)
 

Similar a 20200809_2020年から始める Azure Cosmos DB 入門 with Azure Synapse Link recap

Similar a 20200809_2020年から始める Azure Cosmos DB 入門 with Azure Synapse Link recap (20)

Using Azure Compute with VMSS, Kubernetes, and Service Fabric
Using Azure Compute with VMSS, Kubernetes, and Service FabricUsing Azure Compute with VMSS, Kubernetes, and Service Fabric
Using Azure Compute with VMSS, Kubernetes, and Service Fabric
 
NoSQL on microsoft azure april 2014
NoSQL on microsoft azure   april 2014NoSQL on microsoft azure   april 2014
NoSQL on microsoft azure april 2014
 
Microsoft Azure News - 2018 December
Microsoft Azure News - 2018 DecemberMicrosoft Azure News - 2018 December
Microsoft Azure News - 2018 December
 
Azure Stack Hub Development Kit (ASDK)のAzure上への構築方法
Azure Stack Hub Development Kit (ASDK)のAzure上への構築方法Azure Stack Hub Development Kit (ASDK)のAzure上への構築方法
Azure Stack Hub Development Kit (ASDK)のAzure上への構築方法
 
NoSQL Migration Technical Pitch Deck
NoSQL Migration Technical Pitch DeckNoSQL Migration Technical Pitch Deck
NoSQL Migration Technical Pitch Deck
 
List of top 10 azure services
List of top 10 azure servicesList of top 10 azure services
List of top 10 azure services
 
AWS SSA Webinar 34 - Getting started with databases on AWS - Managing DBs wit...
AWS SSA Webinar 34 - Getting started with databases on AWS - Managing DBs wit...AWS SSA Webinar 34 - Getting started with databases on AWS - Managing DBs wit...
AWS SSA Webinar 34 - Getting started with databases on AWS - Managing DBs wit...
 
AWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for Government
 
10 reasons to use azure for your cloud apps
10 reasons to use azure for your cloud apps10 reasons to use azure for your cloud apps
10 reasons to use azure for your cloud apps
 
Microsoft Azure News - December 2019
Microsoft Azure News - December 2019Microsoft Azure News - December 2019
Microsoft Azure News - December 2019
 
New capabilities for modern data integration in the cloud
New capabilities for modern data integration in the cloudNew capabilities for modern data integration in the cloud
New capabilities for modern data integration in the cloud
 
OSS DB on Azure
OSS DB on AzureOSS DB on Azure
OSS DB on Azure
 
New capabilities for modern data integration in the cloud
New capabilities for modern data integration in the cloudNew capabilities for modern data integration in the cloud
New capabilities for modern data integration in the cloud
 
Análisis de riesgos en Azure y protección de la información
Análisis de riesgos en Azure y protección de la informaciónAnálisis de riesgos en Azure y protección de la información
Análisis de riesgos en Azure y protección de la información
 
Cosmos DB Conf - Cosmos DB + Azure Functions .pptx
Cosmos DB Conf - Cosmos DB + Azure Functions .pptxCosmos DB Conf - Cosmos DB + Azure Functions .pptx
Cosmos DB Conf - Cosmos DB + Azure Functions .pptx
 
Luciano Moreira_Jacob Bogie-BRSP005-10.3_22_FINAL.pdf
Luciano Moreira_Jacob Bogie-BRSP005-10.3_22_FINAL.pdfLuciano Moreira_Jacob Bogie-BRSP005-10.3_22_FINAL.pdf
Luciano Moreira_Jacob Bogie-BRSP005-10.3_22_FINAL.pdf
 
Azure lessons
Azure lessonsAzure lessons
Azure lessons
 
Cosmos DB - Database for Serverless era
Cosmos DB - Database for Serverless eraCosmos DB - Database for Serverless era
Cosmos DB - Database for Serverless era
 
Sql Azure Sql Saturday Nyc
Sql Azure   Sql Saturday NycSql Azure   Sql Saturday Nyc
Sql Azure Sql Saturday Nyc
 
Azure bootcamp (1)
Azure bootcamp (1)Azure bootcamp (1)
Azure bootcamp (1)
 

Más de Oshitari_kochi

Más de Oshitari_kochi (20)

Azure SQL MI Link で移行も DR もポチッとな、の時代へ
Azure SQL MI Link で移行も DR もポチッとな、の時代へAzure SQL MI Link で移行も DR もポチッとな、の時代へ
Azure SQL MI Link で移行も DR もポチッとな、の時代へ
 
Azure Policy + Azure RBAC の導入に際して得たアレコレ
Azure Policy + Azure RBAC の導入に際して得たアレコレAzure Policy + Azure RBAC の導入に際して得たアレコレ
Azure Policy + Azure RBAC の導入に際して得たアレコレ
 
SPS 開発から SPO 開発に変わる際に気をつけなければならないポイント 3 選
SPS 開発から SPO 開発に変わる際に気をつけなければならないポイント 3 選SPS 開発から SPO 開発に変わる際に気をつけなければならないポイント 3 選
SPS 開発から SPO 開発に変わる際に気をつけなければならないポイント 3 選
 
Updates of Azure NoSQL announced at Microsoft Ignite Spring 2021
Updates of Azure NoSQL announced at Microsoft Ignite Spring 2021Updates of Azure NoSQL announced at Microsoft Ignite Spring 2021
Updates of Azure NoSQL announced at Microsoft Ignite Spring 2021
 
試験スキルのアウトラインから得たMCP試験受験のコツ
試験スキルのアウトラインから得たMCP試験受験のコツ試験スキルのアウトラインから得たMCP試験受験のコツ
試験スキルのアウトラインから得たMCP試験受験のコツ
 
PySpark Intro Part.2 with SQL Graph
PySpark Intro Part.2 with SQL GraphPySpark Intro Part.2 with SQL Graph
PySpark Intro Part.2 with SQL Graph
 
ここから始めましょう、イチからーーいいえ、Cosmosから!
ここから始めましょう、イチからーーいいえ、Cosmosから!ここから始めましょう、イチからーーいいえ、Cosmosから!
ここから始めましょう、イチからーーいいえ、Cosmosから!
 
Azure Cosmos DB で始める Java + NoSQL 開発
Azure Cosmos DB で始める Java + NoSQL 開発Azure Cosmos DB で始める Java + NoSQL 開発
Azure Cosmos DB で始める Java + NoSQL 開発
 
Azure Cosmos DB の整合性レベルについて
Azure Cosmos DB の整合性レベルについてAzure Cosmos DB の整合性レベルについて
Azure Cosmos DB の整合性レベルについて
 
Azure Cosmos DB のエンティティについて
Azure Cosmos DB のエンティティについてAzure Cosmos DB のエンティティについて
Azure Cosmos DB のエンティティについて
 
About entities of Azure Cosmos DB
About entities of Azure Cosmos DBAbout entities of Azure Cosmos DB
About entities of Azure Cosmos DB
 
Azure Synapse Link for Azure Cosmos DB
Azure Synapse Link for Azure Cosmos DBAzure Synapse Link for Azure Cosmos DB
Azure Synapse Link for Azure Cosmos DB
 
よわよわエンジニアがde:code 2020に感化されて新しくコミュニティを立ち上げてみた話
よわよわエンジニアがde:code 2020に感化されて新しくコミュニティを立ち上げてみた話よわよわエンジニアがde:code 2020に感化されて新しくコミュニティを立ち上げてみた話
よわよわエンジニアがde:code 2020に感化されて新しくコミュニティを立ち上げてみた話
 
Start learning Azure Cosmos DB with Azure Synapse Link
Start learning Azure Cosmos DB with Azure Synapse LinkStart learning Azure Cosmos DB with Azure Synapse Link
Start learning Azure Cosmos DB with Azure Synapse Link
 
Get started with future C# .Net development with Docker
Get started with future C# .Net development with DockerGet started with future C# .Net development with Docker
Get started with future C# .Net development with Docker
 
SQL Beginners Day #1 - SQL Server および Azure SQL のインストールと管理
SQL Beginners Day #1 - SQL Server および Azure SQL のインストールと管理SQL Beginners Day #1 - SQL Server および Azure SQL のインストールと管理
SQL Beginners Day #1 - SQL Server および Azure SQL のインストールと管理
 
Start Cosmos DB with VSCode Extension
Start Cosmos DB with VSCode ExtensionStart Cosmos DB with VSCode Extension
Start Cosmos DB with VSCode Extension
 
Summary of SQL Database Updates
Summary of SQL Database UpdatesSummary of SQL Database Updates
Summary of SQL Database Updates
 
Summary of SQL Server 2019 new features
Summary of SQL Server 2019 new featuresSummary of SQL Server 2019 new features
Summary of SQL Server 2019 new features
 
Start SQL Server with Docker
Start SQL Server with DockerStart SQL Server with Docker
Start SQL Server with Docker
 

Último

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 

20200809_2020年から始める Azure Cosmos DB 入門 with Azure Synapse Link recap

  • 1. 2020年からはじめる Azure Cosmos DB 入門 recap 第1回 Azure Cosmos DB 勉強会
  • 2. はじめに 本資料について ▸ 本資料の記載は 2020/7/28 現在において、作者が確認できている内容に基づいていま す。 ▸ なお、本資料に誤植や誤りがないことについては保証しかねます。 ▸ 本資料に記載されている情報、意見および、その他の内容については、作者が所属する 組織を代表するものではありません。
  • 3. Agenda Azure Cosmos DB 入門 with Azure Synapse Link ▸ Azure Cosmos DB について ▸ Azure Cosmos DB 概要 ▸ Azure Cosmos DB を利用するメリット ▸ MS Build 2020 (+α) のアップデート情報 ▸ Azure Cosmos DB で開発を始める ▸ Azure Cosmos DB に接続する ▸ Visual Studio Code 拡張機能 ▸ JavaScript SDK (SQL API) を使ってみる ▸ 既存のアプリから Cosmos DB を利用する ▸ Azure Synapse Link を使ってみる ▸ Azure Synapse Link 概要 ▸ Azure Synapse Link を使うメリット ▸ Azure Synapse Link の設定方法 ▸ さいごに
  • 4. Azure Cosmos DB 概要 Azure Cosmos DB について
  • 5. Azure Cosmos DB 概要 Azure Cosmos DB とは ▸ あらゆる規模に対応するオープン API を備えた高速な NoSQL データベース ▸ Microsoft 社によってグローバルに配布されるマルチモデルデータベースサービスとし て、2017 年に一般公開 ▸ 読み取りと書き込みのレイテンシーが 1桁ミリ秒 を要求される運用/分析ワークロード 向けに最適化 ▸ 99.99 % 以上の高可用性 (SLA)、スループットと一貫性を保証
  • 6. Azure Cosmos DB 概要 Cosmos DB がサポートする API ▸ Core (SQL) / MongoDB / Cassandra / Azure Table / Gremlin
  • 7. Azure Cosmos DB 概要 課金の仕組み ▸ 以下の内容を踏まえて課金が行われる ▸ プロビジョニング済みコンテナー数(コンテナーはテーブルのイメージ) ▸ コンテナがオンラインであった時間数 ▸ 各コンテナーのプロビジョニングスループット ▸ プロビジョニングスループット ▸ 1RU = シングルパーティションから1KBのドキュメントを1回読み取りに相当 (書き込み:PUTは2倍) ▸ 最小のプロビジョニングスループットは、400 RU/s (1ヶ月あたり 10 億回の読み取りに相当) ▸ スループットは 100 RU/s 刻みでスケーリング可能 (1ヶ月あたり 2 億 6780 万回の読み取りに相当) ▸ 手動構成による設定、およびオートパイロットによる自動構成が選択可能
  • 9. Azure Cosmos DB を利用するメリット ターンキー グローバル分散 ▸ 応答性と可用性が高いアプリケーション を世界的な規模で構築できる ▸ どこにいてもデータが透過的にレプリ ケートされ、ユーザーは最も近い場所に あるデータのレプリカと対話できる ▸ 1クリックで、レプリケート先のAzure リージョンを追加したり、削除できる ▸ グローバル分散についての詳細 ▸ Microsoft Docs ▸ レイテンシ考慮の場合に強い
  • 10. Azure Cosmos DB を利用するメリット スキーマやインデックスの管理が不要 ▸ すべてのデータのインデックス付けを自動で行い、高速クエリを提供 ▸ すべてのコンテナーにコンテナーの項目のインデックスを作成する方法を指示 ▸ 「同期」と「なし」の2つのインデックス作成モードをサポート ▸ 既定では、インデックス作成ポリシーは automatic = true(自動で有効)に設定 ▸ カスタムインデックス作成ポリシーも設定可能 ▸ 複合インデックス、空間インデックス、プロパティパスの包含・除外の指定が可能 ▸ インデックス作成ポリシーについての詳細 ▸ Microsoft Docs
  • 11. Azure Cosmos DB を利用するメリット 明確に定義された複数の整合性の選択肢 ▸ Cosmos DB のマルチマスター レプリケーション プロトコルは5つの整合性を重視 ▸ 強固 ▸ 有界整合性制約 ▸ セッション ▸ 一貫性のあるプレフィックス ▸ 最終的 ▸ 極端な整合性、可用性、待ち時間、スループットのトレードオフを行うことが不要になる ▸ 整合性の詳細については、以下サイトを参照 ▸ Azure Cosmos DB の整合性レベル ▸ azure/azure-cosmos-tla ‒ GitHub 強固 有界整合性制約 セッション 一貫性のあるプレフィックス 最終的 強力な一貫性 弱い一貫性
  • 12. Azure Cosmos DB を利用するメリット 包括的な SLA と 99 パーセンタイルの低待機時間 ▸ 99.99 % (スループット、一貫性、可用性、レイテンシの保証) ▸ 5 つの一貫性レベルのいずれかで構成された、単一 Azure リージョンにスコープされている Azure Cosmos DB データベースアカウント ▸ 4つの緩やかな一貫性レベルのいずれかで構成されている、複数の Azure リージョンにまたがる Azure Cosmos DB データベースアカウント ▸ 書き込み可能なエンドポイントとして複数の Azure リージョンの構成を可能にしている場合、読み取り と書き込みの両方で 99.999 % SLA の可用性が提供される ▸ SLA については、以下サイトを参照 ▸ Azure Cosmos DB のSLA ▸ 世界中で読み取り (インデックス付き) と書き込みの両方に対して 99 パーセンタイルで の 10 ミリ秒未満の待機時間を保証
  • 13. Azure Cosmos DB を利用するメリット 人気のある OSS API を使用したアプリケーション開発 ▸ 既存のクライアントドライバー(ツール)を使って参照が可能 ▸ Gremlin、Cassandra、MongoDB ▸ アプリケーションロジックの重要な部分を保持しながら Cosmos DB に移行が可能 ▸ 少ない労力で、業界最高レベル、SLA が提供されるフルマネージドサービスが利用可能 ▸ ニーズに応じて、プロビジョニングスループットや容量を弾力的にスケーリング可能 ▸ アプリケーションの移植性を保持したまま、クラウドベンダーに非依存な状態を維持可能
  • 14. MS Build 2020 (+α) のアップデート情報 Azure Cosmos DB について
  • 15. MS Build 2020 でのアップデート情報 オフィシャルな説明は de:code 2020 の動画にて ▸ https://www.youtube.com/watch?v=rB-wioomITo
  • 16. MS Build 2020 でのアップデート情報 Azure Synapse Link ▸ 抽出 ▸ 変換 ▸ ロード →処理負荷0に
  • 17. MS Build 2020 でのアップデート情報 Azure Synapse Link (Azure Synapse Analytics の拡張機能) ▸ クラウドネイティブのハイブリッドトランザクションおよび分析処理(HTAP)機能 ▸ グローバルに分散された大規模運用データをETL対応無しでほぼリアルタイムに分析 ▸ Synapse Spark または Synapse SQL を使用し、Azure Cosmos DB でのトランザク ションワークロードのパフォーマンスに影響を与えず、ほぼリアルタイムのビジネスイ ンテリジェンス、分析、機械学習パイプラインを実行可能
  • 18. MS Build 2020 でのアップデート情報 Azure Synapse Link ▸ Azure Cosmos DB分析ストアは、2020年8月30日まで、消費ストレージGBまたはス トレージトランザクションに対して無料でパブリックプレビューで利用可能 ▸ SynapseSpark と Synapse SQL の使用量は、Azure Synapse Services の消費を通 じて請求 ▸ 詳細については、Azure Cosmos DB の Azure Synapse Link のブログ投稿を参照
  • 19. MS Build 2020 でのアップデート情報 オートパイロット機能が GA (オートスケール) ▸ 自動スケールプロビジョニングされたスループットの Azure Cosmos DB の 新料金モデル ▸ 無償枠適用内
  • 20. MS Build 2020 でのアップデート情報 顧客管理キーを使用した保存時の暗号化の強化 ▸ カスタマーマネージドキー ▸ 顧客 (エンドユーザー) が制御できる暗号化キーを使用した暗号化が可能 ▸ キーストアとしてAzure Key Vaultにてキーをセキュアに管理可能 ▸ データの二重暗号化を実現 顧客管理のキーを利用した 暗号化 あなたの データ サービス管理のキーを利用 した暗号化
  • 21. MS Build 2020 でのアップデート情報 Jupyter Notebook の新機能 ▸ C# Notebooks ▸ データエクスプローラーに組み込まれている Jupyter Notebook で C# を実行可能 ▸ Azure Cosmos DB .NET SDK の組み込みインスタンスを含む ▸ 必要に応じて独自の NuGet パッケージをインポート可能 ▸ GitHub 連携 ▸ Notebook workspaces を GitHub リポジトリに接続 ▸ GitHub Notebook がワークスペースで表示、実行、編集でき、変更を GitHub に直接保存可能 ▸ すべて Azure Data Explorer から簡単に保存可能
  • 22. 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パイプラインを使用する ように適合
  • 23. 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)が追加
  • 24. MS Build 2020 でのアップデート情報 Azure Private Link ▸ 仮想ネットワークから Azure Platform as a Service サービスへのプライベート接続を 提供 ▸ パブリックインターネットへのデータ公開を排除 ▸ ネットワークアーキテクチャを簡素化し、Azure のエンドポイント間の接続を保護 ▸ 制限付きネットワークセキュリティグループ (NSG) ポリシーと組み合わせてデータ漏洩リスクを軽減
  • 25. MS Build 2020 でのアップデート情報 変更フィードの削除と保持プレビューの更新 ▸ 現在は、書き込みと各ドキュメントの最新バージョンのみ ▸ 削除とすべての更新のサポートを追加 ▸ 変更フィードを利用してリアルタイムのデータ移動を実行したり、マテリアライズドビューを構築したり することがさらに簡単に ▸ プッシュモデルに加えてプルモデルも登場
  • 26. MS Build 2020 でのアップデート情報 サーバレス ▸ プロビジョニングされたスループットの概念を排除 ▸ オペレーションごとに消費されたリソース (RU/s) に対して顧客に請求 ▸ 安定したスループットを必要とせず、プロビジョニング状態を維持する必要がないテス トや開発環境などでの利用に効果的
  • 27. MS Build 2020 でのアップデート情報 ポイントインタイムリストア(PITR) ▸ 有効にしてから最大35日間の任意の時点で、継続的バックアップからコンテナーを回復
  • 28. Azure Cosmos DB に 接続する Azure Cosmos DB で開発を 始める
  • 29. Azure Cosmos DB に接続する SDK / REST API 、既存のドライバーなど経由で接続 ▸ Azure Cosmos DB SDK を利用 ▸ .NET / Java / JavaScript / Python ▸ Azure Cosmos DB REST API を利用 ▸ REST を介した SQL API を使用して Azure Cosmos DB を操作できる ▸ Azure Cosmos DB: REST API リファレンス ▸ 既存のクライアントSDK、ドライバー、ツール などを利用 ▸ データエクスプローラー、ストレージエクスプローラー ▸ MongoDB、Cassandra、Gremlin、Azure Table Storage、etcd、Power BI コネクタ など ▸ Azure Cosmos DB Emulator
  • 30. Azure Cosmos DB に接続する データエクスプローラー ▸ Azure Portal 上にて、Azure Cosmos DB の様々な操作を実行 ▸ SQLなどのクエリ実行や、Jupyter Notebook の実行が可能
  • 31. 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 のハードディスク空き容量
  • 32. Visual Studio Code 拡張機能 Azure Cosmos DB で開発を 始める
  • 33. Visual Studio Code 拡張機能 Azure Databases 拡張機能 ▸ 2020/5/28 に名称変更 (リポジトリは同じで PostgreSQL 対応が追加) ▸ 旧 Azure Cosmos DB 拡張機能 ▸ https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-cosmosdb ▸ 400 RU/s からコレクションを作成できるように対応! (PR出したら通ったよ!)
  • 34. Visual Studio Code 拡張機能 データベースやコンテナーの作成・削除
  • 35. Visual Studio Code 拡張機能 データの挿入・更新・削除・参照
  • 36. Visual Studio Code 拡張機能 Mongo Scrapbooks ▸ クエリ実行 ▸ Intelligence
  • 37. Visual Studio Code 拡張機能 グラフデータベース参照 ▸ テキストエディタで 3D View
  • 38. JavaScript SDK を 使ってみる Azure Cosmos DB で開発を 始める
  • 39. JavaScript SDK (SQL API) を使ってみる コンソールアプリを作成 ▸ Microsoft Docs のチュートリアルを実践 ▸ チュートリアル:JavaScript SDK を使用して、Azure Cosmos DB SQL API データを管理するための Node.js コンソール アプリを構築する
  • 40. JavaScript SDK (SQL API) を使ってみる Node.js で CRUD Webアプリを作る ▸ Microsoft Azure Cosmos DB Service Node.js SDK for SQL API を利用 ▸ @azure/cosmos ▸ TypeScript / Express フレームワークを利用して、WebAPI サーバを構築 ▸ SQL API で Cosmos DB を操作できるため、普段 RDB を使っているユーザーでも簡単 ▸ 詳しくは Qiita 記事にて ▸ 2020 年から始める Azure Cosmos DB ‒ Node.js で CRUD アプリを作る ▸ 2020 年から始める Azure Cosmos DB ‒ JavaScript SDK (SQL API) を見てみる (Part.1)
  • 42. 既存のアプリから Cosmos DB を利用する 既存のクライアントドライバは変更せずにOK ▸ アプリ側で使用する接続文字列を Azure Cosmos DB のものに書き換えるだけ ▸ Azure Cosmos DB のオープン API 側で従来と同じ動作を保証 ▸ Azure Cosmos DB アカウントは、対応する API で構築する必要あり ▸ MongoDB、Cassandra、Azure Tables、Gremlin
  • 44. Azure Synapse Link を使ってみる Azure Synapse Link (Azure Synapse Analytics の拡張機能) ▸ クラウドネイティブのハイブリッドトランザクションおよび分析処理(HTAP)機能 ▸ グローバルに分散された大規模な運用データをETLなしでほぼリアルタイム分析 ▸ Synapse Sparkまたは Synapse SQL を使用し、Azure Cosmos DB でのトランザク ションワークロードのパフォーマンスに影響を与えず、ほぼリアルタイムのビジネスイ ンテリジェンス、分析、機械学習パイプラインを実行可能 ※再掲
  • 45. Azure Synapse Link を使ってみる Azure Synapse Link の仕組み トランザクションストア 分析ストア トランザクションの読み 取りおよび書き込み用に 最適化された行ストア 分析クエリ用に最適化された 列ストア 運用データ 機械学習 ビックデータ分析 BI ダッシュボード 自動で同期自動で同期
  • 46. Azure Synapse Link を使うメリット データウェアハウスへのデータ移行負荷がゼロ ▸ 夜間や業務時間外にデータベース内の運用データを DWH へ移行する必要がない ▸ オンラインで、リアルタイムに、Azure Synapse Analytics でデータ分析ができる ▸ 従来は管理パイプラインによってデータの ETL が必要で、パフォーマンスへの影響も最小限にする必要あり ▸ Azure Cosmos DB 分析ストアにあるデータを分析するため、ETL というものがない ▸ 管理パイプラインも VNet も 仮想ネットワークも不要 ▸ ETLジョブや変更フィードの確認・監視や、複雑なデータ移動の理解も必要なし ▸ Azure Cosmos DB だけでなく、(今後) Azure SQL Database のデータも対応 ▸ 複数のデータを統合して分析するためのデータ移行や抽出、加工が必要なし ▸ Google Big Query よりも高速な分析基盤を簡単に利用できる
  • 47. Azure Synapse Link を使うメリット 運用ワークロードと分析ワークロードが別扱い ▸ Azure Synapse Link に関連するトラフィックは別物として処理 ▸ 運用ワークロード用にプロビジョニングされたスループットは使用しない ▸ Azure Cosmos DB 分析ストア (個別の列ストア) に対して分析クエリを実行 ▸ 分析だけでなく、BI や機械学習を実行したい際にも、運用側に影響を与えることがなく実施できる
  • 48. Azure Synapse Link の設定方法 データエクスプローラーでワンクリック ▸ データエクスプローラー上で設定を有効化後、Azure Synapse Studio で接続設定 ▸ Azure Synapse Studio では SQL と MongoDB が表示されている
  • 49. Azure Synapse Link の設定方法 制限事項 (2020/7/28 現在) ▸ パブリックプレビューは Azure Cosmos DB SQL (Core) API のみ ▸ MongoDB API および、Cassandra API については、プライベートプレビュー ▸ 今後は、すべての API で実行できるようになる (予定らしい) ▸ 分析ストアは新規コンテナのみ設定可能 ▸ Azure Cosmos DB アカウントは新規でも既存でも OK ▸ すでにあるコンテナに対して分析ストアを有効にすることはできない ▸ Synapse SQL でのアクセス ▸ Synapse SQL Serverless での Azure Cosmos DB 分析ストアへのアクセスはプライベートプレビュー ▸ プロビジョニング済み Synapse SQL でのアクセスは未対応
  • 51. まとめ 2020 年は Azure Cosmos DB がアツい! ▸ 400 RU/s、5GB の無償枠が登場 ▸ オートパイロット(オートスケール)機能が GA ▸ Azure Synapse Link により No-ETL でデータ分析がほぼリアルタイムに実行可能 ▸ もうすぐサーバレスもパブリックプレビュー ▸ SDK 対応言語が豊富 ▸ Visual Studio Code 拡張機能もどんどん機能追加中 ▸ みなさんも Azure Cosmos DB を使っていろいろ開発してみてね!!
  • 52. 参考情報 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
  • 53. 参考情報 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 についてよく寄せられる質問
  • 54. 参考情報 その他 ▸ 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