Submit Search
Upload
Azure Cosmos DB で始める Java + NoSQL 開発
•
0 likes
•
326 views
O
Oshitari_kochi
Follow
JJUG CCC 2020 Fall 登壇資料 #AzureCosmos DB #jcdug
Read less
Read more
Technology
Report
Share
Report
Share
1 of 43
Download Now
Download to read offline
Recommended
Azure Cosmos DB のキホンと使いドコロ
Azure Cosmos DB のキホンと使いドコロ
Kazuyuki Miyake
JAZUG12周年 俺の Azure Cosmos DB
JAZUG12周年 俺の Azure Cosmos DB
Daiyu Hatakeyama
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそう
Ryuji Tsutsui
Azure Cosmos DB Emulator on Docker を GitHub Codespaces で動かす!
Azure Cosmos DB Emulator on Docker を GitHub Codespaces で動かす!
Kazumi IWANAGA
OCHaCafe#5 - 避けては通れない!認証・認可
OCHaCafe#5 - 避けては通れない!認証・認可
オラクルエンジニア通信
Kongの概要と導入事例
Kongの概要と導入事例
briscola-tokyo
Azure AD とアプリケーションを SAML 連携する際に陥る事例と対処方法について
Azure AD とアプリケーションを SAML 連携する際に陥る事例と対処方法について
Shinya Yamaguchi
Webアプリを並行開発する際のマイグレーション戦略
Webアプリを並行開発する際のマイグレーション戦略
Takayuki Shimizukawa
More Related Content
What's hot
SSIとDIDで何を解決したいのか?(β版)
SSIとDIDで何を解決したいのか?(β版)
Naohiro Fujie
Azure Api Management 俺的マニュアル 2020年3月版
Azure Api Management 俺的マニュアル 2020年3月版
貴志 上坂
IDA,VC,DID関連仕様 最新情報 - OpenID BizDay #15
IDA,VC,DID関連仕様 最新情報 - OpenID BizDay #15
OpenID Foundation Japan
3分でわかるAzureでのService Principal
3分でわかるAzureでのService Principal
Toru Makabe
がっつりMongoDB事例紹介
がっつりMongoDB事例紹介
Tetsutaro Watanabe
Fluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターン
Kentaro Yoshida
統合ID管理入門
統合ID管理入門
山田(YAMADA) 達司(Tatsushi)
マイクロサービスにおける 結果整合性との戦い
マイクロサービスにおける 結果整合性との戦い
ota42y
Azure ADアプリケーションを使用した認証のあれやこれ
Azure ADアプリケーションを使用した認証のあれやこれ
DevTakas
ブロックチェーン間のインターオペラビリティ概論
ブロックチェーン間のインターオペラビリティ概論
Hyperleger Tokyo Meetup
PostgreSQL 15の新機能を徹底解説
PostgreSQL 15の新機能を徹底解説
Masahiko Sawada
GraphQLのsubscriptionで出来ること
GraphQLのsubscriptionで出来ること
Shingo Fukui
現場からみた Azure リファレンスアーキテクチャ答え合わせ
現場からみた Azure リファレンスアーキテクチャ答え合わせ
Kuniteru Asami
今なら間に合う分散型IDとEntra Verified ID
今なら間に合う分散型IDとEntra Verified ID
Naohiro Fujie
NGINXをBFF (Backend for Frontend)として利用した話
NGINXをBFF (Backend for Frontend)として利用した話
Hitachi, Ltd. OSS Solution Center.
OpenID Connect入門
OpenID Connect入門
土岐 孝平
Azure API Management 俺的マニュアル
Azure API Management 俺的マニュアル
貴志 上坂
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Amazon Web Services Japan
地理分散DBについて
地理分散DBについて
Kumazaki Hiroki
CQRS+ES on GCP
CQRS+ES on GCP
Masaki Toyoshima
What's hot
(20)
SSIとDIDで何を解決したいのか?(β版)
SSIとDIDで何を解決したいのか?(β版)
Azure Api Management 俺的マニュアル 2020年3月版
Azure Api Management 俺的マニュアル 2020年3月版
IDA,VC,DID関連仕様 最新情報 - OpenID BizDay #15
IDA,VC,DID関連仕様 最新情報 - OpenID BizDay #15
3分でわかるAzureでのService Principal
3分でわかるAzureでのService Principal
がっつりMongoDB事例紹介
がっつりMongoDB事例紹介
Fluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターン
統合ID管理入門
統合ID管理入門
マイクロサービスにおける 結果整合性との戦い
マイクロサービスにおける 結果整合性との戦い
Azure ADアプリケーションを使用した認証のあれやこれ
Azure ADアプリケーションを使用した認証のあれやこれ
ブロックチェーン間のインターオペラビリティ概論
ブロックチェーン間のインターオペラビリティ概論
PostgreSQL 15の新機能を徹底解説
PostgreSQL 15の新機能を徹底解説
GraphQLのsubscriptionで出来ること
GraphQLのsubscriptionで出来ること
現場からみた Azure リファレンスアーキテクチャ答え合わせ
現場からみた Azure リファレンスアーキテクチャ答え合わせ
今なら間に合う分散型IDとEntra Verified ID
今なら間に合う分散型IDとEntra Verified ID
NGINXをBFF (Backend for Frontend)として利用した話
NGINXをBFF (Backend for Frontend)として利用した話
OpenID Connect入門
OpenID Connect入門
Azure API Management 俺的マニュアル
Azure API Management 俺的マニュアル
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
地理分散DBについて
地理分散DBについて
CQRS+ES on GCP
CQRS+ES on GCP
Similar to Azure Cosmos DB で始める Java + NoSQL 開発
Azure Cosmos DB を使った クラウドネイティブアプリケーションの 設計パターン
Azure Cosmos DB を使った クラウドネイティブアプリケーションの 設計パターン
Kazuyuki Miyake
Start learning Azure Cosmos DB with Azure Synapse Link
Start learning Azure Cosmos DB with Azure Synapse Link
Oshitari_kochi
Sql azure入門
Sql azure入門
貴仁 大和屋
[de:code 2018] [DA19] 次世代データベース サービス「Azure Cosmos DB」を使いこなそう ~ Azure Cosmos D...
[de:code 2018] [DA19] 次世代データベース サービス「Azure Cosmos DB」を使いこなそう ~ Azure Cosmos D...
Naoki (Neo) SATO
オープンソーステクノロジー対応の App Service と Azure Database Servicesを活用した Webシステムデザイン
オープンソーステクノロジー対応の App Service と Azure Database Servicesを活用した Webシステムデザイン
Daisuke Masubuchi
Introduction to DocumentDB
Introduction to DocumentDB
Takekazu Omi
20140628 AWSの2014前半のアップデートまとめ
20140628 AWSの2014前半のアップデートまとめ
Yasuhiro Araki, Ph.D
Microsoft Azure build & ignight update summary
Microsoft Azure build & ignight update summary
Hirano Kazunori
SQL Beginners Day #1 - SQL Server および Azure SQL のインストールと管理
SQL Beginners Day #1 - SQL Server および Azure SQL のインストールと管理
Oshitari_kochi
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
GoAzure
2011/11/26 Dot netlab
2011/11/26 Dot netlab
貴仁 大和屋
2011/12/3 わんくま同盟
2011/12/3 わんくま同盟
貴仁 大和屋
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
Kazuyuki Miyake
Cosmos DB 入門 multi model multi API編
Cosmos DB 入門 multi model multi API編
Takekazu Omi
モバイルアプリ開発者にも知ってほしい Microsoft AzureのDatabase as a Service
モバイルアプリ開発者にも知ってほしい Microsoft AzureのDatabase as a Service
Yuta Matsumura
[DI04] 使わないのはもったいない! プラネット スケールの NoSQL サービス「Azure Cosmos DB」を使いこなそう
[DI04] 使わないのはもったいない! プラネット スケールの NoSQL サービス「Azure Cosmos DB」を使いこなそう
de:code 2017
[de:code 2017] 使わないのはもったいない! プラネット スケールの NoSQL サービス「Azure Cosmos DB」を使いこなそう
[de:code 2017] 使わないのはもったいない! プラネット スケールの NoSQL サービス「Azure Cosmos DB」を使いこなそう
Naoki (Neo) SATO
AKS on Azure Stack HCI/Windows Serverのデプロイ _ Deploying AKS on Azure Stack HCI...
AKS on Azure Stack HCI/Windows Serverのデプロイ _ Deploying AKS on Azure Stack HCI...
Norio Sashizaki
Awsのクラウドデザインパターンをwindows azureに持ってきてみた
Awsのクラウドデザインパターンをwindows azureに持ってきてみた
Sunao Tomita
クラウドデザインパターンから始めるクラウドの利点と弱点の理解~提案から設計・開発・保守に活かす!~
クラウドデザインパターンから始めるクラウドの利点と弱点の理解~提案から設計・開発・保守に活かす!~
貴志 上坂
Similar to Azure Cosmos DB で始める Java + NoSQL 開発
(20)
Azure Cosmos DB を使った クラウドネイティブアプリケーションの 設計パターン
Azure Cosmos DB を使った クラウドネイティブアプリケーションの 設計パターン
Start learning Azure Cosmos DB with Azure Synapse Link
Start learning Azure Cosmos DB with Azure Synapse Link
Sql azure入門
Sql azure入門
[de:code 2018] [DA19] 次世代データベース サービス「Azure Cosmos DB」を使いこなそう ~ Azure Cosmos D...
[de:code 2018] [DA19] 次世代データベース サービス「Azure Cosmos DB」を使いこなそう ~ Azure Cosmos D...
オープンソーステクノロジー対応の App Service と Azure Database Servicesを活用した Webシステムデザイン
オープンソーステクノロジー対応の App Service と Azure Database Servicesを活用した Webシステムデザイン
Introduction to DocumentDB
Introduction to DocumentDB
20140628 AWSの2014前半のアップデートまとめ
20140628 AWSの2014前半のアップデートまとめ
Microsoft Azure build & ignight update summary
Microsoft Azure build & ignight update summary
SQL Beginners Day #1 - SQL Server および Azure SQL のインストールと管理
SQL Beginners Day #1 - SQL Server および Azure SQL のインストールと管理
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
2011/11/26 Dot netlab
2011/11/26 Dot netlab
2011/12/3 わんくま同盟
2011/12/3 わんくま同盟
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
Cosmos DB 入門 multi model multi API編
Cosmos DB 入門 multi model multi API編
モバイルアプリ開発者にも知ってほしい Microsoft AzureのDatabase as a Service
モバイルアプリ開発者にも知ってほしい Microsoft AzureのDatabase as a Service
[DI04] 使わないのはもったいない! プラネット スケールの NoSQL サービス「Azure Cosmos DB」を使いこなそう
[DI04] 使わないのはもったいない! プラネット スケールの NoSQL サービス「Azure Cosmos DB」を使いこなそう
[de:code 2017] 使わないのはもったいない! プラネット スケールの NoSQL サービス「Azure Cosmos DB」を使いこなそう
[de:code 2017] 使わないのはもったいない! プラネット スケールの NoSQL サービス「Azure Cosmos DB」を使いこなそう
AKS on Azure Stack HCI/Windows Serverのデプロイ _ Deploying AKS on Azure Stack HCI...
AKS on Azure Stack HCI/Windows Serverのデプロイ _ Deploying AKS on Azure Stack HCI...
Awsのクラウドデザインパターンをwindows azureに持ってきてみた
Awsのクラウドデザインパターンをwindows azureに持ってきてみた
クラウドデザインパターンから始めるクラウドの利点と弱点の理解~提案から設計・開発・保守に活かす!~
クラウドデザインパターンから始めるクラウドの利点と弱点の理解~提案から設計・開発・保守に活かす!~
More from Oshitari_kochi
Azure SQL MI Link で移行も DR もポチッとな、の時代へ
Azure SQL MI Link で移行も DR もポチッとな、の時代へ
Oshitari_kochi
Azure Policy + Azure RBAC の導入に際して得たアレコレ
Azure Policy + Azure RBAC の導入に際して得たアレコレ
Oshitari_kochi
SPS 開発から SPO 開発に変わる際に気をつけなければならないポイント 3 選
SPS 開発から SPO 開発に変わる際に気をつけなければならないポイント 3 選
Oshitari_kochi
Updates of Azure NoSQL announced at Microsoft Ignite Spring 2021
Updates of Azure NoSQL announced at Microsoft Ignite Spring 2021
Oshitari_kochi
試験スキルのアウトラインから得たMCP試験受験のコツ
試験スキルのアウトラインから得たMCP試験受験のコツ
Oshitari_kochi
PySpark Intro Part.2 with SQL Graph
PySpark Intro Part.2 with SQL Graph
Oshitari_kochi
ここから始めましょう、イチからーーいいえ、Cosmosから!
ここから始めましょう、イチからーーいいえ、Cosmosから!
Oshitari_kochi
Azure Cosmos DB の整合性レベルについて
Azure Cosmos DB の整合性レベルについて
Oshitari_kochi
Azure Cosmos DB のエンティティについて
Azure Cosmos DB のエンティティについて
Oshitari_kochi
About entities of Azure Cosmos DB
About entities of Azure Cosmos DB
Oshitari_kochi
Azure Synapse Link for Azure Cosmos DB
Azure Synapse Link for Azure Cosmos DB
Oshitari_kochi
20200809_2020年から始める Azure Cosmos DB 入門 with Azure Synapse Link recap
20200809_2020年から始める Azure Cosmos DB 入門 with Azure Synapse Link recap
Oshitari_kochi
よわよわエンジニアがde:code 2020に感化されて新しくコミュニティを立ち上げてみた話
よわよわエンジニアがde:code 2020に感化されて新しくコミュニティを立ち上げてみた話
Oshitari_kochi
Get started with future C# .Net development with Docker
Get started with future C# .Net development with Docker
Oshitari_kochi
Start Cosmos DB with VSCode Extension
Start Cosmos DB with VSCode Extension
Oshitari_kochi
Summary of SQL Database Updates
Summary of SQL Database Updates
Oshitari_kochi
Summary of SQL Server 2019 new features
Summary of SQL Server 2019 new features
Oshitari_kochi
Start SQL Server with Docker
Start SQL Server with Docker
Oshitari_kochi
Explains Microsoft Extensibility SDK for Java for SQL Server
Explains Microsoft Extensibility SDK for Java for SQL Server
Oshitari_kochi
Tips for passing AZ-103 once
Tips for passing AZ-103 once
Oshitari_kochi
More from Oshitari_kochi
(20)
Azure SQL MI Link で移行も DR もポチッとな、の時代へ
Azure SQL MI Link で移行も DR もポチッとな、の時代へ
Azure Policy + Azure RBAC の導入に際して得たアレコレ
Azure Policy + Azure RBAC の導入に際して得たアレコレ
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 2021
試験スキルのアウトラインから得たMCP試験受験のコツ
試験スキルのアウトラインから得たMCP試験受験のコツ
PySpark Intro Part.2 with SQL Graph
PySpark Intro Part.2 with SQL Graph
ここから始めましょう、イチからーーいいえ、Cosmosから!
ここから始めましょう、イチからーーいいえ、Cosmosから!
Azure Cosmos DB の整合性レベルについて
Azure Cosmos DB の整合性レベルについて
Azure Cosmos DB のエンティティについて
Azure Cosmos DB のエンティティについて
About entities of Azure Cosmos DB
About entities of Azure Cosmos DB
Azure Synapse Link for Azure Cosmos DB
Azure Synapse Link for Azure Cosmos DB
20200809_2020年から始める Azure Cosmos DB 入門 with Azure Synapse Link recap
20200809_2020年から始める Azure Cosmos DB 入門 with Azure Synapse Link recap
よわよわエンジニアがde:code 2020に感化されて新しくコミュニティを立ち上げてみた話
よわよわエンジニアがde:code 2020に感化されて新しくコミュニティを立ち上げてみた話
Get started with future C# .Net development with Docker
Get started with future C# .Net development with Docker
Start Cosmos DB with VSCode Extension
Start Cosmos DB with VSCode Extension
Summary of SQL Database Updates
Summary of SQL Database Updates
Summary of SQL Server 2019 new features
Summary of SQL Server 2019 new features
Start SQL Server with Docker
Start SQL Server with Docker
Explains Microsoft Extensibility SDK for Java for SQL Server
Explains Microsoft Extensibility SDK for Java for SQL Server
Tips for passing AZ-103 once
Tips for passing AZ-103 once
Recently uploaded
What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?
Industrial Technology Research Institute (ITRI)(工業技術研究院, 工研院)
2024 03 CTEA
2024 03 CTEA
arts yokohama
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
Matsushita Laboratory
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
ssuser539845
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
ssuser370dd7
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
Tetsuya Nihonmatsu
2024 01 Virtual_Counselor
2024 01 Virtual_Counselor
arts yokohama
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
Shumpei Kishi
2024 04 minnanoito
2024 04 minnanoito
arts yokohama
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
arts yokohama
20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf
Ayachika Kitazaki
Recently uploaded
(11)
What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?
2024 03 CTEA
2024 03 CTEA
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
2024 01 Virtual_Counselor
2024 01 Virtual_Counselor
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
2024 04 minnanoito
2024 04 minnanoito
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf
Azure Cosmos DB で始める Java + NoSQL 開発
1.
Azure Cosmos DB
で 始める Java + NoSQL 開発 JJUG CCC 2020 Fall @mappie_kochi
2.
⾃⼰紹介 • Yuji Masaoka
(まっぴぃ⊿) • Twitter: @mappie_kochi • GitHub: @ymasaoka • ⻘い R の中の⼈ • 情シス担当 • 普段は SharePoint や SQL Server をメインで担当 • コミュニティ • JSSUG (Japan SQL Server User Group) Organizer • JCDUG (Japan Azure Cosmos DB User Group) Organizer 2
3.
Agenda • Azure Cosmos
DB 概要 • Azure Cosmos DB Java SDK • Azure Cosmos DB を使⽤した Java アプリ開発 • 環境作成 • Azure Cosmos DB への接続 • Azure Cosmos DB へのクエリ実⾏ • Azure Cosmos DB 変更フィードの取得 3
4.
Azure Cosmos DB
とは Azure Cosmos DB 概要
5.
Azure Cosmos DB •
あらゆる規模に対応するオープン API を備えた⾼速な NoSQL データベース • 読み取りと書き込みのレイテンシーが 1 桁ミリ秒を要求される運⽤ /分析ワークロード向けに特化 • 99.9 % 以上の⾼可⽤性 (SLA)、スループットと⼀貫性を保証 5
6.
サポートしている API 6
7.
サービス体系 • プロビジョニング or
サーバレス • プロビジョニングの場合、Free Tier (無償枠) が存在 • プロビジョニングの場合、スループットは無制限でスケールアウト可能 • 既存のドライバーを使⽤することが可能 • MongoDB、Cassandra、Gremlin に対応 • 既存のコードを Cosmos DB 向けに改修する必要なし • 簡単ワンクリックでグローバル分散が可能 7
8.
Free Tier (無償枠) •
毎⽉最初の 400 RU/s と 5GB のストレージが無料 • 超過した分から課⾦が⾏われる • 1 Azure サブスクリプションあたり、1 つのみ設定可能 • Azure Cosmos DB アカウント単位で設定 8
9.
要求ユニット (RU/s) • スループットの単位 •
1 RU = シングルパーティションから 1 KB のドキュメントを 1 回読み取り • 設定できる最⼩値は 400 RU/s (1 秒あたり 400 RU) • RU は 100 RU/s 刻みでスケーリング可能 • ⼿動構成やオートスケールの設定が可能 • 書き込み (PUT) は 2 倍の RU が必要 9
10.
データベース / コンテナー
/ アイテム 10 https://docs.microsoft.com/en-us/azure/cosmos-db/databases-containers-items
11.
データベース / コンテナー
/ アイテム • データベース • 名前空間 (package/namespace) のようなもの • コンテナーを管理する単位 • コンテナー • いわゆる RDB でいうところのテーブルや NoSQL のコレクションに相当 • パーティションキー (≒シャードキー) に基づいてデータを分散 • 同じパーティションのデータは 20 GB まで登録可能 • アイテム • コンテナー内に格納されるデータ • 1 アイテム 2 MB まで 11
12.
Azure Cosmos DB
の強み Azure Cosmos DB 概要 12
13.
スキーマレスと⾃動インデックス作成 • すべてのデータのインデックス付けを⾃動で⾏い、⾼速クエリを提供 • すべてのコンテナーに対して、コンテナーのアイテムのインデックスを作成する⽅ 法を指⽰ •
「同期」と「なし」の 2 つのインデックス作成モードをサポート • 既定のインデックス作成ポリシーは⾃動で有効 (automatic = true) • カスタムインデックス作成ポリシーも設定可能 • 複合インデックス • 空間インデックス • プロパティパスの包含・除外の指定 13
14.
包括的な SLA と 99
パーセンタイルの低待機時間 • SLA (Service Level Agreement) • 99.9 % • Azure Cosmos DB サーバレス利⽤時 • 99.99 % • 単⼀リージョン、または複数リージョンにプロビジョニングしているが書き込 みは 1 リージョンのみに限定している時 • 99.999 % • 複数リージョンにプロビジョニング、かつ複数のリージョンで書き込み可能 にしている時 • 99 パーセンタイル • 世界中で読み取り (インデックス付き) と書き込みの両⽅に対して適⽤ • 10 ミリ秒未満の待機時間を保証 14
15.
⼈気のある OSS API
をそのまま利⽤ • 既存のクライアントドライバー(ツール)の利⽤が可能 • Gremlin、Cassandra、MongoDB • 移⾏が簡単 • 少ない労⼒で、業界最⾼レベルの SLA が提供されるフルマネージドのサー ビスが利⽤可能 • ニーズに応じて、スケーリングが容易に可能に • アプリケーションの移植性を保持したまま、クラウドベンダーに⾮依存な状態を 維持可能 15
16.
Azure Synapse Link 16
17.
Azure Synapse Link •
HTAP (Hybrid Transaction Analytical Processing) • クラウドネイティブのハイブリットトランザクションおよび分析処理 • グローバルに分散された⼤規模運⽤データを ETL 対応なしで、ほぼリアルタ イムに分析することが可能 • Azure Synapse Analytics (SQL DW の進化版) と接続し、Spark や SQL を使⽤ • Cosmos DB のトランザクションワークロードのパフォーマンスに影響を与えず、 BI や分析、機械学習パイプラインを実⾏可能 17
18.
Azure Synapse Link 18 トランザクションストア
分析ストア トランザクションの読み 取りおよび書き込み用に 最適化された行ストア 分析クエリ用に最適化された 列ストア 運用データ 機械学習 ビックデータ分析 BI ダッシュボード 自動で同期自動で同期
19.
SDK について Azure Cosmos
DB Java SDK 概要
20.
SQL API を利⽤する場合 •
Core (SQL) API ⽤ Azure Cosmos DB Java SDK v4 を 利⽤ • maven • https://mvnrepository.com/artifact/com.azure/azure- cosmos • GitHub • https://github.com/Azure/azure-sdk-for- java/tree/master/sdk/cosmos/azure-cosmos • API Docs • https://docs.microsoft.com/ja- jp/java/api/overview/azure/cosmos-readme?view=azure- java-stable
21.
SQL API 以外を利⽤する場合 •
Java MongoDB Driver • https://docs.mongodb.com/drivers/java • Ver. 3.2 endpoint: *.documents.azure.com • Ver. 3.6 endpoint: *.mongo.cosmos.azure.com • DataStax Java Driver for Apache Cassandra • https://docs.datastax.com/en/developer/java-driver/4.9/ • 3.5 以上 • gremlin-java Driver • http://tinkerpop.apache.org/javadocs/current/full/ • 3.2.0 以上 21
22.
Core (SQL) API
⽤ Azure Cosmos DB Java SDK v4 • GA (General Availability) – Jun 15th, 2020 • JDK 8 以上 • 負荷時のリクエストのスループットと安定性を⼤幅に最適化 • 古い Java SDK (v2 および v3) よりも 20% パフォーマンスが向上 • 機能追加 • プログラムによる Autoscale のスループットのプロビジョニングを完全サポート • DISTINCT クエリに対応 • Analytical Time-to-Live (TTL) に対応 22
23.
環境作成 Azure Cosmos DB
を使⽤した Java アプリ開発
24.
開発環境準備 • JDK 8+ •
IDE (今回は Eclipse を使⽤) • 有効な Azure Cosmos DB アカウント 24
25.
Azure Cosmos DB
アカウント作成 • Azure ポータルや Azure CLI などから作成 • アカウント作成時、どの API を使⽤するか選択が必須 • Core (SQL)、MongoDB、Cassandra、Table、Gremlin • アカウント作成にはお⾦はかからない • データベースやコンテナーを作成すると課⾦が発⽣し始める • 以降のスライドでは、SQL API を選択した過程で進めます 25
26.
Azure Cosmos DB
への接続 Azure Cosmos DB を使⽤した Java アプリ開発 26
27.
接続情報を取得 • Azure ポータル上などで、接続に必要な情報を取得
28.
接続クライアントを⽣成 • CosmosClient (同期)
/ CosmosAsyncClient (⾮同期) • CosmosClientBuilder を使⽤したクライアント⽣成 • .endpoint :ホスト名指定 • .key :キーを指定 • .preferredRegions :接続先リージョンを指定(任意) • .consistencyLevel :整合性を指定(任意) • .buildClient :CosmosClient を⽣成 • .buildAsyncClient :CosmosAsyncClient を⽣成
29.
例: CosmosClient を⽣成 29 private
CosmosClient client; private final String HOST = “<Cosmos DB のホスト>”; private final String MASTER_KEY = “プライマリまたはセカンダリのパスワード”; client = new CosmosClientBuilder() .endpoint(HOST) .key(MASTER_KEY) .preferredRegions(Collection.singletonList(“Japan East”)) .consistencyLevel(ConsistencyLevel.SESSION) .buildClient();
30.
データベースを作成・取得 • CosmosDatabase • CosmosClient
を使⽤してデータベースを作成 • createDatabase :DB を新規作成 • createDatabaseIfNotExists :指定した DB がなければ新規作成 • getDatabase : 指定した id に紐づくデータベースクライアントを取得
31.
例: CosmosDatabase を⽣成 31 private
CosmosClient client; private CosmosDatabase database; private final String DATABASE_ID = “<任意のデータベース(id)名>”; // CosmosClient ⽣成後 CosmosDatabaseResponse databaseResponse = client.createDatabaseIfNotExists(DATABASE_ID); database = client.getDatabase(databaseResponse.getProperties().getId());
32.
コンテナーを作成・取得 • CosmosContainer • CosmosDatabase
を使⽤してコンテナーを作成 • createContainer :コンテナーを新規作成 • createContainerIfNotExists :指定したコンテナーがなければ新規作成 • getContainer :指定した id に紐づくコンテナークライアントを取得 32
33.
例: CosmosClient を⽣成 33 private
CosmosClient client; private CosmosDatabase database; private CosmosContainer container; private final String CONTAINER_ID = “<任意のデータベース(id)名>”; private final String PARTITION_KEY = “<任意のパーティションキー>”; // CosmosClient、CosmosDatabase ⽣成後 CosmosContainerProperties properties = new CosmosContainerProperties( CONTAINER_ID, PARTITION_KEY ); CosmosContainerResponse containerResponse = database.createContainerIfNotExists(properties); container = database.getContainer(containerResponse.getProperties().getId());
34.
Demo 34
35.
クエリ実⾏ Azure Cosmos DB
を使⽤した Java アプリ開発 35
36.
CRUD 実⾏ • ActiveRecord
のようにすることも、クエリを作成して実⾏することも 可能 • CosmosContainer を使⽤して操作 36
37.
Demo 37
38.
変更フィードの取得 Azure Cosmos DB
を使⽤した Java アプリ開発 38
39.
変更フィードとは • コンテナーに対して⾏われたアイテムの更新内容を取得 • アイテムの挿⼊や更新の最終更新内容を取得 •
今後、更新に加えて削除も対応される予定 • 今後、プルモデルも登場する予定 • 下記の API で作成した Cosmos DB アカウントで有効 • Core (SQL)、MongoDB、Cassandra、Gremlin
40.
Demo • セッション時間の都合上、詳しくは Web
で • GitHub • Azure-Samples / azure-cosmos-java-sql-app-example 40
41.
まとめ 41
42.
Java + Cosmos
DB (NoSQL) • Cosmos DB は Azure のフルマネージドな NoSQL のサービス • データベース • コンテナー • アイテム • Free Tier (無償枠) もある • 業界最⾼レベルの SLA を利⽤可能 • 99.9 % 以上 • 99 パーセンタイルで 10 ミリ秒未満の待機時間を保証 • 好きな API を選択し、対応する Java SDK を利⽤して開発
43.
Thank you !! Any
Questions? @mappie_kochi 43
Download Now