SlideShare uma empresa Scribd logo
1 de 64
Microsoft Tech Summit 2017
1.
2.
3.
4.
#mstsjp17 #DAL005

﹣
﹣
﹣

﹣
﹣
﹣ Blog: k-miyake.github.io/blog/
Twitter: @kazuyukimiyake
A globally distributed, massively scalable, multi-model database service
Column-family
Document
Graph
Turnkey global distribution
Elastic scale out
of storage & throughput
Guaranteed low latency at the 99th percentile
Comprehensive SLAs
Five well-defined consistency models
Table API
Key-value
Azure Cosmos DB
MongoDB API
A globally distributed, massively scalable, multi-model database service
Column-family
Document
Graph
Turnkey global distribution
Elastic scale out
of storage & throughput
Guaranteed low latency at the 99th percentile
Comprehensive SLAs
Five well-defined consistency models
Table API
Key-value
Azure Cosmos DB
MongoDB API
API Apps
Search
Cosmos
DB
Blob
Storage
利用者
認証
App Service
Microsoft Azure
Storage
Queue
Blob
Storage
Functions
Storage
Queue
SQL Database
Cosmos
DB
Cognitive
Services
Machine
Learning
Function
s
PC Clients(Windows/Mac)Mobile Clients(iOS/Android)
API Gateway
外部システム
Application
Insights
Azure
Monitor
Web Apps
Token
.NET
Identity
Framework
Functions
REST/OAuth2
SPA (Browser App)SPA (Browser App)
負荷モニター/オートスケール
Microsoft導入事例サイト:
https://www.microsoft.com/ja-jp/casestudies/ffs.fujifilm.aspx
1.
2.
﹣
﹣
﹣
3.
■
 https://docs.microsoft.com/ja-jp/azure/cosmos-db/
■
■Azure Cosmos DB:
The globally distributed, multi-model database
 https://myignite.microsoft.com/sessions/54947
■Azure Cosmos DB, design patterns and case studies
for globally distributed applications
 https://myignite.microsoft.com/sessions/54954

﹣
﹣
﹣
参考: A technical overview of Azure Cosmos DB
https://azure.microsoft.com/en-us/blog/a-technical-overview-of-azure-cosmos-db/
Dr. Leslie Lamport
Azure Cosmos DB

﹣
﹣
Document型
Graph型
Key-Value型
• DocumentDB(SQL) API
• MongoDB API
• Gremlin API (プレビュー)
• Table API(プレビュー)

﹣

﹣

﹣

﹣
参考: Automatic regional failover for business continuity in Azure Cosmos DB
https://docs.microsoft.com/ja-jp/azure/cosmos-db/regional-failover

﹣
﹣
﹣
﹣
﹣
﹣
﹣
﹣

﹣
﹣

﹣
﹣
﹣
https://www.documentdb.com/capacityplanner
参考: Azure Cosmos DB の要求ユニット
https://docs.microsoft.com/ja-jp/azure/cosmos-db/request-units
•
•
「Person」を表現するために4
つのエンティティが必要
画面の多くがマスタを
参照していることが多い

﹣
﹣
参考: NoSQL データベースのドキュメント データのモデル化
https://docs.microsoft.com/ja-jp/azure/cosmos-db/modeling-data
•
•


• 1つのJSONは、1つのcsファイルにまとめても良い
• 実際には、各プロパティにJsonPropertyを付与してキャメ
ルケースに対応させる
public class Rootobject
{
public string Id { get; set; }
public string LastName { get; set; }
public string FirstName { get; set; }
public Address Address { get; set; }
public string Title { get; set; }
public Contact[] Contacts { get; set; }
}
public class Address
{
public string Line1 { get; set; }
public string Line2 { get; set; }
public string City { get; set; }
public string State { get; set; }
public int Zip { get; set; }
}
public class Contact
{
public string Email { get; set; }
}

﹣
﹣
Use the best data store for the job
https://docs.microsoft.com/en-us/azure/architecture/guide/design-principles/use-the-best-data-store
• 自動レプリケーション
• フェールオーバー
(自動/手動)
アクティブ
アクティブ
ルールによるトラ
フィック振分け

﹣
﹣
﹣

﹣
﹣



参考: Automatic regional failover for business continuity in Azure Cosmos DB
https://docs.microsoft.com/ja-jp/azure/cosmos-db/regional-failover
// 接続ポリシーの作成
var connectionPolicy = new ConnectionPolicy
{
ConnectionMode = ConnectionMode.Direct, // ダイレクトモード
ConnectionProtocol = Protocol.Tcp // TCPを利用
};
// 読み取りリージョンを優先度順に追加
connectionPolicy.PreferredLocations.Add("Japan West");
connectionPolicy.PreferredLocations.Add("Japan East");
connectionPolicy.PreferredLocations.Add("Southeast Asia");
// DocumentDBクライアントの生成
client = new DocumentClient(
new Uri(ConfigurationManager.AppSettings["endpoint"]),
ConfigurationManager.AppSettings["authKey"],
connectionPolicy
);
client.OpenAsync(); // パフォーマンス改善のため一度接続しておく
接続クライアント生成時に、読み取
りリージョンを設定しておく
参考: PaaSがかりの部屋 - Cosmos DBで読み取りリージョンへ明示的にルーティングする
https://k-miyake.github.io/blog/cosmos-db-preferred-locations/
動的設定の
実装例
Make all things redundant
https://docs.microsoft.com/en-us/azure/architecture/guide/design-principles/redundancy

﹣

﹣
Azure Cosmos DB Triggerを使ったAzure Functionの実行フロー
•
•

﹣
﹣

﹣

﹣
﹣https://docs.microsoft.com/ja-jp/azure/cosmos-db/import-data

﹣
﹣
﹣
Use managed services
https://docs.microsoft.com/en-us/azure/architecture/guide/design-principles/managed-services
デモで利用したソースコードはGithubで公開しています
https://github.com/k-miyake/mstsjp2017-dal005
Try Azure Cosmos DB for free!
https://azure.microsoft.com/ja-jp/try/cosmosdb/
DAL005: Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
Cosmos DBのリソースモデル •
•
•
Account
Database
Container
Item
=
Collection Graph Table
• ドキュメント
• ストアドプロシージャ
• トリガー
• ユーザ定義関数
参考: Azure Cosmos DB 階層型リソース モデルと中心的概念
https://docs.microsoft.com/ja-jp/azure/cosmos-db/documentdb-resources
Container(DocumentDB APIでは「コレク
ション」)が設計上最も重要な単位

﹣
﹣

﹣
﹣
﹣

﹣
﹣
Provisionedrequest/sec
Time
12000000
10000000
8000000
6000000
4000000
2000000
Nov 2016
Hourly throughput (request/sec)
参考: Azure Cosmos DB コンテナーのスループットの設定
https://docs.microsoft.com/ja-jp/azure/cosmos-db/set-throughput
•
•
Document document = await _client.ReadDocumentAsync(
UriFactory.CreateDocumentUri(_option.DatabaseId, _option.CollectionId, id),
new RequestOptions{ PartitionKey = new PartitionKey(pkey)}
);
参考 :Azure Cosmos DB でのパーティション分割とスケーリング
https://docs.microsoft.com/ja-jp/azure/cosmos-db/partition-data

﹣
﹣
﹣
﹣

参考: Azure Cosmos DB の SLA
https://azure.microsoft.com/ja-jp/support/legal/sla/cosmos-db/v1_0/


参考: Azure Cosmos DB での予約されたスループット上限の超過
https://docs.microsoft.com/ja-jp/azure/cosmos-db/request-units#RequestRateTooLarge
一貫性
レベル
説明
Strong
• 最新バージョンのデータを返すことが保証される
• 複数リージョンへの分散ができない
Bounded
Staleness
• 最大でアイテムの K 個のバージョンまたはプレフィックス
あるいは期間 t の分だけ、読み取りが書き込みに対し遅れる
ことが保証
• kとtは設定変更が可能
Session
• クライアント セッション内での一貫性が保証される
• デフォルト
Consistent
Prefix
• 返される更新が、それ以外の全更新の一部のプレフィックス
となる (ギャップなし)
• 書き込みが A, B, C の順で実行された場合、クライアントで
は A、A,B、または A,B,C で返る可能性があるが、A,C また
は B,A,C などで返されることはない
Eventual
• 結果整合性
• 読み取りと書き込みの待機時間は最短
• クライアントからの読み取りは順不同となる可能性がある
参考: Azure Cosmos DB の一貫性レベル
https://docs.microsoft.com/ja-jp/azure/cosmos-db/consistency-levels

﹣
﹣
Physical index
https://docs.microsoft.com/ja-jp/azure/cosmos-db/indexing-policies

﹣
﹣
参考: Azure Cosmos DB のサーバー側 JavaScript プログラミング
https://docs.microsoft.com/ja-jp/azure/cosmos-db/programming#database-program-transactions

﹣
﹣

﹣https://www.documentdb.com/sql/demo
参考: Azure Cosmos DB DocumentDB API: SQL 構文
https://docs.microsoft.com/ja-jp/azure/cosmos-db/documentdb-sql-query-reference#select-query

﹣
﹣
PM> Install-Package Microsoft.Azure.DocumentDB
• TCP直接接続モードの例
• ポート範囲 10000 ~ 20000
を開けておく必要あり
参考: Azure Cosmos DB .NET SDK
https://docs.microsoft.com/ja-jp/azure/cosmos-db/documentdb-sdk-dotnet

サンプル実装:
https://github.com/Azure-Samples/documentdb-dotnet-todo-app/blob/master/src/DocumentDBRepository.cs
• SDK利用に多くの解釈がないため、
ほぼ同じようなコードに収束する
• Upsertもサポートされている
• 実はSQLを直接使う機会
はあまりない
DocumentDBRepository抜粋

﹣
﹣

﹣
﹣

﹣
参考: Azure Cosmos DB データベースのセキュリティ
https://docs.microsoft.com/ja-jp/azure/cosmos-db/database-security

﹣
﹣

﹣
﹣
参考: Azure Cosmos DB での自動オンライン バックアップと復元
https://docs.microsoft.com/ja-jp/azure/cosmos-db/online-backup-and-restore




﹣
参考: Azure Cosmos DB のメトリックを使用した監視とデバッグ
https://docs.microsoft.com/ja-jp/azure/cosmos-db/use-metrics
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン

Mais conteúdo relacionado

Mais procurados

Azure Monitor Logで実現するモダンな管理手法
Azure Monitor Logで実現するモダンな管理手法Azure Monitor Logで実現するモダンな管理手法
Azure Monitor Logで実現するモダンな管理手法Takeshi Fukuhara
 
Amazon S3を中心とするデータ分析のベストプラクティス
Amazon S3を中心とするデータ分析のベストプラクティスAmazon S3を中心とするデータ分析のベストプラクティス
Amazon S3を中心とするデータ分析のベストプラクティスAmazon Web Services Japan
 
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤Amazon Web Services Japan
 
【de:code 2020】 Azure Red hat OpenShift (ARO) によるシステムアーキテクチャ構築の実践
【de:code 2020】 Azure Red hat OpenShift (ARO) によるシステムアーキテクチャ構築の実践【de:code 2020】 Azure Red hat OpenShift (ARO) によるシステムアーキテクチャ構築の実践
【de:code 2020】 Azure Red hat OpenShift (ARO) によるシステムアーキテクチャ構築の実践日本マイクロソフト株式会社
 
3分でわかるAzureでのService Principal
3分でわかるAzureでのService Principal3分でわかるAzureでのService Principal
3分でわかるAzureでのService PrincipalToru Makabe
 
データ分析を支える技術 DWH再入門
データ分析を支える技術 DWH再入門データ分析を支える技術 DWH再入門
データ分析を支える技術 DWH再入門Satoru Ishikawa
 
Data Factoryの勘所・大事なところ
Data Factoryの勘所・大事なところData Factoryの勘所・大事なところ
Data Factoryの勘所・大事なところTsubasa Yoshino
 
Data Factory V2 新機能徹底活用入門
Data Factory V2 新機能徹底活用入門Data Factory V2 新機能徹底活用入門
Data Factory V2 新機能徹底活用入門Keisuke Fujikawa
 
初めてのデータ分析基盤構築をまかされた、その時何を考えておくと良いのか
初めてのデータ分析基盤構築をまかされた、その時何を考えておくと良いのか初めてのデータ分析基盤構築をまかされた、その時何を考えておくと良いのか
初めてのデータ分析基盤構築をまかされた、その時何を考えておくと良いのかTechon Organization
 
え!?データがオンプレにあるけどPower BI で BI したいの?
え!?データがオンプレにあるけどPower BI で BI したいの?え!?データがオンプレにあるけどPower BI で BI したいの?
え!?データがオンプレにあるけどPower BI で BI したいの?Yugo Shimizu
 
15分でお届けする Elastic Stack on Azure 設計・構築ノウハウ
15分でお届けする Elastic Stack on Azure 設計・構築ノウハウ15分でお届けする Elastic Stack on Azure 設計・構築ノウハウ
15分でお届けする Elastic Stack on Azure 設計・構築ノウハウYoichi Kawasaki
 
クラウドDWHにおける観点とAzure Synapse Analyticsの対応
クラウドDWHにおける観点とAzure Synapse Analyticsの対応クラウドDWHにおける観点とAzure Synapse Analyticsの対応
クラウドDWHにおける観点とAzure Synapse Analyticsの対応Ryoma Nagata
 
今こそ知りたい!Microsoft Azureの基礎
今こそ知りたい!Microsoft Azureの基礎今こそ知りたい!Microsoft Azureの基礎
今こそ知りたい!Microsoft Azureの基礎Trainocate Japan, Ltd.
 
VPC Reachability Analyzer 使って人生が変わった話
VPC Reachability Analyzer 使って人生が変わった話VPC Reachability Analyzer 使って人生が変わった話
VPC Reachability Analyzer 使って人生が変わった話Noritaka Sekiyama
 
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design PatternAWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design PatternAmazon Web Services Japan
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことAmazon Web Services Japan
 
Presto ベースのマネージドサービス Amazon Athena
Presto ベースのマネージドサービス Amazon AthenaPresto ベースのマネージドサービス Amazon Athena
Presto ベースのマネージドサービス Amazon AthenaAmazon Web Services Japan
 
Demystifying Identities for Azure Kubernetes Service
Demystifying Identities for Azure Kubernetes ServiceDemystifying Identities for Azure Kubernetes Service
Demystifying Identities for Azure Kubernetes ServiceToru Makabe
 
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそうPython 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそうRyuji Tsutsui
 

Mais procurados (20)

Azure Monitor Logで実現するモダンな管理手法
Azure Monitor Logで実現するモダンな管理手法Azure Monitor Logで実現するモダンな管理手法
Azure Monitor Logで実現するモダンな管理手法
 
Amazon S3を中心とするデータ分析のベストプラクティス
Amazon S3を中心とするデータ分析のベストプラクティスAmazon S3を中心とするデータ分析のベストプラクティス
Amazon S3を中心とするデータ分析のベストプラクティス
 
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
 
【de:code 2020】 Azure Red hat OpenShift (ARO) によるシステムアーキテクチャ構築の実践
【de:code 2020】 Azure Red hat OpenShift (ARO) によるシステムアーキテクチャ構築の実践【de:code 2020】 Azure Red hat OpenShift (ARO) によるシステムアーキテクチャ構築の実践
【de:code 2020】 Azure Red hat OpenShift (ARO) によるシステムアーキテクチャ構築の実践
 
PostgreSQLアーキテクチャ入門
PostgreSQLアーキテクチャ入門PostgreSQLアーキテクチャ入門
PostgreSQLアーキテクチャ入門
 
3分でわかるAzureでのService Principal
3分でわかるAzureでのService Principal3分でわかるAzureでのService Principal
3分でわかるAzureでのService Principal
 
データ分析を支える技術 DWH再入門
データ分析を支える技術 DWH再入門データ分析を支える技術 DWH再入門
データ分析を支える技術 DWH再入門
 
Data Factoryの勘所・大事なところ
Data Factoryの勘所・大事なところData Factoryの勘所・大事なところ
Data Factoryの勘所・大事なところ
 
Data Factory V2 新機能徹底活用入門
Data Factory V2 新機能徹底活用入門Data Factory V2 新機能徹底活用入門
Data Factory V2 新機能徹底活用入門
 
初めてのデータ分析基盤構築をまかされた、その時何を考えておくと良いのか
初めてのデータ分析基盤構築をまかされた、その時何を考えておくと良いのか初めてのデータ分析基盤構築をまかされた、その時何を考えておくと良いのか
初めてのデータ分析基盤構築をまかされた、その時何を考えておくと良いのか
 
え!?データがオンプレにあるけどPower BI で BI したいの?
え!?データがオンプレにあるけどPower BI で BI したいの?え!?データがオンプレにあるけどPower BI で BI したいの?
え!?データがオンプレにあるけどPower BI で BI したいの?
 
15分でお届けする Elastic Stack on Azure 設計・構築ノウハウ
15分でお届けする Elastic Stack on Azure 設計・構築ノウハウ15分でお届けする Elastic Stack on Azure 設計・構築ノウハウ
15分でお届けする Elastic Stack on Azure 設計・構築ノウハウ
 
クラウドDWHにおける観点とAzure Synapse Analyticsの対応
クラウドDWHにおける観点とAzure Synapse Analyticsの対応クラウドDWHにおける観点とAzure Synapse Analyticsの対応
クラウドDWHにおける観点とAzure Synapse Analyticsの対応
 
今こそ知りたい!Microsoft Azureの基礎
今こそ知りたい!Microsoft Azureの基礎今こそ知りたい!Microsoft Azureの基礎
今こそ知りたい!Microsoft Azureの基礎
 
VPC Reachability Analyzer 使って人生が変わった話
VPC Reachability Analyzer 使って人生が変わった話VPC Reachability Analyzer 使って人生が変わった話
VPC Reachability Analyzer 使って人生が変わった話
 
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design PatternAWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
 
Presto ベースのマネージドサービス Amazon Athena
Presto ベースのマネージドサービス Amazon AthenaPresto ベースのマネージドサービス Amazon Athena
Presto ベースのマネージドサービス Amazon Athena
 
Demystifying Identities for Azure Kubernetes Service
Demystifying Identities for Azure Kubernetes ServiceDemystifying Identities for Azure Kubernetes Service
Demystifying Identities for Azure Kubernetes Service
 
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそうPython 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそう
 

Destaque

今から始めるDocument db
今から始めるDocument db今から始めるDocument db
今から始めるDocument dbKazunori Hamamoto
 
Cisco の Azure Stack を15分でまるっとご紹介
Cisco の Azure Stack を15分でまるっとご紹介Cisco の Azure Stack を15分でまるっとご紹介
Cisco の Azure Stack を15分でまるっとご紹介Takao Setaka
 
[Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Servic...
[Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Servic...[Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Servic...
[Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Servic...Naoki (Neo) SATO
 
Visual Studio Team Services を使った Serverless のための継続的デリバリ
Visual Studio Team Services を使った Serverless のための継続的デリバリVisual Studio Team Services を使った Serverless のための継続的デリバリ
Visual Studio Team Services を使った Serverless のための継続的デリバリTsuyoshi Ushio
 
Azure Functions と Serverless - 概要と企業向け Tips
Azure Functions と Serverless - 概要と企業向け TipsAzure Functions と Serverless - 概要と企業向け Tips
Azure Functions と Serverless - 概要と企業向け TipsKeiji Kamebuchi
 
20171109_Mobile Center を使ったモバイルアプリ開発ライフサイクル自動化【Mobile DevOps】
20171109_Mobile Center を使ったモバイルアプリ開発ライフサイクル自動化【Mobile DevOps】20171109_Mobile Center を使ったモバイルアプリ開発ライフサイクル自動化【Mobile DevOps】
20171109_Mobile Center を使ったモバイルアプリ開発ライフサイクル自動化【Mobile DevOps】Madoka Chiyoda
 
Azure Virtual Machines設計の勘所 | Microsoft Tech Summit 2017
Azure Virtual Machines設計の勘所 | Microsoft Tech Summit 2017Azure Virtual Machines設計の勘所 | Microsoft Tech Summit 2017
Azure Virtual Machines設計の勘所 | Microsoft Tech Summit 2017Kuniteru Asami
 
はじめてのコンテナーDocker & Windows & Linux
はじめてのコンテナーDocker & Windows & LinuxはじめてのコンテナーDocker & Windows & Linux
はじめてのコンテナーDocker & Windows & LinuxKazushi Kamegawa
 
JEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_ccc
JEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_cccJEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_ccc
JEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_cccYujiSoftware
 

Destaque (10)

今から始めるDocument db
今から始めるDocument db今から始めるDocument db
今から始めるDocument db
 
Cisco の Azure Stack を15分でまるっとご紹介
Cisco の Azure Stack を15分でまるっとご紹介Cisco の Azure Stack を15分でまるっとご紹介
Cisco の Azure Stack を15分でまるっとご紹介
 
[Japan Tech summit 2017] DAL 007
[Japan Tech summit 2017]  DAL 007[Japan Tech summit 2017]  DAL 007
[Japan Tech summit 2017] DAL 007
 
[Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Servic...
[Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Servic...[Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Servic...
[Microsoft Tech Summit 2017] マイクロサービスだけじゃない! コンテナー オーケストレーターとしての「Azure Servic...
 
Visual Studio Team Services を使った Serverless のための継続的デリバリ
Visual Studio Team Services を使った Serverless のための継続的デリバリVisual Studio Team Services を使った Serverless のための継続的デリバリ
Visual Studio Team Services を使った Serverless のための継続的デリバリ
 
Azure Functions と Serverless - 概要と企業向け Tips
Azure Functions と Serverless - 概要と企業向け TipsAzure Functions と Serverless - 概要と企業向け Tips
Azure Functions と Serverless - 概要と企業向け Tips
 
20171109_Mobile Center を使ったモバイルアプリ開発ライフサイクル自動化【Mobile DevOps】
20171109_Mobile Center を使ったモバイルアプリ開発ライフサイクル自動化【Mobile DevOps】20171109_Mobile Center を使ったモバイルアプリ開発ライフサイクル自動化【Mobile DevOps】
20171109_Mobile Center を使ったモバイルアプリ開発ライフサイクル自動化【Mobile DevOps】
 
Azure Virtual Machines設計の勘所 | Microsoft Tech Summit 2017
Azure Virtual Machines設計の勘所 | Microsoft Tech Summit 2017Azure Virtual Machines設計の勘所 | Microsoft Tech Summit 2017
Azure Virtual Machines設計の勘所 | Microsoft Tech Summit 2017
 
はじめてのコンテナーDocker & Windows & Linux
はじめてのコンテナーDocker & Windows & LinuxはじめてのコンテナーDocker & Windows & Linux
はじめてのコンテナーDocker & Windows & Linux
 
JEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_ccc
JEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_cccJEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_ccc
JEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_ccc
 

Semelhante a Azure Cosmos DB を使った高速分散アプリケーションの設計パターン

Azure Cosmos DB を使った クラウドネイティブアプリケーションの 設計パターン
Azure Cosmos DB を使った クラウドネイティブアプリケーションの 設計パターンAzure Cosmos DB を使った クラウドネイティブアプリケーションの 設計パターン
Azure Cosmos DB を使った クラウドネイティブアプリケーションの 設計パターンKazuyuki Miyake
 
OSS on Azure で構築するウェブアプリケーション
OSS on Azure で構築するウェブアプリケーションOSS on Azure で構築するウェブアプリケーション
OSS on Azure で構築するウェブアプリケーションDaisuke Masubuchi
 
Cosmos DB 入門 multi model multi API編
Cosmos DB 入門 multi model multi API編Cosmos DB 入門 multi model multi API編
Cosmos DB 入門 multi model multi API編Takekazu Omi
 
Microsoft Azure build & ignight update summary
Microsoft Azure build & ignight update summary Microsoft Azure build & ignight update summary
Microsoft Azure build & ignight update summary Hirano Kazunori
 
20181120 HowtoFlow
20181120 HowtoFlow20181120 HowtoFlow
20181120 HowtoFlowTomoyuki Obi
 
[ウェビナー] Build 2018 アップデート ~ データ プラットフォーム/IoT編 ~
[ウェビナー] Build 2018 アップデート ~ データ プラットフォーム/IoT編 ~[ウェビナー] Build 2018 アップデート ~ データ プラットフォーム/IoT編 ~
[ウェビナー] Build 2018 アップデート ~ データ プラットフォーム/IoT編 ~Naoki (Neo) SATO
 
ゲームインフラと解析基盤 そのものの考え方を変えるAWS
ゲームインフラと解析基盤 そのものの考え方を変えるAWSゲームインフラと解析基盤 そのものの考え方を変えるAWS
ゲームインフラと解析基盤 そのものの考え方を変えるAWSYasuhiro Horiuchi
 
エンジニアのための Azure 基礎知識
エンジニアのための Azure 基礎知識エンジニアのための Azure 基礎知識
エンジニアのための Azure 基礎知識Daiyu Hatakeyama
 
AWSクラウドデザインパターン - JEITA講演 -
AWSクラウドデザインパターン - JEITA講演 - AWSクラウドデザインパターン - JEITA講演 -
AWSクラウドデザインパターン - JEITA講演 - SORACOM, INC
 
Spark Analytics - スケーラブルな分散処理
Spark Analytics - スケーラブルな分散処理Spark Analytics - スケーラブルな分散処理
Spark Analytics - スケーラブルな分散処理Tusyoshi Matsuzaki
 
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践真吾 吉田
 
Running Java Apps with Amazon EC2, AWS Elastic Beanstalk or Serverless
Running Java Apps with Amazon EC2, AWS Elastic Beanstalk or ServerlessRunning Java Apps with Amazon EC2, AWS Elastic Beanstalk or Serverless
Running Java Apps with Amazon EC2, AWS Elastic Beanstalk or ServerlessKeisuke Nishitani
 
やりたいことから考えるMicrosoft Azure 上の データストアの選び方とデータサイエンティスト向け活用法。KVSからDWHまで
やりたいことから考えるMicrosoft Azure 上の データストアの選び方とデータサイエンティスト向け活用法。KVSからDWHまでやりたいことから考えるMicrosoft Azure 上の データストアの選び方とデータサイエンティスト向け活用法。KVSからDWHまで
やりたいことから考えるMicrosoft Azure 上の データストアの選び方とデータサイエンティスト向け活用法。KVSからDWHまでDaisuke Masubuchi
 
Azure上の データベース 機能の選び方。KVSからDWHまで
Azure上の データベース 機能の選び方。KVSからDWHまでAzure上の データベース 機能の選び方。KVSからDWHまで
Azure上の データベース 機能の選び方。KVSからDWHまでDaisuke Masubuchi
 
2014年12月04日 ヒーロー島 Azureスペシャル
2014年12月04日 ヒーロー島 Azureスペシャル2014年12月04日 ヒーロー島 Azureスペシャル
2014年12月04日 ヒーロー島 AzureスペシャルDaiyu Hatakeyama
 
[AC11] サーバー管理よ、サヨウナラ。サーバーレスアーキテクチャの意義と実践
[AC11] サーバー管理よ、サヨウナラ。サーバーレスアーキテクチャの意義と実践[AC11] サーバー管理よ、サヨウナラ。サーバーレスアーキテクチャの意義と実践
[AC11] サーバー管理よ、サヨウナラ。サーバーレスアーキテクチャの意義と実践de:code 2017
 

Semelhante a Azure Cosmos DB を使った高速分散アプリケーションの設計パターン (20)

Azure Cosmos DB を使った クラウドネイティブアプリケーションの 設計パターン
Azure Cosmos DB を使った クラウドネイティブアプリケーションの 設計パターンAzure Cosmos DB を使った クラウドネイティブアプリケーションの 設計パターン
Azure Cosmos DB を使った クラウドネイティブアプリケーションの 設計パターン
 
[Japan Tech summit 2017] DAL 005
[Japan Tech summit 2017] DAL 005[Japan Tech summit 2017] DAL 005
[Japan Tech summit 2017] DAL 005
 
OSS on Azure で構築するウェブアプリケーション
OSS on Azure で構築するウェブアプリケーションOSS on Azure で構築するウェブアプリケーション
OSS on Azure で構築するウェブアプリケーション
 
Cosmos DB 入門 multi model multi API編
Cosmos DB 入門 multi model multi API編Cosmos DB 入門 multi model multi API編
Cosmos DB 入門 multi model multi API編
 
BPStudy20121221
BPStudy20121221BPStudy20121221
BPStudy20121221
 
Microsoft Azure build & ignight update summary
Microsoft Azure build & ignight update summary Microsoft Azure build & ignight update summary
Microsoft Azure build & ignight update summary
 
20181120 HowtoFlow
20181120 HowtoFlow20181120 HowtoFlow
20181120 HowtoFlow
 
DLLAB Ignite Update Data Platform
DLLAB  Ignite Update Data PlatformDLLAB  Ignite Update Data Platform
DLLAB Ignite Update Data Platform
 
PHP on Cloud
PHP on CloudPHP on Cloud
PHP on Cloud
 
[ウェビナー] Build 2018 アップデート ~ データ プラットフォーム/IoT編 ~
[ウェビナー] Build 2018 アップデート ~ データ プラットフォーム/IoT編 ~[ウェビナー] Build 2018 アップデート ~ データ プラットフォーム/IoT編 ~
[ウェビナー] Build 2018 アップデート ~ データ プラットフォーム/IoT編 ~
 
ゲームインフラと解析基盤 そのものの考え方を変えるAWS
ゲームインフラと解析基盤 そのものの考え方を変えるAWSゲームインフラと解析基盤 そのものの考え方を変えるAWS
ゲームインフラと解析基盤 そのものの考え方を変えるAWS
 
エンジニアのための Azure 基礎知識
エンジニアのための Azure 基礎知識エンジニアのための Azure 基礎知識
エンジニアのための Azure 基礎知識
 
AWSクラウドデザインパターン - JEITA講演 -
AWSクラウドデザインパターン - JEITA講演 - AWSクラウドデザインパターン - JEITA講演 -
AWSクラウドデザインパターン - JEITA講演 -
 
Spark Analytics - スケーラブルな分散処理
Spark Analytics - スケーラブルな分散処理Spark Analytics - スケーラブルな分散処理
Spark Analytics - スケーラブルな分散処理
 
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
サーバー管理よ、サヨウナラ。サーバーレス アーキテクチャの意義と実践
 
Running Java Apps with Amazon EC2, AWS Elastic Beanstalk or Serverless
Running Java Apps with Amazon EC2, AWS Elastic Beanstalk or ServerlessRunning Java Apps with Amazon EC2, AWS Elastic Beanstalk or Serverless
Running Java Apps with Amazon EC2, AWS Elastic Beanstalk or Serverless
 
やりたいことから考えるMicrosoft Azure 上の データストアの選び方とデータサイエンティスト向け活用法。KVSからDWHまで
やりたいことから考えるMicrosoft Azure 上の データストアの選び方とデータサイエンティスト向け活用法。KVSからDWHまでやりたいことから考えるMicrosoft Azure 上の データストアの選び方とデータサイエンティスト向け活用法。KVSからDWHまで
やりたいことから考えるMicrosoft Azure 上の データストアの選び方とデータサイエンティスト向け活用法。KVSからDWHまで
 
Azure上の データベース 機能の選び方。KVSからDWHまで
Azure上の データベース 機能の選び方。KVSからDWHまでAzure上の データベース 機能の選び方。KVSからDWHまで
Azure上の データベース 機能の選び方。KVSからDWHまで
 
2014年12月04日 ヒーロー島 Azureスペシャル
2014年12月04日 ヒーロー島 Azureスペシャル2014年12月04日 ヒーロー島 Azureスペシャル
2014年12月04日 ヒーロー島 Azureスペシャル
 
[AC11] サーバー管理よ、サヨウナラ。サーバーレスアーキテクチャの意義と実践
[AC11] サーバー管理よ、サヨウナラ。サーバーレスアーキテクチャの意義と実践[AC11] サーバー管理よ、サヨウナラ。サーバーレスアーキテクチャの意義と実践
[AC11] サーバー管理よ、サヨウナラ。サーバーレスアーキテクチャの意義と実践
 

Mais de Kazuyuki Miyake

Azure Search クックブック
Azure Search クックブックAzure Search クックブック
Azure Search クックブックKazuyuki Miyake
 
Azure Cosmos DB + App Serviceの良い関係
Azure Cosmos DB + App Serviceの良い関係Azure Cosmos DB + App Serviceの良い関係
Azure Cosmos DB + App Serviceの良い関係Kazuyuki Miyake
 
XamarinでAzure AD認証 (リフレッシュトークン対応)
XamarinでAzure AD認証 (リフレッシュトークン対応)XamarinでAzure AD認証 (リフレッシュトークン対応)
XamarinでAzure AD認証 (リフレッシュトークン対応)Kazuyuki Miyake
 
Xamarin + Azure Mobile Appsの現実
Xamarin + Azure Mobile Appsの現実Xamarin + Azure Mobile Appsの現実
Xamarin + Azure Mobile Appsの現実Kazuyuki Miyake
 
DocumentDBクイックスタート(開発現場編)
DocumentDBクイックスタート(開発現場編)DocumentDBクイックスタート(開発現場編)
DocumentDBクイックスタート(開発現場編)Kazuyuki Miyake
 
本番運用で使うVisual Studio
本番運用で使うVisual Studio本番運用で使うVisual Studio
本番運用で使うVisual StudioKazuyuki Miyake
 
現実的な「WordPress on Azure App Service」 クイックスタート
現実的な「WordPress on Azure App Service」 クイックスタート現実的な「WordPress on Azure App Service」 クイックスタート
現実的な「WordPress on Azure App Service」 クイックスタートKazuyuki Miyake
 
Face APIで開発する時に使っている7つの道具
Face APIで開発する時に使っている7つの道具Face APIで開発する時に使っている7つの道具
Face APIで開発する時に使っている7つの道具Kazuyuki Miyake
 
要求管理を確実に行うための知識と方法
要求管理を確実に行うための知識と方法要求管理を確実に行うための知識と方法
要求管理を確実に行うための知識と方法Kazuyuki Miyake
 

Mais de Kazuyuki Miyake (10)

Azure Search クックブック
Azure Search クックブックAzure Search クックブック
Azure Search クックブック
 
Azure Cosmos DB + App Serviceの良い関係
Azure Cosmos DB + App Serviceの良い関係Azure Cosmos DB + App Serviceの良い関係
Azure Cosmos DB + App Serviceの良い関係
 
XamarinでAzure AD認証 (リフレッシュトークン対応)
XamarinでAzure AD認証 (リフレッシュトークン対応)XamarinでAzure AD認証 (リフレッシュトークン対応)
XamarinでAzure AD認証 (リフレッシュトークン対応)
 
Xamarin + Azure Mobile Appsの現実
Xamarin + Azure Mobile Appsの現実Xamarin + Azure Mobile Appsの現実
Xamarin + Azure Mobile Appsの現実
 
DocumentDBクイックスタート(開発現場編)
DocumentDBクイックスタート(開発現場編)DocumentDBクイックスタート(開発現場編)
DocumentDBクイックスタート(開発現場編)
 
本番運用で使うVisual Studio
本番運用で使うVisual Studio本番運用で使うVisual Studio
本番運用で使うVisual Studio
 
現実的な「WordPress on Azure App Service」 クイックスタート
現実的な「WordPress on Azure App Service」 クイックスタート現実的な「WordPress on Azure App Service」 クイックスタート
現実的な「WordPress on Azure App Service」 クイックスタート
 
Face APIで開発する時に使っている7つの道具
Face APIで開発する時に使っている7つの道具Face APIで開発する時に使っている7つの道具
Face APIで開発する時に使っている7つの道具
 
Agile meets BABOK
Agile meets BABOKAgile meets BABOK
Agile meets BABOK
 
要求管理を確実に行うための知識と方法
要求管理を確実に行うための知識と方法要求管理を確実に行うための知識と方法
要求管理を確実に行うための知識と方法
 

Azure Cosmos DB を使った高速分散アプリケーションの設計パターン

Notas do Editor

  1. 4
  2. 5
  3. サーバレスデータベース サーバレスアーキテクチャを支えるデータストア もはやいわゆるNoSQLデータストアではない
  4. DocumentDB API データはJSON形式 SQLが利用可能 MongoDB API 既存のMongoDBツールチェーンとスキルを活用できる ワイヤプロトコル Table Storage API KVS Azure Storage Tableのプレミアム版という位置付け Gremlin API グラフDB グラフトラバーサル言語のGremlinをサポート
  5. idを含めなければ自動で生成される(手動採番もOK) 大量データなら「インポートツール」も利用可能
  6. Webアプリ + DBのシステム全体が東西DR構成となる Traffic Managerとの組み合わせ SQL DBも併用可能
  7. Webアプリ + DBのシステム全体が東西DR構成となる Traffic Managerとの組み合わせ SQL DBも併用可能
  8. IoTからのセンサーデータや操作ログなどの分析 リアルタイムに分析ができるデータストア 複数ドキュメントを返すクエリはRUの消化が大きくなる
  9. Functions Cosmos DBトリガーでほぼリアルタイムの検索インデックスを作成 Azure Function Cosmos DBトリガー
  10. Cosmos DBのSQLでは検索に限界がある SELECT * FROM c WHERE CONTAINS(c.note, '本田技研') 表記揺れ、ゆらぎなどへの対応ができない 検索結果のスコアリングができない ページングの実装がシンプルになる
  11. Get insights into your Azure #CosmosDB: partition heatmaps, OMS, and more - https://azure.microsoft.com/en-us/blog/get-new-insights-into-your-azure-cosmos-db-partition-heatmaps-azure-monitor-oms-and-audit-log/