Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Introduction to Azure Synapse Analytics/ace0416

Introduction to Azure Synapse Analytics/ace0416

Azure Council Experts 定例会のセッションスライドです。

TonyTonyKun

April 16, 2021
Tweet

More Decks by TonyTonyKun

Other Decks in Technology

Transcript

  1. Introduction to
    Azure Synapse Analytics
    2021.4.16
    Azure Council Experts 定例会

    View Slide

  2. 自己紹介
    原 敏之(Toshiyuki Hara)
    株式会社ネクストスケープ
    Microsoft Azure の導入支援やクラウドネイティブなアプリケー
    ション開発をしています。
    https://www.nextscape.net/
    Microsoft MVP for Microsoft Azure 2017 〜
    ROMANCE DAWN for the new world
    https://gooner.hateblo.jp/
    Japan Azure User Group(JAZUG)
    Microsoft Azure のゆるふわなコミュニティ
    https://jazug.connpass.com/
    2
    Copyright© 2021, JAZUG All Rights Reserved.

    View Slide

  3. データ分析基盤 構築支援サービス
    3
    Copyright© 2021, JAZUG All Rights Reserved.

    View Slide

  4. Goal
    Azure Synapse Analytics の概要を知る
    データ分析プラットフォームの作り方が分かる
    4
    Copyright© 2021, JAZUG All Rights Reserved.

    View Slide

  5. Azure Synapse Analytics
    Overview
    概要と特徴
    5
    Copyright© 2021, JAZUG All Rights Reserved.

    View Slide

  6. Azure Synapse Analytics とは?
    Azure Synapse Analytics は、データのインジェスト → 分析 →
    可視化のための開発やモニタリングを、統合して管理できる
    データ分析プラットフォームです。
    6
    Copyright© 2021, JAZUG All Rights Reserved.
    従来の Azure Data Platform Azure Synapse Analytics

    View Slide

  7. Synapse Studio
    Azure Synapse Analytics を構成するリソース群をまとめて管理
    できるポータルサイトです。
    Copyright© 2021, JAZUG All Rights Reserved.
    7
    Hub Description
    Data ・Synapse Analytics 内のデータベースや外部データソースにアクセスする。
    Develop ・SQL Script、Notebook、Data flow を管理する。
    Integrate ・Data Factory ライクなデータ統合パイプラインを管理する。
    Monitor ・パイプラインやトリガーの実行状況を監視する。
    Manage ・SQL Pool と Spark Pool のスペックやインスタンスを管理する。
    ・権限の付与や閉域ネットワークなどのセキュリティを管理する。
    ・Synapse Analytics のアーティファクトを Git Repository で管理する。

    View Slide

  8. SQL Pool – Dedicated SQL Pool
    Massively Parallel Processing(MPP)による並列処理が可能な
    データウェアハウスです。(旧称 SQL Data Warehouse)
    Copyright© 2021, JAZUG All Rights Reserved.
    8
    SQL Server がベースのデータウェアハウス
    T-SQL クエリを実行でき、SSMS など使い慣れた
    ツールで管理できる
    スター スキーマと呼ばれる構造化されたリレー
    ショナル形式でモデリング
    コンピューティングとストレージを分離したス
    ケールアウト アーキテクチャ
    Compute Node は最大 60 個
    データは Azure Storage に配置され、容量は無制限
    パフォーマンスレベルは、DWU で指定する
    データのパーティションやインデックスをチュー
    ニングして、効率的に並列処理させる

    View Slide

  9. SQL Pool – Serverless SQL Pool
    Azure Data Lake Storage に格納したファイルに対して、T-SQL
    クエリを実行できる論理的なデータウェアハウスです。
    Copyright© 2021, JAZUG All Rights Reserved.
    9
    T-SQL クエリを実行可能なエンドポイント
    OPENROWSET 関数でファイルを読み取り、スキー
    マの自動検出も可能
    対応ファイル形式は、CSV / JSON / Parquet
    クエリを最適化する Materialized View などはない
    事前に Compute Node がプロビジョニングさ
    れていないサーバーレス アーキテクチャ
    DQP が空いている Compute Node を探して、クエ
    リを分割して実行する
    専用のローカルストレージをもたない
    クエリで返されるデータ量に基づいた課金(1日、
    1週間、1か月で利用上限を設定可能)

    View Slide

  10. Apache Spark Pool
    Spark を使ってデータをメモリにキャッシュし、並列分散処理
    によるパフォーマンスに優れた分析エンジンです。
    Copyright© 2021, JAZUG All Rights Reserved.
    10
    ✓ Synapse Studio に Notebook が統合されており、Apache Spark クラスタを
    立ち上げてジョブを実行できる。
    ✓ PySpark (Python)
    ✓ Spark (Scala)
    ✓ SparkSQL
    ✓ .NET for Apache Spark (C#) 。
    ✓ DataFrame を Spark テーブルに格納すれば、T-SQL クエリを実行できる

    View Slide

  11. Synapse Pipeline
    Azure Data Factory と同様に、データの移動や変換のステップ
    を含んだパイプラインを作成し、トリガーでスケジューリング
    できる ETL ツールです。
    Copyright© 2021, JAZUG All Rights Reserved.
    11
    Object Description
    Pipeline ・Activity が複数集まったもの
    ・ワークフローを構築し、トリガー実行する
    Activity ・データ移動、データ変換、フロー制御の3種類
    ・統合ランタイム(VM)で実行される
    Linked Service ・Activity から利用するデータストアの接続情報
    Data Set ・接続先データストアのテーブルやファイル
    ・Activity から Data Set に書き込みや読み取りする

    View Slide

  12. Azure Synapse Link for Azure Cosmos DB
    Azure Cosmos DB と Azure Synapse Analytics をシームレスに
    統合できるサービスです。
    業務トランザクションデータに対して、システムのパフォーマンスに影響を与えず、
    リアルタイムに分析できる
    完全に分離された列指向な Azure Cosmos DB 分析ストア
    Copyright© 2021, JAZUG All Rights Reserved.
    12

    View Slide

  13. Case Study
    売上分析プラットフォームを構築する
    13
    Copyright© 2021, JAZUG All Rights Reserved.

    View Slide

  14. 売上分析プラットフォーム
    各店舗の POS システムから売上データを収集し、全店舗の
    データをまとめた横断的な売上分析を行う想定シナリオです。
    Copyright© 2021, JAZUG All Rights Reserved.
    14
    各店舗の売上データは、日次単位で XML
    形式のファイルがアップロードされる
    各店舗の顧客マスターは、バラバラのロー
    カルコードが使われているため、標準顧客
    マスターのコードをマッピングする
    全店舗の売上データを集めて、顧客ごとの
    売上状況を分析する

    View Slide

  15. 売上データの準備
    Blob Storage にアップロードする XML のデータは、mockaroo
    というサイトを使って、売上データを作ります。
    Copyright© 2021, JAZUG All Rights Reserved.
    15
    https://www.mockaroo.com/
    作成した売上データの XML

    View Slide

  16. Ingest Layer
    Ingest Layer は、収集したデータから Data Lake を作る責務を
    持ちます。
    Copyright© 2021, JAZUG All Rights Reserved.
    16
    Copy Data で Blob Storage の XML を Parquet に変換し、
    Data Lake Storage Gen2 にコピーするパイプラインを作
    成します。

    View Slide

  17. Ingest Layer
    Data Lake には、XML の階層データがフラット化された形式で
    蓄積されます。
    Copyright© 2021, JAZUG All Rights Reserved.
    17

    View Slide

  18. Batch Layer
    Batch Layer は、Data Lake から DWH を作る責務を持ちます。
    Copyright© 2021, JAZUG All Rights Reserved.
    18
    ✓ Mapping Data Flow で Data Lake Storage Gen2 の Parquet か
    ら Dedicated SQL Pool に売上データを取り込むパイプラインを作
    成します。
    ✓ 売上データを取り込む過程で、SQL Database の顧客マスターと突
    き合わせて、各店舗のローカルコードを標準コードに変換します。

    View Slide

  19. Batch Layer
    DWH には、標準顧客コードをマッピングした売上データが
    Dedicated SQL Pool の Sales テーブルに蓄積されます。
    Copyright© 2021, JAZUG All Rights Reserved.
    19

    View Slide

  20. Serving Layer
    Serving Layer は、DWH から Data Mart を作る責務を持ちます。
    Copyright© 2021, JAZUG All Rights Reserved.
    20
    Mapping Data Flow を使って、Dedicated SQL Pool の売上データから
    SQL Database に顧客別売上データを取り込むパイプラインを作成します。
    Data Mart には、顧客別売上データが SQL Database
    の SalesByCustomer テーブルに蓄積されます。

    View Slide

  21. Conclusion
    まとめ
    21
    Copyright© 2021, JAZUG All Rights Reserved.

    View Slide

  22. まとめ
    Azure Synapse Analytics は、使い慣れた T-SQL や GUI だけでな
    く、Spark を組み合わせることもできる統合分析サービスです。
    データは構造化・非構造化を問わず一元管理
    データの収集・加工・蓄積をパイプラインで統合
    モニタリングでパイプラインの実行を監視
    Azure Active Directory 認証によるセキュリティ強化
    22
    Copyright© 2021, JAZUG All Rights Reserved.

    View Slide

  23. 参考資料
    Azure Synapse Analytics の公式ドキュメント
    https://docs.microsoft.com/ja-jp/azure/synapse-analytics/
    Azure Synapse Analytics で分析ソリューションの統合を実現する
    https://docs.microsoft.com/ja-jp/learn/paths/realize-integrated-
    analytical-solutions-with-azure-synapse-analytics/
    Azure Synapse Analytics を使って売上分析プラットフォームを
    作ってみた
    https://gooner.hateblo.jp/entry/2021/01/12/092320
    23
    Copyright© 2021, JAZUG All Rights Reserved.

    View Slide