第36回 PaaS勉強会
Microsoft アカウント
Microsoft Azure 無料サブスクリプション
Visual Studio 無料サブスクリプション
Python SDK Windows版 のインストール
Python SDK Mac のインストール
Microsoft Developer Network
Azure コマンドラインインタフェース のインストール
AzCopy コマンドライン ツール (Azure Storage 用)
ストレージエクスプローラー・Windows版 のインストール
ストレージエクスプローラー・Mac版 のインストール
Platform Services
Infrastructure Services
Web Apps
Mobile
Apps
API
Management
API Apps
Logic Apps
Notification
Hubs
Content
Delivery
Network (CDN)
Media
Services
BizTalk
Services
Hybrid
Connections
Service Bus
Storage
Queues
Hybrid
Operations
Backup
StorSimple
Azure Site
Recovery
Import/Export
SQL
Database
DocumentDB
Redis
Cache
Azure
Search
Storage
Tables
Data
Warehouse Azure AD
Health Monitoring
AD Privileged
Identity
Management
Operational
Analytics
Cloud
Services
Batch
RemoteApp
Service
Fabric
Visual Studio
App
Insights
Azure
SDK
VS Online
Domain Services
HDInsight Machine
Learning
Stream
Analytics
Data
Factory
Event
Hubs
Mobile
Engagement
Data
Lake
IoT Hub
Data
Catalog
Security &
Management
Azure Active
Directory
Multi-Factor
Authentication
Automation
Portal
Key Vault
Store/
Marketplace
VM Image Gallery
& VM Depot
Azure AD
B2C
Scheduler
The Azure Platform
様々なアプリ開発が行われています
Web & mobile Business apps Microservice apps
Development & test Big data & analytics Internet of Things
Backup, recovery
& archive
High Performance
Computing
Digital media
Identity
& security
Media
& CDN
Integration Developer
services
Data
Analytics
& IoT
MY APP
と、マイクロソフトさんはいうけれど・・・
デバイス
Machine
Learning
Stream
Analytics
SQL
Database
Azure
Storage
HDInsight
(Hadoop)
Event Hubs
BIツール
(Power BI など)
機器
制御装置
Stream Analytics
Data Factory
Data Lake
Store
SQL
Data
Warehouse
業務システム
Machine Learning
API
IoT Hub
Document
DB
Data Lake
Analytics service
Revolution R
Enterprise
Recommendations,
customer churn,
forecasting, etc.
Face, vision Speech, text
Cognitive
Services
デバイス
Machine
Learning
Stream
Analytics
SQL
Database
Azure
Storage
HDInsight
(Hadoop)
Event Hubs
BIツール
(Power BI など)
機器
制御装置
Stream Analytics
Data Factory
Data Lake
Store
SQL
Data
Warehouse
業務システム
Machine Learning
API
IoT Hub
Document
DB
Data Lake
Analytics service
Revolution R
Enterprise
Recommendations,
customer churn,
forecasting, etc.
Face, vision Speech, text
Cognitive
Services
①大量データの
受け入れ
②リアルタイム処理
データの集約
③データの蓄積
・構造化
・非構造化
・文書
など様々な形式
での保存
④データの加
工・移行
⑥機械学習
⑦Hadoop解析
⑧マイクロソフト技
術を用いた分散
解析
⑨・通常のR
・MSが機能を
追加した企業
向けR
を使用した解析
⑪クラウドベースの Self-
Service BI 機能
⑫機械学習の予測
モデルを業務システ
ムなどから呼び出し
可能にするサービス
外部クラウドなど
からのデータ取り
込み
②リアルタイム処理
データの加工
⑤ディープラーニング
⑩Excelを用いた可視化
✓ Azure Storage
様々な文書、Blobデータ、テーブル形式のデータが保存可能なストレージ
✓ SQL Database
SQL Server 2016 と同等の機能を提供する PaaS 型データベース サービス
✓ Azure Database for MySQL/PostgreSQL
PaaS 型データベース サービス のMySQL/PostgreSQL版
✓ Azure SQL Data Warehouse
ペタバイト単位のストレージを有した PaaS 型データ ウェアハウス サービス
✓ Cosmos DB
マルチデータモデルのグローバル分散DB
✓ Azure Data Lake Store
ビッグ データの分析ワークロードに対応する大規模データ格納エリア
✓ 補足資料: 各種データストアの選び方(英語)
本日のご紹介内容
IoT Hub
Event Hubs
Data Warehouse
Data Factory
App Insights Log Analytics
Monitor
CDN
Search Power BI
Blob Storage Pillars
Open &
Interoperable
Manageable &
Cost Efficient
Scalable &
Performant
Secure &
Compliant
Durable &
Available
Machine
Learning
Stream
Analytics
Batch
Functions
Data Lake
Analytics
Azure HDInsight
Big Data Use Cases
Ingest & ETL Streaming Analytics & Machine Learning Data Aggregation Presentation
Queues
Reliable queues at
scale for cloud
services
ファイルを保存する際には
この3つの選択肢があります
https://docs.microsoft.com/ja-jp/azure/storage/storage-decide-blobs-files-disks
URL 記述 http://<storage
account>.table.core.windows.net/<table>
フルマネージドの RDBMS
データベース
RDBMS
OS
Azure が管理
利用者が管理
VM上の RDBMS
ホスト OS
仮想化
フルコントロール
データベース
RDBMS
OS
仮想化
ホスト OS
容易な管理
Azure Database
SQL Server
物理マシン/仮想マシン
SQL Server on Azure VM
仮想マシン
SQL Database, Data Warehouse
PaaS
物理マシン/仮想マシン
VM Template /Market place
仮想マシン
Azure Database for
MySQL / PostgreSQL
Azure Database for
MySQL/PostgreSQL 登場
• High Availability
• 使用したリソースに応じた課金(Pay-as-you-go)
• 無停止でのスケール変更
• セキュリティ
• 自動バックアップ + Point-In-Time-Restore (最大35日)
• Azure Web Apps との統合
*パブリックプレビュー開始
論理データベース
Write
Write Ack
Ack
Read
value write
Ack
特徴
無停止フェールオーバー
無停止スケールアップ(プラン変更)
自動パフォーマンスチューニング
スループット指定によるプロビジョニング
データベース トランザクション ユニット (DTU) とエラスティック データベース トランザクション ユニット (eDTU) の説明
https://docs.microsoft.com/ja-jp/azure/sql-database/sql-database-what-is-a-dtu
Azure SQL Database Query Performance Insight
https://docs.microsoft.com/ja-jp/azure/sql-database/sql-database-query-performance
Query Store is turned on by default for Azure SQL Database
https://azure.microsoft.com/ja-jp/updates/query-store-on-is-the-new-default-for-azure-sql-database/
Queries
?
SQL Database
Deeper Insight
Query
Store
SQL Database Advisor
https://docs.microsoft.com/ja-jp/azure/sql-database/sql-database-advisor
Azure Portal を使用した SQL Database Advisor
https://docs.microsoft.com/ja-jp/azure/sql-database/sql-database-advisor-portal
領域 改善後
新しいインデックス提案が作成されるまで 18時間以内
T-SQL文が実行されるまでのタイムラグ 即時(数分以内)
「悪い」チューニング内容に対しての検知時間 1時間以内
次のインデックス提案が行われるまでの待ち時
間
即時(数分以内)
導入までの総時間 1日以内
SQL Database の脅威の検出
https://docs.microsoft.com/ja-jp/azure/sql-database/sql-database-threat-detection
// // Flexible
PostgreSQL PREVIEWMySQL PREVIEWPowerBI,AppServices,DataFactory,Analytics,ML,
Cognitive,Bot…
Global Azure with 38 Regions
Azure Compute
SQL Data
Warehouse
Azure Storage
SQL Database
Flexible: On-demand scaling, Resource governance
Trusted: HA/DR, Backup/Restore, Security, Audit, Isolation
Intelligent: Advisors, Tuning, Monitoring
Azure Database
Services Platform
コントロール
ノード
SQL
DB
Azure Blob Storage(WASB)
100 DWU < > 2000 DWUコントロールノード
ユーザーからの接続
コンピュートとストレージの調整
コンピュート
ノード
コンピュート
ノード
コンピュート
ノード
コンピュート
ノード
SQL
DB
SQL
DB
SQL
DB
SQL
DB
Azure Blob Storage(WASB)
コントロール
ノード
SQL
DB
コントロールノード
D51
D52
D53
D60
…
D41
D42
D43
D50
…
コンピュート
ノード
D31
D32
D33
D40
…
D21
D22
D23
D30
…
D11
D12
D13
D20
…
D1
D2
D3
D10
…
SQL
DB
Azure Blob Storage(WASB)
コントロール
ノード
SQL
DB
コントロールノード
コンピュート
ノード
D51
D52
D53
D60
…
コンピュート
ノード
D41
D42
D43
D50
…
コンピュート
ノード
D31
D32
D33
D40
…
コンピュート
ノード
D21
D22
D23
D30
…
コンピュート
ノード
D11
D12
D13
D20
…コンピュート
ノード
D1
D2
D3
D10
…
SQL
DB
SQL
DB
SQL
DB
SQL
DB
SQL
DB
SQL
DB
Azure Cosmos DBMicrosoft のグローバル分散データベース サービス
•
•
•
•
•
ターン キー方式の
グローバル分散
ストレージとスループット
水平スケール アウトし
あらゆるニーズに対応
数百万トラン
ザクション/秒
PB 級のデータ
数百トラン
ザクション/秒
GB 級のデータ
Cosmos
DB
9 PM PST
少ない
スループット
多くの
スループット
多くの
スループット
少ない
スループット
11 PM PST11 PM PST
Read < 2 ms
Writes < 6 ms
Read < 10 ms
Writes < 15 ms
99%50%
キー/バリュー
ドキュメント
グラフ
SQL (DocumentDB)
MongoDB
Azure Table Storage
Gremlin グラフ
Cosmos DB はマルチモデル型データベース
従来の
MySQL
PostgreSQL
(LAMP)
ドキュメント指向DB 型
(MongoDB互換)
グラフ型
(Gremlin互換)
SQL
ドキュメント指向DB 型
Column Family(Document DB)
キーバリューストア
(Azure Table)
Azure Storage:
Standard Table API
01
Strong
Bounded
Staleness
Session
Consistent
Prefix
Eventual
アプリ
パフォーマンス
高可用性
Navigating CAP theorem
Consistent data worldwide
Strong Bounded-stateless Session Consistent prefix Eventual
45
データ無制限のストレージ と 分析プラットフォーム
 無制限のストレージ(エクサバイト超)
 ネイティブ HDFS に基づく実装
 HDInsight, Hortonworks, Cloudera との統合
 全ての HDFS 準拠プロジェクトとの親和性
(Spark, Storm, Flume, Sqoop, Kafka, R, etc.)
Azure Data Lake Store
- Hadoop Distributed File System (HDFS) For The Cloud
 構造化データと非構造化データに対するデータ処理
 宣言型の SQL 文 とカスタムコード (UDF, UDT, UDO, … )
 ローカルとリモートに対するクエリ
 バッチ型、インタラクティブ型、ストリーミング型(in the future)
Azure Data Lake Analytics
- New Query Language : U-SQL
ETL パイプライン
スキーマの定義
Relational
LOB
Applications
Schema-on-Write
直ちに必要でないデータは、全て捨てられるか、アーカイブされている
無限に保存 分析 結果の参照
あらゆるデータ
ソースからの
データ収集
Schema-on-Read
全データ取込
要件にかかわらず
全データ格納
そのままのフォーマットで
スキーマ定義なし
分析実行
Hadoopのような
分析エンジンの利用
インタラクティブクエリ
バッチ型クエリ
機械学習
データウェアハウス
リアルタイム分析
リレーショ
ナル
デバイス
観察/仮説
集まったデータから仮説を
たてる
49
 無制限のサイズ
 ギガバイトからペタバイトのサイズの単一ファイル
 巨大なスループットを必要とする大規模な分析システムを実現
 あらゆるスループットに自動最適化
 ペタバイト超のデータの並列コンピューティング
 同一リージョン内に3つのコピーを自動的に作成
 インストールやチューニングは不要
 数分で稼働開始
 必要に応じてどのようなサイズにもスケールアウト可能
データウェアハウスデータレイクストア
非構造Rawデータ
(ログ、文書、バイナリ)
Tier 1
Machine
Learning
Data Lake
Analytics HDInsight
目的に合わせた
データウェハウス分析処理
(売上分析、経営分析)
データウェハウスに
格納しきれなかった
過去データ、関連データ
を連結して分析
ハードウェアの性能限界
によって行えなかった
処理量の分析を実現
※ディスク/コンピューティング
非構造データの
分析処理
(画像、音声、映像など)
広範囲のデータを利用した
機械学習、統計解析処理
などによる高度分析
SQL Data
Warehouse
Data Lake
Analytics HDInsight
Data Lake
Analytics
構造化データ
半構造データ
分析用に加工(csv等)
Tier 2
アーカイブデータ
Tier 2, DWHのアーカイブ
Tier 3
Analytics
Storage
HDInsight
(“managed clusters”)
Azure Data Lake Analytics
Azure Data Lake Store
Azure Data Lake
LOB Applications
SocialDevices
Clickstream
Sensors
Video
Web
Relational
HDInsight
Data Lake Analytics
Machine Learning
Spark
R
Azure Data Lake Store
Azure Data Lake Store
Azure Storage Blob
外部表Azure SQL
Data Warehouse
HDInsight
開発者は OSS に馴染んでいる:
Java, Eclipse, Hive, etc.
マネージド Hadoop クラスタにおいて、
カスタマイズ・管理が可能で、フレキ
シビリティがある
Azure Data Lake Analytics
C#, SQL & PowerShell のスキル・
経験を活かせる
利便性、効率性、自動スケール、
ジョブ実行の仕組みが提供される
(New)
(New)
一般的なパターン
処理読み込み 保存
INSERT
OUTPUT
OUTPUT
SELECT…
FROM…
WHERE…
+
Python、R
EXTRACT
EXTRACT
SELECT
SELECT
Azure
Data
Lake
Azure
Data
Lake
Azure
SQL
DB
Azure
Storage
Blobs
Azure
Storage
Blobs
RowSet RowSet
Cognitive
Services
REFERENCE ASSEMBLY WebLogExtASM;
@rs =
EXTRACT
UserID string,
Start DateTime,
End DateTime,
Region string,
SitesVisited string,
PagesVisited string
FROM “/Logs/WebLogRecords.txt”
USING WebLogExtractor ();
@result = SELECT UserID,
(End.Subtract(Start)).TotalSeconds AS Duration
FROM @rs ORDER BY Duration DESC FETCH 10;
OUTPUT @result TO “/Logs/Results/top10.tsv"
USING Outputter.Tsv();
• 型定義は C# の型定義と同じ
• データをファイルから抽出・読み込み
するときに、スキーマが必要
Data Lake Store 内 のファイル
独自形式を解析するカスタム関数
C# の関数
行セット:
(中間テーブルの概念
に近い)
TSV形式で書き込む関数
U-SQL ジョブのサブミット
Azure PortalやVisual StudioのAzure Data Lake ToolsからU-SQLジョブをサブミット可能
58
進捗
統計情報
従来型の処理・分析 Azure Data Lake を中心とした処理・分析
Business
apps
Custom
apps
Sensors
and devices
ADL Store
People
非構造化データも
含めてあらゆる
データを格納
Azure SQL
DW
Azure AD
Power BI
ADF
ADL
Analytics
• 処理・分析業務の大半はデータ準備作業が占める
• 処理・分析業務に手間・時間が必要
Business
apps
Custom
apps
Sensors
and devices
HDInsight
ユーザー管理、認証
データの連携
Power BI
File System
Database
Database
Hadoop
DWH
Data Mart
補足資料
各種データストアの選び方
(英語)
Microsoft data platform solutions
Product Category Description More Info
SQL Server 2016 RDBMS Earned top spot in Gartner’s Operational Database magic
quadrant. JSON support. Linux TBD
https://www.microsoft.com/en-us/server-
cloud/products/sql-server-2016/
SQL Database RDBMS/DBaaS Cloud-based service that is provisioned and scaled quickly.
Has built-in high availability and disaster recovery. JSON
support
https://azure.microsoft.com/en-
us/services/sql-database/
SQL Data Warehouse MPP RDBMS/DBaaS Cloud-based service that handles relational big data.
Provision and scale quickly. Can pause service to reduce cost
https://azure.microsoft.com/en-
us/services/sql-data-warehouse/
Analytics Platform System (APS) MPP RDBMS Big data analytics appliance for high performance and
seamless integration of all your data
https://www.microsoft.com/en-us/server-
cloud/products/analytics-platform-system/
Azure Data Lake Store Hadoop storage Removes the complexities of ingesting and storing all of your
data while making it faster to get up and running with batch,
streaming, and interactive analytics
https://azure.microsoft.com/en-
us/services/data-lake-store/
Azure Data Lake Analytics On-demand analytics job
service/Big Data-as-a-
service
Cloud-based service that dynamically provisions resources so
you can run queries on exabytes of data. Includes U-SQL, a
new big data query language
https://azure.microsoft.com/en-
us/services/data-lake-analytics/
HDInsight PaaS Hadoop
compute/Hadoop
clusters-as-a-service
A managed Apache Hadoop, Spark, R, HBase, Kafka, and
Storm cloud service made easy
https://azure.microsoft.com/en-
us/services/hdinsight/
DocumentDB PaaS NoSQL: Document
Store
Get your apps up and running in hours with a fully managed
NoSQL database service that indexes, stores, and queries
data using familiar SQL syntax
https://azure.microsoft.com/en-
us/services/documentdb/
Azure Table Storage PaaS NoSQL: Key-value
Store
Store large amount of semi-structured data in the cloud https://azure.microsoft.com/en-
us/services/storage/tables/
Microsoft Big Data Portfolio
SQL Server Stretch
Business intelligence
Machine learning analytics
Insights
Azure SQL Database
SQL Server 2016
SQL Server 2016 Fast Track
Azure SQL DW
ADLS & ADLA
DocumentDB
HDInsight
Hadoop
Analytics Platform System
Sequential Scale Out + AcrossScale Up
Key
Relational Non-relational
On-premisesCloud
Microsoft has solutions covering
and connecting all four
quadrants – that’s why SQL
Server is one of the most utilized
databases in the world
Azure
Data Lake Store
Azure
Blob Storage
Purpose Optimized for big data analytics General purpose bulk storage
Use Cases Batch, Interactive, Streaming App backend, backup data, media storage for
streaming
Units of Storage Accounts / Folders / Files Accounts / Containers / Blobs
Structure Hierarchical File System Flat namespace
WebHDFS Implements WebHDFS No (WASB)
Security AD SAS keys
Storage Auto Shared/Files chunked Manually manage expansion/Files intact
Service State Generally Available. PolyBase
just supported!
Generally Available
Billing Pay for data stored and for I/O Pay for data stored and for I/O
Region Availability Two US regions (Other regions coming soon) All Azure Regions
ADL Store vs Blob Store
https://docs.microsoft.com/en-us/azure/data-lake-store/data-lake-store-comparison-with-blob-storage
Want
Hadoop?
Need exact
same on-
prem
Need
interactive /
streaming?
Mandatory
No strong opinion
Azure Marketplace (IaaS)
• Need all workloads exactly like on-
premises
• Need 100% Hortonworks/Cloudera/MapR
Azure HDInsight
• Most Hadoop workloads
• Fully managed by Microsoft
• Sell HDI + ADLS
• Stickier to Microsoft than VMs
• Can do interactive (Spark) and streaming
(Storm/Spark)
Azure Data Lake Analytics
• Easiest experience for admin: no sense of
clusters, instant scale per job
• Easiest experience for developers: Visual
Studio/U-SQL (C#+SQL)
• Sell ADLA + ADLS
• Batch workloads only
Need everything exactly
like on-prem
Need core
projects Yes Batch is OK
Always present
ADLA if .NET or
Visual Studio Shop
If .NET or
VS shop?
Azure SQL DW HDInsight Hive HDInsight Spark Azure Data Lake SQL Server (IaaS)
Volume Petabytes Petabytes Petabytes Petabytes Terabytes
Security Encryption, TD,
Audit
ADLS / Apache
Ranger
ADLS AAD Security
Groups (data)
Encryption, TD
Audit
Languages T-SQL HiveQL SparkSQL, HiveQL,
Scala, Java, Python,
R
U-SQL T-SQL
Extensibility No Yes, .NET/SerDe Yes, Packages Yes, .NET Yes, .NET CLR
External File
Types
ORC, TXT,
Parquet, RCFile
ORC, CSV, Parquet
+ others
Parquet, JSON,
Hive + others
Many ORC, TXT, Parquet,
RCFile
Admin Low-Medium Medium-High Medium-High Low High
Cost Model DWU Nodes & VM Nodes & VM Units/Jobs VM
Schema
Definition
Schema on Write
/ Polybase
Schema on Read Schema on Read Schema on Read Schema on Write /
Polybase
Max DB Size 240TB Comp (5X
= 1PB)
Unlimited 64TB (64 1TB drives)
Big Data Solutions
Decision Tree
https://biz-excellence.com/2016/08/30/big-data-dt/
Machine Learning
Solutions
Decision Tree
https://biz-excellence.com/2016/09/13/machine-
learning-dt/
Azure上の データベース 機能の選び方。KVSからDWHまで

Azure上の データベース 機能の選び方。KVSからDWHまで