狠狠撸

狠狠撸Share a Scribd company logo
とうとうGAしたイチオシの最強最速データ分析基盤
Azure Data Explorer
をつかってゲームのBig Data 分析をしよう
増渕?輔
ゲームサーバー担当
テクニカルソリューションプロフェッショナル
Global Black Belt Asia
Microsoft
Azure Data Explorer (ADX)とは?
ビックデータ分析サービス。2019年にGA。
TB, PB級の?量のデータ検索を1秒、数秒以内で応答。
ストリーミングとバッチによるインジェクションに対応
リアルタイムな超?速分析を可能にします。
?産性
10 億件のレコードを 1 秒未満で照会できる
拡張性
性能が必要な時に、線形スケーリングが可能
?い作業効率
最新のクエリ?語?KQL、使いやすいシンタックス、
インテリセンス機能。
アノマリーディテクションや回帰などの豊富なライブラリが
あります
柔軟性
様々な、データの接続、様々なBI環境との連携
以前から社内で使われていた(何処かで聞いた話ですが)
2016 20182014
AI & ILDC C&E Incubation
Friends & Family Exposure
1st Big internal Clint
ScottGu Chooses Kusto
for C&E Delivering Across
Multiple MS Divisions
Fund By Brian H
POC With Azure SQL DB
Growing
Customers Base
Establishment
Telemetry Analytics Internal Analytics Data platform for
products
Analyticsfor3rdparty
Offerunifiedplatform
acrossOMS/AI
Interactive analytics
Big data platform
200customers
InitiatingWith1st
PartyValidation
DevelopingModernAnalytics
2015
IDEATION
& CONCEPT
VALIDATION SCALE PUBLIC REVIEW
Resource Commitment
GA
20192017
Foundation
Team & Initiate Coding Bing Inferences
MS Expansion Success
GA
SCALE
Ideation
マイクロソフト社内でなぜADXが必要とされてきたのか?
Cuts down time-to-
insight
fast-flowing data に対する
ほぼリアルタイムな分析
を可能にします
Enables data-driven
culture
Intuitive で簡単に使える
データ分析に最適化された
最新のクエリー言語KQL
Fully managed
インデックスの運用を機に
する必要がありません
インフラもオートスケール
可能です
Azure :日々大量に発生するログデータに対するデータ解析作業効率を上げる必要があった
Xbox :多くのデータサイエンティストは、SQLに代わる使いやすいクエリー言語を必要としていた
Office365 :ソフトからサービスに移行する顧客の不満を把握し、改善にフィードバックする必要があった
Defender :悪意のある攻撃者を見つけるため時系列データに対する機械学習分析の効率を上げる必要があった
Azure 顧客:Azure上のアプリやシステムログをポータル上で統合的にリアルタイムで可視化する必要があった
Azure Data Explorer が重要視している特徴
他のデータベースとの使い分け
ゲーム
サーバー
OLTP DB
(RDB/Doc)
Lightning Fast
& Complex
Analytics
Explorer
探査作業
ビックデータの時代に重要となる「探査作業」を行う
様々なクラウド?ミドルウェア?アプリのログを収集
タイトルサーバーの場所 Connectors/Plugins
Azure Service
サーバーSDK、API
Azure Explorer の仕組み
Data Lake
/ Blob
IoT
Ingested Data
Engine
Data
Management
Azure Data Explorer
Azure Storage
Blob/Data Lake Gent2
Event Hub
IoT Hub
Customer Data
Lake
Kafka Sync
Logstash Plugin
Event Grid
Logstash Plugin
Apps (Via API)
Stream
Batch
Query,
Control Commands
Azure OSS Applications
Active Data
Connections
Virtual Machine Scale Set
バッチ?ストリーミングによる
データの取り込み(Ingestion)
Azureのサービスだけでなく、 Logstash,
Kafka などに対応
基盤はAzureの仮想マシン
フルマネージドのためユーザーは
管理の?間は不要。インメモリで
の処理を?います。
コストの計算や予測が容易
様々なデータ型に対応
構造、?構造のデータに対応
様々なUI、ツール連携
使いやすい専?のUI
Power BIや他社製、OSS製のBI
ツールとも連携
様々なプログラミング?語向
けのSDK
処理と保存の分離
線形に処理能?を増加
オートスケール機能
メモリ外データに対応
(Blob、Data Lake Gen2)
最新のクエリ?語
KQLと標準SQLの対応 機密性 ?規模なデータでもロストはありません
コスト感は?????
Cost Estimator: http://aka.ms/ADX.CostEstimator
Pricing Page: https://azure.microsoft.com/ja-jp/pricing/details/data-explorer/
価格の特徴
Azure Data Explorerのクラスターは、Azure Linux VM とストレージなど、複数の Azure リソー
スを使?するエンジン クラスターとデータ管理クラスターのペアです。適?可能な VM、Azure
Storage、Azure ネットワーク、Azure ロード バランサーのコストは、顧客のサブスクリプション
に直接請求されます。
つまり、仮想マシンが?ち上がります。
トランザクションベースの分析サービスではなく、仮想マシン(コア?メモリ)の課?です
クラスターの中には複数のデータベースを作成することができます。(複数のゲームタイトルで運
営することができます)
メリット? クエリの書き?やデータサイズに依存しないためコストを読みやすい
ディメリット? ログのサイズが?きくない場合は仮想マシンのコストが重荷となる
「ビックデータ」が発?するゲームタイトルでは、コスト削減に?った実績があります
?規模なタイトルでは逆に割?になる可能性があるので以下のサイトでご確認してください。
クライアントツール
? Windows クライアントの「Kusto Explorer」、Web UIの「Azure Data Explorer 」、Azure Portal、
Client SDK(C#、Python、PHP、Javaなど)、など様々なアクセス?法があります。
Web UIの「Azure Data Explorer 」
https://dataexplorer.azure.com
Windows クライアントの「Kusto Explorer」
KQL : Kusto Query Language
? クエリ?語KQLにより「探査」の作業効率が上がります。
? 基本的な書き?は、テーブル名を起点にフィルタ条件や処理をパイプ「|」で記述
? 機械学習や、グラフ描画なども?います。ドリルダウンで詳細情報を確認することも可能
シンプルかつパワフルな構?
? ラショナルクエリー (filter, aggregate, join, calculated
columns, and more)
? 便利なビルトイン機能 full-text search, time series, user
analytics, machine learning operators
? Visualization (クエリーからグラフ表?)
? 簡単なシンタックス+インテリセンス
? 可読性の?い ヒエラルキー構造のスキーマ情報
Comprehensive
? 構造データ、?構造データ、半構造データにまた
がったクエリー実?
拡張機能
? In-line Python
? SQL
なぜ?速クエリーを実現できるのか?
なぜデータへのアクセスが簡単になるのか?
https://kusto.azurewebsites.net/docs/api/index.html
KQL : Kusto Query Language
1. Microsoft Account を作成
2. サンプルデータのリンクを開く
https://help.kusto.windows.net/Samples
3. Microsoft Account でログイン
4. 下記のサンプルを実?(Run)
5. 結果を確認
StormEvents | where StartTime > datetime(2007-02-01)
and StartTime < datetime(2007-03-01) | where EventType
== 'Flood' and State == 'CALIFORNIA' | project StartTime,
EndTime , State , EventType , EpisodeNarrative
StormEvents | count
StormEvents | take 5 | project StartTime, EndTime,
EventType, State, EventNarrative
StormEvents | top 5 by StartTime desc | project StartTime,
EndTime, EventType, State, EventNarrative
ここに記述
結果表?
サンプルデータ:セットアップ?基本クエリー実行
StormEvents | summarize event_count=count() by
bin(StartTime, 1d) | render timechart
StormEvents | summarize event_count=count(), mid =
avg(BeginLat) by State | sort by mid | where event_count
> 1800 | project State, event_count | render columnchart
サンプルデータ:セットアップ?図形描画
KQL実行例
? クラスターを選択
例? Demo11PublicCluster
? データベースを選択
例?GitHub
? クエリを記述(画?右上)
↓ ↓ ↓ ↓ ↓
Event All テーブルに対して、Repo
という項?にAzureという?字があれば
カウントする
? 実?結果を表?(画?右下)
EventsAll
| where Repo has 'Azure'
| count
セットアップの流れ
1) クラスター作成
2) データベースを作成
3) アクセス権限などの設定
ADXクラスター
INGEST
Azure Data Factory
Kafka
IoT Hub
Event Hub
Azure Data Lake Storage
Query
Visualize
データベース
Azure Data Explorer
データベース
テーブル
テーブル
テーブル
テーブル
テーブル
テーブル
Store
4) テーブル作成
5) データの取り込み
6) Visualize(BI)との接続
? Microsoft Corporation
Next steps
製品公式サイト
公式ドキュメント
時系列分析、MSのサンプル
ライトインジェスト
Grafanaとの統合
KQL magic によるPythonとの統合
Logstashからのデータ取り込み
?公式Blog上のサンプルクエリ
動画によるKQL無料研修(英語) White Paper

More Related Content

Azure Data Explorer

  • 1. とうとうGAしたイチオシの最強最速データ分析基盤 Azure Data Explorer をつかってゲームのBig Data 分析をしよう 増渕?輔 ゲームサーバー担当 テクニカルソリューションプロフェッショナル Global Black Belt Asia Microsoft
  • 2. Azure Data Explorer (ADX)とは? ビックデータ分析サービス。2019年にGA。 TB, PB級の?量のデータ検索を1秒、数秒以内で応答。 ストリーミングとバッチによるインジェクションに対応 リアルタイムな超?速分析を可能にします。 ?産性 10 億件のレコードを 1 秒未満で照会できる 拡張性 性能が必要な時に、線形スケーリングが可能 ?い作業効率 最新のクエリ?語?KQL、使いやすいシンタックス、 インテリセンス機能。 アノマリーディテクションや回帰などの豊富なライブラリが あります 柔軟性 様々な、データの接続、様々なBI環境との連携
  • 3. 以前から社内で使われていた(何処かで聞いた話ですが) 2016 20182014 AI & ILDC C&E Incubation Friends & Family Exposure 1st Big internal Clint ScottGu Chooses Kusto for C&E Delivering Across Multiple MS Divisions Fund By Brian H POC With Azure SQL DB Growing Customers Base Establishment Telemetry Analytics Internal Analytics Data platform for products Analyticsfor3rdparty Offerunifiedplatform acrossOMS/AI Interactive analytics Big data platform 200customers InitiatingWith1st PartyValidation DevelopingModernAnalytics 2015 IDEATION & CONCEPT VALIDATION SCALE PUBLIC REVIEW Resource Commitment GA 20192017 Foundation Team & Initiate Coding Bing Inferences MS Expansion Success GA SCALE Ideation
  • 4. マイクロソフト社内でなぜADXが必要とされてきたのか? Cuts down time-to- insight fast-flowing data に対する ほぼリアルタイムな分析 を可能にします Enables data-driven culture Intuitive で簡単に使える データ分析に最適化された 最新のクエリー言語KQL Fully managed インデックスの運用を機に する必要がありません インフラもオートスケール 可能です Azure :日々大量に発生するログデータに対するデータ解析作業効率を上げる必要があった Xbox :多くのデータサイエンティストは、SQLに代わる使いやすいクエリー言語を必要としていた Office365 :ソフトからサービスに移行する顧客の不満を把握し、改善にフィードバックする必要があった Defender :悪意のある攻撃者を見つけるため時系列データに対する機械学習分析の効率を上げる必要があった Azure 顧客:Azure上のアプリやシステムログをポータル上で統合的にリアルタイムで可視化する必要があった Azure Data Explorer が重要視している特徴
  • 5. 他のデータベースとの使い分け ゲーム サーバー OLTP DB (RDB/Doc) Lightning Fast & Complex Analytics Explorer 探査作業 ビックデータの時代に重要となる「探査作業」を行う
  • 7. Azure Explorer の仕組み Data Lake / Blob IoT Ingested Data Engine Data Management Azure Data Explorer Azure Storage Blob/Data Lake Gent2 Event Hub IoT Hub Customer Data Lake Kafka Sync Logstash Plugin Event Grid Logstash Plugin Apps (Via API) Stream Batch Query, Control Commands Azure OSS Applications Active Data Connections Virtual Machine Scale Set バッチ?ストリーミングによる データの取り込み(Ingestion) Azureのサービスだけでなく、 Logstash, Kafka などに対応 基盤はAzureの仮想マシン フルマネージドのためユーザーは 管理の?間は不要。インメモリで の処理を?います。 コストの計算や予測が容易 様々なデータ型に対応 構造、?構造のデータに対応 様々なUI、ツール連携 使いやすい専?のUI Power BIや他社製、OSS製のBI ツールとも連携 様々なプログラミング?語向 けのSDK 処理と保存の分離 線形に処理能?を増加 オートスケール機能 メモリ外データに対応 (Blob、Data Lake Gen2) 最新のクエリ?語 KQLと標準SQLの対応 機密性 ?規模なデータでもロストはありません
  • 8. コスト感は????? Cost Estimator: http://aka.ms/ADX.CostEstimator Pricing Page: https://azure.microsoft.com/ja-jp/pricing/details/data-explorer/ 価格の特徴 Azure Data Explorerのクラスターは、Azure Linux VM とストレージなど、複数の Azure リソー スを使?するエンジン クラスターとデータ管理クラスターのペアです。適?可能な VM、Azure Storage、Azure ネットワーク、Azure ロード バランサーのコストは、顧客のサブスクリプション に直接請求されます。 つまり、仮想マシンが?ち上がります。 トランザクションベースの分析サービスではなく、仮想マシン(コア?メモリ)の課?です クラスターの中には複数のデータベースを作成することができます。(複数のゲームタイトルで運 営することができます) メリット? クエリの書き?やデータサイズに依存しないためコストを読みやすい ディメリット? ログのサイズが?きくない場合は仮想マシンのコストが重荷となる 「ビックデータ」が発?するゲームタイトルでは、コスト削減に?った実績があります ?規模なタイトルでは逆に割?になる可能性があるので以下のサイトでご確認してください。
  • 9. クライアントツール ? Windows クライアントの「Kusto Explorer」、Web UIの「Azure Data Explorer 」、Azure Portal、 Client SDK(C#、Python、PHP、Javaなど)、など様々なアクセス?法があります。 Web UIの「Azure Data Explorer 」 https://dataexplorer.azure.com Windows クライアントの「Kusto Explorer」
  • 10. KQL : Kusto Query Language ? クエリ?語KQLにより「探査」の作業効率が上がります。 ? 基本的な書き?は、テーブル名を起点にフィルタ条件や処理をパイプ「|」で記述 ? 機械学習や、グラフ描画なども?います。ドリルダウンで詳細情報を確認することも可能 シンプルかつパワフルな構? ? ラショナルクエリー (filter, aggregate, join, calculated columns, and more) ? 便利なビルトイン機能 full-text search, time series, user analytics, machine learning operators ? Visualization (クエリーからグラフ表?) ? 簡単なシンタックス+インテリセンス ? 可読性の?い ヒエラルキー構造のスキーマ情報 Comprehensive ? 構造データ、?構造データ、半構造データにまた がったクエリー実? 拡張機能 ? In-line Python ? SQL
  • 12. 1. Microsoft Account を作成 2. サンプルデータのリンクを開く https://help.kusto.windows.net/Samples 3. Microsoft Account でログイン 4. 下記のサンプルを実?(Run) 5. 結果を確認 StormEvents | where StartTime > datetime(2007-02-01) and StartTime < datetime(2007-03-01) | where EventType == 'Flood' and State == 'CALIFORNIA' | project StartTime, EndTime , State , EventType , EpisodeNarrative StormEvents | count StormEvents | take 5 | project StartTime, EndTime, EventType, State, EventNarrative StormEvents | top 5 by StartTime desc | project StartTime, EndTime, EventType, State, EventNarrative ここに記述 結果表? サンプルデータ:セットアップ?基本クエリー実行
  • 13. StormEvents | summarize event_count=count() by bin(StartTime, 1d) | render timechart StormEvents | summarize event_count=count(), mid = avg(BeginLat) by State | sort by mid | where event_count > 1800 | project State, event_count | render columnchart サンプルデータ:セットアップ?図形描画
  • 14. KQL実行例 ? クラスターを選択 例? Demo11PublicCluster ? データベースを選択 例?GitHub ? クエリを記述(画?右上) ↓ ↓ ↓ ↓ ↓ Event All テーブルに対して、Repo という項?にAzureという?字があれば カウントする ? 実?結果を表?(画?右下) EventsAll | where Repo has 'Azure' | count
  • 15. セットアップの流れ 1) クラスター作成 2) データベースを作成 3) アクセス権限などの設定 ADXクラスター INGEST Azure Data Factory Kafka IoT Hub Event Hub Azure Data Lake Storage Query Visualize データベース Azure Data Explorer データベース テーブル テーブル テーブル テーブル テーブル テーブル Store 4) テーブル作成 5) データの取り込み 6) Visualize(BI)との接続
  • 16. ? Microsoft Corporation Next steps 製品公式サイト 公式ドキュメント 時系列分析、MSのサンプル ライトインジェスト Grafanaとの統合 KQL magic によるPythonとの統合 Logstashからのデータ取り込み ?公式Blog上のサンプルクエリ 動画によるKQL無料研修(英語) White Paper