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

Ignite 2019 Update Microsoft Data Platform

Ignite 2019 Update Microsoft Data Platform

More Decks by Hiroyuki Nakazato / 中里 浩之

Other Decks in Technology

Transcript

  1. 大髙 領介 | 中里 浩之 Cloud Solution Architect & Data

    Engineer & Data Scientist Microsoft Japan 撮影OK Tweet OK
  2. Big Data または Relational Data Data Lake Data warehouse 使いやすさ

    迅速な探索 すぐに利用開始 実証済みのセキュリティ 鉄壁のプライバシー 信頼性の高いパフォーマンス
  3. データ分析のための無制限のデータウェアハウス 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
  4. オンデマンド での DataLake 参照 SELECT TOP 100 * FROM OPENROWSET(

    BULK 'https://<storage>/path/to/files/*.parquet’, FORMAT = 'Parquet’ ) AS [r] Data Lake SQL on-demand Client
  5. 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://[email protected]/' , 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 );
  6. 売り上げ集計 売り上げ 商品 顧客 地理 日付 従業員 再販業者の 売り上げ 日付

    従業員 再販業者の 売り上げ 顧客 地理 商品 DirectQuery
  7. 売り上げ 商品 売上集計 顧客 地理 日付 従業員 再販業者の 売り上げ 集計

    日付 従業員 再販業者の 売り上げ 顧客 地理 商品
  8. 売り上げ 商品 売上集計 顧客 地理 日付 従業員 再販業者の 売り上げ 集計

    日付 従業員 再販業者の 売り上げ 顧客 地理 商品 SummarizeColumns( Date[Year], Geography[City], "Sales", Sum(Sales[Amount]) )
  9. 売り上げ 商品 売上集計 顧客 地理 日付 従業員の 再販業者の 売り上げ 集計

    日付 従業員 再販業者の 売り上げ 顧客 地理 商品 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]
  10.  サポートされている集計関数: 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
  11. 275 5 0 50 100 150 200 250 300 No

    Materialized View With Materialized View Seconds クエリー実行時間 Petabytes への スケール Materialized Views
  12. -- 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
  13. --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 機械学習の 推論組み込み
  14. 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
  15. Column-family Document Graph 地球規模でのデータ分散 迅速なスケールアウト 高速なスループット 99%の低遅延保障 業界随一の SLAs 5段階のトランザクションモデル

    Table API Key-value 地球規模での分散、更なるスケーラ ビリティ、マルチモデル Cosmos DB’s API for MongoDB Azure Cosmos DB
  16. 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 Notebooks Azure Synapse - Spark Transactional store (rows) Analytical store (columns) Jupyter Notebooks 組み込み Analytical store 組み込み Azure Synapse の Spark Analytics 時間のかかる ETL’s 不要 Transactional と Analytical Storage の分類
  17. 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 https://docs.microsoft.com/ja-jp/azure/cosmos-db/globally-distributed-transactional-analytical-storage
  18. 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
  19. 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 の機能強化 互換性のある最新のプラットフォームを選択 暗号化テキスト プレーンテキスト エンクレーブ
  20. 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
  21. Intelligent Query Processing 行ストア Intelligent QP Adaptive QP Adaptive Joins

    Batch Mode Interleaved Execution Memory Grant Feedback Batch Mode Row 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
  22. Intelligent Query Processing 行ストア Intelligent QP Adaptive QP Adaptive Joins

    Batch Mode Interleaved Execution Memory Grant Feedback Batch Mode Row 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
  23. ! 企業のデータベースに必要とされる セキュリティ機能 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
  24. 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
  25. 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) 統一された展開 / ガバナンス およびツールを使用したシンプルな管理と分析により 保有しているすべてのデータを情報 / 資産として活用
  26. ハイパースケール(Citus) を使用した 数百のコアにわたる 水平方向のスケーリング Postgresデータベースを複数のノードにまたがって シャーディング メモリ、コンピューティング、ストレージを増やす ワーカー ノードを簡単に追加して水平スケール 最大

    100 個のノードまで拡張 Coordinator Table metadata それぞれのノードに PostgreSQL と Citus がインストールされている 1 shard = 1 PostgreSQL table 複数ノードにデータをシャーディング
  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