Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Microsoft Ignite 2019 最新アップデート - Azure Big Data Services を俯瞰的に眺める

1,032 views

Published on

Full Manage の Spark Cluster である Azure Databricks 以外にも実際の現場では多様なデータベースを扱います。ここでは、Ignite で発表のあった Azure Synapse Analytics を中心に、Hyper scall (Citus), Cosmos DB 関連など、データにまつわる 最新情報をご紹介します

Published in: Technology
  • Be the first to comment

Microsoft Ignite 2019 最新アップデート - Azure Big Data Services を俯瞰的に眺める

  1. 1. 畠山 大有 | @dahatake Architect && Software Engineer && Applied Data Scientist Microsoft Japan
  2. 2. Data + Analytics
  3. 3. Data + Analytics
  4. 4. Announcing
  5. 5. SQL Server の進化 Performance and productivity Self-service BI Cloud-ready Mission Critical and cloud performance Built-in ML Docker & Linux Intelligence over all data SQL Server 2008 SQL Server 2008 R2 SQL Server 2012 SQL Server 2014 SQL Server 2016 SQL Server 2017 SQL Server 2019 Power Pivot (In-Memory) / SharePoint 統合 / Master Data サービス データ圧縮 / ポリシーベース管理 / プログラマビリティ AlwaysOn / In-Memory 列ストア (非クラスター化列ストア) / Data Quality サービス / Power View / クラウド 業界をリードするパフォーマンス / 機械学習 (R) / PolyBase / ハイブリッドクラウドの最適化 / クラウドエンジニアリングファースト / クラウド BI 業界をリードするパフォーマンス / グラフデータベース / 機械学習 (R / Python) / 言語とプラットフォームの選択肢の強化 / クラウドへのシンプルな移行 ワークロード全体のインメモリ化 (In-Memory OLTP / クラスター化列ストアインデックス) / ハイブリッドクラウドの最適化 / クラウド BI すべてのデータに対するインテリジェンス / Spark と HDFS を備えたBig Data Cluster / 機械学習 (R / Python / Java) / データ分類とコンプライアンス追跡 / Azure Data Studio
  6. 6. R SQL 1 0 1 0 0 1 0 1 0 1 1 0 SQL Server 2019 PolyBase と Big Data Cluster による データ仮想化 Intelligent Query Processing および インメモリデータベース エンクレーブで常に暗号化されたセキュリティの強化と データの分類による監査機能の強化 可用性グループの機能強化と 高速データベース復旧などの新しい HA 機能 Java による ML Service の機能強化 互換性のある最新のプラットフォームを選択 暗号化テキスト プレーンテキスト エンクレーブ
  7. 7. Adaptive Query Processing (SQL Server 2017) Adaptive Query Processing Batch Mode Memory Grant Feedback Batch Mode Adaptive Join Interleaved Execution Adaptive query processing in SQL databases https://docs.microsoft.com/en-us/sql/relational-databases/performance/adaptive-query-processing?view=sql-server-ver15
  8. 8. Intelligent Query Processing 行ストア Intelligent QP Adaptive QP Adaptive Joins Batch Mode Interleaved Execution Memory Grant Feedback Batch ModeRow Mode Table Variable Deferred Compilation Batch Mode on Row Store Approximate QP Approximate Count Distinct Scalar UDF Inlining Intelligent query processing in SQL databases https://docs.microsoft.com/en-us/sql/relational-databases/performance/intelligent-query-processing?view=sql-server-ver15
  9. 9. Intelligent Query Processing 行ストア Intelligent QP Adaptive QP Adaptive Joins Batch Mode Interleaved Execution Memory Grant Feedback Batch ModeRow Mode Table Variable Deferred Compilation Batch Mode on Row Store Approximate QP Approximate Count Distinct Scalar UDF Inlining Intelligent query processing in SQL databases https://docs.microsoft.com/en-us/sql/relational-databases/performance/intelligent-query-processing?view=sql-server-ver15
  10. 10. ! 企業のデータベースに必要とされる セキュリティ機能 Security management Data protection Network security Monitoring, logging & auditing Identity & access management 認証オプション: Azure AD SQL Auth Windows Auth Azure RBAC Encryption-in-flight via TLS Encryption at-rest via TDE (SQL Server Standard) VNET Injection (VNET) Firewall Rules, NSG Advanced Threat Detection (SQL IaaS も対象に) Vulnerability Assessment (SQL IaaS も対象に) Row-level security Encryption in-use via Always Encrypted (.NET Core support) (Always Encrypted with secure enclaves) SQL Audit (Log Analytics と Event Hubs 連携) Data Discovery & Classification (GA, SQL Server 2019) Dynamic Data Masking Azure Security Center Roles & Permissions User-managed keys (GA in managed instance) Private Link New
  11. 11. Always Encrypted with セキュア エンクレーブ 操作 エンクレーブを使用しない エンクレーブを使用する ランダム暗号化 決定的暗号化 ランダム暗号化 決定的暗号化 インプレース暗号化 非サポート 非サポート サポート サポート 等価による比較 非サポート サポート サポート サポート 不等号による比較 非サポート 非サポート サポート 非サポート LIKE 非サポート 非サポート サポート 非サポート Always Encrypted with Secure Enclaves https://docs.microsoft.com/en-us/sql/relational-databases/security/encryption/always-encrypted-enclaves Tutorial: Getting started with Always Encrypted with secure enclaves using SSMS https://docs.microsoft.com/en-us/sql/relational-databases/security/tutorial-getting-started-with-always-encrypted-enclaves
  12. 12. Private Link PaaS services
  13. 13. Data without limits
  14. 14. SQL Server 2019 の利用形態 Big Data Cluster (BDC) スケーラブルな大規模データ分析基盤 (新しい構成 / 導入方法)
  15. 15. SQL Server 2019 Big Data Clusters データ仮想化 データを移動 / 複製せず、多数のソースのデータを組 み合わせる パフォーマンスを向上させるため、計算とキャッシュ のプールを スケールアウト T-SQL 分析 アプリ ODBC NoSQL DRAMS HDFS SQL Server 外部テーブル コンピュートプール / データプール 完全な AI プラットフォーム 多数のソースから統合したデータを、機械学習の モデルの訓練に容易に活用することができる データの取り込みと準備 (前処理) を行い、モデルの 訓練 / 保存 / 運用を一つのシステムで実行 外部データ ソース SQL Server ML Services Spark & Spark ML HDFS モデル用の REST API コンテ ナー Managed SQL Server / Spark Data Lake 大量のデータを Data Lake に保存し、SQL または Spark を使用して容易にアクセス 管理されたサービス, ダッシュボード, および統合さ れた セキュリティより、すべての管理を容易に実施 SQL Server Spark ダッシュボードと管理されたサービス 統合されたAD ベースのセキュリティ スケーラブル, 共有ストレージ (HDFS) 統一された展開 / ガバナンス およびツールを使用したシンプルな管理と分析により 保有しているすべてのデータを情報 / 資産として活用
  16. 16. SQL Database PostgreSQL MySQL Azure Hyperscale Databases スケールする Relational Databases 100 Tran / sec GB 100万 Tran / Sec 100TB
  17. 17. Announcing
  18. 18. ハイパースケール(Citus) を使用した 数百のコアにわたる 水平方向のスケーリング Postgresデータベースを複数のノードに またがってシャーディング メモリ、コンピューティング、ストレー ジを増やす ワーカー ノードを簡単に追加して水平ス ケール 最大 100 個のノードまで拡張 Coordinator Table metadata それぞれのノードに PostgreSQL と Citus がインストールさ れている1 shard = 1 PostgreSQL table 複数ノードにデータをシャーディング
  19. 19. Data + Analytics
  20. 20. Planet-scale data
  21. 21. Column-family Document Graph 地球規模でのデータ分散 迅速なスケールアウト 高速なスループット 99%の低遅延保障 業界随一の SLAs 5段階のトランザクションモデル Table API Key-value 地球規模での分散、更なるスケーラ ビリティ、マルチモデル Cosmos DB’s API for MongoDB Azure Cosmos DB
  22. 22. 集合関数と GROUP BY 句のパフォーマンス改善
  23. 23. Auto Pilot Containers 最小限のキャパシティープラン オートスケール 全ての Azure Cosmos DB API に適用
  24. 24. Data + Analytics
  25. 25. Azure Analytics Power BI
  26. 26. Azure Machine Learning – Data Store
  27. 27. SQL Analytics 2019/11 リリースの新機能 GA した機能 :  性能 : Resultset Caching  性能 : Materialized View  性能 : Ordered ColumnStore  データタイプ : JSON サポート  セキュリティ : Dynamic Data Masking  CI & CD : SSDT (SQL Server Data Tools) サポート  SQL 言語 : Read committed snapshot isolation パブリック プレビュー機能 :  ワークロード管理 : Workload Isolation  データ取込み : COPY ステートメント  データ共有 : Azure Data Share によるデータ共有  セキュリティ : Private LINK のサポート プライベート プレビュー機能 :  データ取込み : Streaming Ingestion & Analytics  ビルトイン ML : ネイティブな予測/スコアリング  Data Lake 統合 : Parquet ファイルへのダイレクトクエリ  SQL 言語 : 更新可能分散カラム  SQL 言語 : JOIN を伴う FROM 句  SQL 言語 : 複数カラムによる分散  Note: private preview features require whitelisting
  28. 28.  サポートされている集計関数: MAX、MIN、AVG、COUNT、 COUNT_BIG、SUM、VAR、 STDEV CREATE MATERIALIZED VIEW Sales.vw_Orders WITH ( DISTRIBUTION = ROUND_ROBIN | HASH(ProductID) ) AS SELECT SUM(UnitPrice*OrderQty) AS Revenue, OrderDate, ProductID, COUNT_BIG(*) AS OrderCount FROM Sales.SalesOrderDetail GROUP BY OrderDate, ProductID; GO Petabytes への スケール Materialized Views
  29. 29. 275 5 0 50 100 150 200 250 300 1 2 Seconds クエリー実行時間 Petabytes への スケール Materialized Views
  30. 30. -- Turn on/off result-set caching for a database -- Must be run on the MASTER database ALTER DATABASE {database_name} SET RESULT_SET_CACHING { ON | OFF } -- Turn on/off result-set caching for a client session -- Run on target data warehouse SET RESULT_SET_CACHING {ON | OFF} -- Check result-set caching setting for a database -- Run on target data warehouse SELECT is_result_set_caching_on FROM sys.databases WHERE name = {database_name} -- Return all query requests with cache hits -- Run on target data warehouse SELECT * FROM sys.dm_pdw_request_steps WHERE command like '%DWResultCacheDb%' AND step_index = 0 Petabytes への スケール Result Set の Cache
  31. 31. --T-SQL syntax for scoring data in SQL DW SELECT d.*, p.Score FROM PREDICT(MODEL = @onnx_model, DATA = dbo.mytable AS d) WITH (Score float) AS p; Upload models T-SQL Language Data Warehouse Data + Score models Model Create models Predictions = SQL Analytics機械学習の 推論組み込み
  32. 32. Developing Composite Models wit Power BI
  33. 33. 売り上げ 日付 顧客 商品 従業員 地理 再販業者の 売り上げ DirectQuery 売り上げ 日付 顧客 商品 従業員 地理 再販業者の 売り上げ
  34. 34. 売り上げ売り上げ 商品 顧客 地理 日付 従業員 再販業者の 売り上げ DirectQuery 日付 従業員 再販業者の 売り上げ 顧客 地理 商品
  35. 35. 売り上げ集 計 売り上げ 商品 顧客 地理 日付 従業員 再販業者の 売り上げ 日付 従業員 再販業者の 売り上げ 顧客 地理 商品 DirectQuery
  36. 36. 売り上げ 商品 売上集計 顧客 地理 日付 従業員 再販業者の 売り上げ 集計 日付 従業員 再販業者の 売り上げ 顧客 地理 商品
  37. 37. 売り上げ 商品 売上集計 顧客 地理 日付 従業員 再販業者の 売り上げ 集計 日付 従業員 再販業者の 売り上げ 顧客 地理 商品 SummarizeColumns( Date[Year], Geography[City], "Sales", Sum(Sales[Amount]) )
  38. 38. 売り上げ 商品 売上集計 顧客 地理 日付 従業員の 再販業者の 売り上げ 集計 日付 従業員 再販業者の 売り上げ 顧客 地理 商品 SummarizeColumns( Date[Year], Customer[Name], "Sales", Sum(Sales[Amount]) ) SELECT [Year], [Name], SUM([Amount]) AS [Amount] FROM [Sales] INNER JOIN [Date] ON ... INNER JOIN [Customer] ON ... GROUP BY [Year], [Name]
  39. 39. Data + Analytics
  40. 40. Data + Analytics
  41. 41. Big Data または Relational Data Data Lake Data warehouse 使いやすさ 迅速な探索 すぐに利用開始 実証済みのセキュリティ 鉄壁のプライバシー 信頼性の高いパフォーマン ス
  42. 42. 使いやすさ 迅速な探索 すぐに利用開始 実証済みのセキュリティ 鉄壁のプライバシー 信頼性の高いパフォーマン ス
  43. 43. 制限のない世界へようこそ データ ウェアハウス と ビッグ データ分析を 1 つのサービスに統合 Azure Synapse Analytics
  44. 44. Azure Synapse Analytics 無限のスケール 強力な分析 統合環境 強固な セキュリティ Provisioned Data WarehouseGENERALLY AVAILABLE On-demand Query as a ServicePREVIEW
  45. 45. データ分析のための無制限のデータウェアハウス Store Azure Data Lake Storage SQL Analytics Runtimes Synapse Studio Unified experience Integration Management Monitoring Security Cloud data SaaS data On-premises data Devices data Power BI Azure Synapse Analytics
  46. 46. Synapse Studio
  47. 47. 開発ハブ/SQL スクリプト  SQL スクリプト
  48. 48. Synapse Studio – PySpark (Python)
  49. 49. オンデマンド での DataLake 参照 SELECT TOP 100 * FROM OPENROWSET( BULK 'https://<storage>/path/to/files/*.parquet’, FORMAT = 'Parquet’ ) AS [r] Data Lake SQL on-demand Client
  50. 50. 13X SQL Analytics Data Lake 統合 ParquetDirect
  51. 51. CREATE EXTERNAL TABLE AS SELECT -- Create a database master key if one does not already exist CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'S0me!nfo' ; -- Create a database scoped credential with Azure storage account key as the secret. CREATE DATABASE SCOPED CREDENTIAL AzureStorageCredential WITH IDENTITY = '<my_account>' , SECRET = '<azure_storage_account_key>' ; -- Create an external data source with CREDENTIAL option. CREATE EXTERNAL DATA SOURCE MyAzureStorage WITH ( LOCATION = 'wasbs://daily@logs.blob.core.windows.net/' , CREDENTIAL = AzureStorageCredential , TYPE = HADOOP ) -- Create an external file format CREATE EXTERNAL FILE FORMAT MyAzureCSVFormat WITH (FORMAT_TYPE = DELIMITEDTEXT, FORMAT_OPTIONS( FIELD_TERMINATOR = ',', FIRST_ROW = 2) --Create an external table CREATE EXTERNAL TABLE dbo.FactInternetSalesNew WITH( LOCATION = '/files/Customer', DATA_SOURCE = MyAzureStorage, FILE_FORMAT = MyAzureCSVFormat ) AS SELECT T1.* FROM dbo.FactInternetSales T1 JOIN dbo.DimCustomer T2 ON ( T1.CustomerKey = T2.CustomerKey ) OPTION ( HASH JOIN );
  52. 52. データの読み込み  概要  ストレージ アカウントから目的のリンクされた サービスにデータを読み込む機能を提供 パイプラインの手動実行または調整による データの読み込み  利点  一般的な読み込みパターンをサポート  Polybase による規模に応じたデータの読み込み
  53. 53. データの準備と変換  データフローのマッピング  コード不要の規模に応じたデータ変換 データフローのラングリング コード不要の規模に応じたデータ準備
  54. 54. Azure Cosmos DB と Azure Synapse の連携 Global distribution, elastic scale, low latency, intuitive consistency modes, 99.999 SLA Multi-model Key-value Column-family Document Graph SQL Cassandra MongoDB Gremlin Table API ETCD Jupyter NotebooksAzure Synapse - Spark Transactional store (rows) Analytical store (columns) Jupyter Notebooks 組み込み Analytical store 組み込み Azure Synapse の Spark Analytics 時間のかかる ETL’s 不要 Transactional と Analytical Storage の分類
  55. 55. Analytical Storage Select * from Block N where column1 > column2 Select * from Block N where column1 > column2 Select * from Block N where column1 > column2 Snapshot Tn
  56. 56. Azure Arc Announcing PREVIEW
  57. 57. On-premises EdgeMulticloud
  58. 58. Management experiences Azure Portal Azure CLI Azure SDK Azure Arc technologies: Azure Arc Azure Identity RBAC Policy Index Groups Etc. Azure Resource Manager Azure Arc data RP Container registry Azure Arc K8s RP Azure Arc server RP Azure Data Services Wave 1 • SQL • PostgreSQL Azure Arc data controller Kubernetes Azure PaaS Control K8s Cluster Azure Arc data agent GitOps Manager Azure Arc K8s agent Servers Linux Windows Server Azure Arc server agent Resource specific tools Azure Data Studio Cluster provisioning​ Cluster upgrade and patch management​ Cluster lifecycle management​ Cluster monitoring K8s Native Tools Server Admin Tools Customer locations
  59. 59. あらゆる スケール あらゆる Data API あらゆる データモデル あらゆる ハードウェア あらゆる クラウド

×