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.

db tech showcase 2019 SQL Server 2019 最新情報 - SQL Serverの進化をまとめてお届け!

359 views

Published on

SQL Server 2019 の新機能概要

Published in: Data & Analytics
  • Copas Url to Download This eBook === zakuratest.com/2744090034-Matrisez-SQL.html
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

db tech showcase 2019 SQL Server 2019 最新情報 - SQL Serverの進化をまとめてお届け!

  1. 1. SQL Server 2019最新情報 SQL Serverの進化をまとめてお届け! 小澤 真之 Microsoft MVP for Data Platform
  2. 2. 資料の入手先等  資料の入手先等はブログで公開する予定です  本セッションのデモ環境は Azure 上に構築しています  Azure に興味を持った方は、学習用コンテンツ (Microsoft Learn) も利用してみてください  本スライドのリンク先から、ブログ / Microsoft Learn にアクセスできます 2 https://aka.ms/AA603zy
  3. 3. SQL Server 2019 の最新機能によるデータ課題の解決 PolyBase と Big Data Cluster による データ仮想化 Intelligent Query Processing および インメモリデータベース 可用性グループの機能強化と 高速データベース復旧などの新しい HA 機能 Java による ML Service の機能強化 SQL 1 0 1 0 0 1 0 1 0 1 1 0 R 互換性のある最新のプラットフォームを選択 エンクレーブで常に暗号化されたセキュリティの強化と データの分類による監査機能の強化 暗号化テキスト プレーンテキスト エンクレーブ
  4. 4. SQL Server 2019 新機能 (RC1) 4 • クラスター化列ストアインデックスのオンライン操作 • 再開可能なオンラインインデックス作成 • Persistent Memory (PMEM) のサポート強化 • Enlightened I/O による PMEM のアクセス • Hybrid buffer pool の構成として利用 • 高速データベース復旧 • 間接チェックポイントのスケーラビリティの向上 • メモリ最適化 tempdb メタデータ • セットアップ時にメモリ / MAXDOP を設定 • 最終ページ挿入の競合を改善するための新しい インデックスオプション (OPTIMIZE_FOR_SEQUENTIAL_KEY) • 新しいコネクタによる接続先の強化 • SQL Server / Oracle / Teradata / MongoDB • ODBC (Windows 版 PolyBase のみサポート) • データ仮想化 • 新しい PolyBase を使用したデータ仮想化 • Data Lake / データ統合 • HDFS を使用したスケーラブルストレージ • SQL Server Storage Pool • HDFS の階層化 (ADLS Gen2 / AWS S3) • データマート • SQL Server Data Pool • Spark を使用したデータ分析 • Azure Data Studio を使用したデータ分析 • R / Python / SSIS ジョブのアプリケーションの展開 • 同期レプリカの台数増加 (3 台 → 5 台) • Read/Write Intent による任意のサーバーから プライマリへのリダイレクト • データの検出と分類 • Always Encrypted with Secure Enclaves • 脆弱性評価 • SQL Server 構成マネージャーによる証明書管理 • 透過的データ暗号化 (TDE) による暗号化の一時停止/再開 • char / varchar の UTF-8 サポート • UTF-8 をサポートした新しい照合順序 (_UTF8) • UTF-8 照合順序のレプリケーションサポート • レプリケーション / 変更データキャプチャのサポート • Active Directory 統合の強化 • 3rd パーティーの AD プロバイダーによる OpenLDAP のサ ポート • 分散トランザクション (MSDTC) のサポート • コンテナーレジストリの変更 • RHEL の SQL Server on Linux のコンテナー • インストール時に複数の tempdb データファイルを構成 • SQL Server on Linux で ML Services をサポート • 外部言語拡張による Java のサポート • Zulu Embedded for Java をインストーラーに含む • 入力データのパーティショニング • エッジ制約 / カスケード削除 • MERGE DML で MATCH 句をサポート • 派生テーブル / ビューの利用をサポート • 最短パス用関数 (SHORTEST_PATH) のサポート • パーティショニングのサポート • 行ストアのバッチモード • 行モード Memory Grant Feedback • テーブル変数の遅延コンパイル • 概算の COUNT DISTINCT • スカラー UDF のインライン化 • データの切り捨てメッセージの改善 • 軽量化クエリプロファイリングの既定での有効化 • 列ストアインデックスの圧縮効果の試算 • ページ情報の情報取得の改善 • 統計情報の同期的更新によるブロッキングの把握 • クエリストアのキャプチャポリシー • クエリインタリープ • 表形式モデルで計算グループによるデータ操作 • 表形式モデルで多対多のリレーションシップ • メモリ / Power BI キャッシュのリソースガバナンス • オンラインアタッチ • カタログデータベースの Managed Instance のサポート • Power BI Premium データセットのサポート • Azure AD Application Proxy の対応 • SSRS 2019 向けの新しい Report Builder • 代替テキスト / PDF/UA のサポート
  5. 5. SQL Server 2019 の最新機能によるデータ課題の解決 PolyBase と Big Data Cluster による データ仮想化 Intelligent Query Processing および インメモリデータベース 可用性グループの機能強化と 高速データベース復旧などの新しい HA 機能 Java による ML Service の機能強化 SQL 1 0 1 0 0 1 0 1 0 1 1 0 R 互換性のある最新のプラットフォームを選択 エンクレーブで常に暗号化されたセキュリティの強化と データの分類による監査機能の強化 暗号化テキスト プレーンテキスト エンクレーブ
  6. 6. プラットフォームの選択肢の強化  SQL Server on Linux の機能ギャップを解消  レプリケーション/変更データキャプチャ (CDC)  分散トランザクション (MSDTC)  SQL Server 2017 on Linux は CU16 でサポート  Machine Learning Services (In-Database)  2017 ではネイティブスコアリングのみサポート  3rd パーティーの AD プロバイダーによる Open LDAP のサポート  Microsoft Container Registry による Docker イメージの配布  RedHat を使用した SQL Server コンテナー イメージの提供 (2017 は Ubuntu のコンテナーイメージで提供)  SQL Server 2019 on Windows コンテナー (Private Preview) 6 What‘s new in SQL Server 2019 preview for Linux https://docs.microsoft.com/en-us/sql/sql-server/what-s-new-in-sql-server-ver15?view=sql-server-ver15#sqllinux
  7. 7. SQL Server 2019 の最新機能によるデータ課題の解決 PolyBase と Big Data Cluster による データ仮想化 Intelligent Query Processing および インメモリデータベース 可用性グループの機能強化と 高速データベース復旧などの新しい HA 機能 Java による ML Service の機能強化 SQL 1 0 1 0 0 1 0 1 0 1 1 0 R 互換性のある最新のプラットフォームを選択 エンクレーブで常に暗号化されたセキュリティの強化と データの分類による監査機能の強化 暗号化テキスト プレーンテキスト エンクレーブ
  8. 8. 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) 統一された展開 / ガバナンス およびツールを使用したシンプルな管理と分析により 保有しているすべてのデータを情報 / 資産として活用
  9. 9. SQL Server 2019 Big Data Cluster 9 Kubernetes Master SQL Server Master Instance Knox Gateway Livy HIVE Grafana Dashboard (Metrics) Kibana Dashboard (Log) Local DB External Data Kubernetes PolyBase Connector Application Pool ML Server SSIS Job Web App (API) SQL Server on Linux Container SQL Server SQL Data Pool Data Mart (Shard) SQL Server SQL Data Pool Data Mart (Shard) Scale-out Data Mart Storage Pool HDFS SQL Server Spark Storage Pool HDFS SQL Server Spark Storage Pool HDFS SQL Server Spark Distributed File Store (Data Lake) SQL Server Compute Pool SQL Server SQL Server SQL Server Compute Pool SQL Server SQL Server Control Plane Compute Plane Data Plane Workshop: Microsoft SQL Server big data clusters Architecture https://github.com/microsoft/sqlworkshops/tree/master/sqlserver2019bigdatacluste External Data Source
  10. 10. SQL Server 2019 の最新機能によるデータ課題の解決 PolyBase と Big Data Cluster による データ仮想化 Intelligent Query Processing および インメモリデータベース 可用性グループの機能強化と 高速データベース復旧などの新しい HA 機能 Java による ML Service の機能強化 SQL 1 0 1 0 0 1 0 1 0 1 1 0 R 互換性のある最新のプラットフォームを選択 エンクレーブで常に暗号化されたセキュリティの強化と データの分類による監査機能の強化 暗号化テキスト プレーンテキスト エンクレーブ
  11. 11. SQL Server のインメモリデータベース 11 In-Memory OLTP (a.k.a. Hekaton) SQL Server 2014 で実装された、ロック / ラッチフリーでアクセス可能な In-Memory テーブルを作成 https://docs.microsoft.com/ja-jp/sql/relational-databases/in-memory-oltp/in-memory-oltp-in-memory-optimization ログ末尾のキャッシング (Tail of Log Caching) NVDIMM (DAX Mode) を、ログのキャッシング領域の拡張として活用し、トランザクションログの書き込みを高速化 • ログバッファの拡張領域として、NVDIMM を使用して、トランザクションコミット時の書き込みを高速化 https://blogs.msdn.microsoft.com/bobsql/2016/11/08/how-it-works-it-just-runs-faster-non-volatile-memory-sql-server-tail-of-log-caching-on-nvdimm/ メモリ最適化 tempdb メタデータ 一時テーブルのメタデータ管理に In-Memory テーブルを使用し、一時テーブルの使用頻度が高いシステムの同時実行性を向上 • 一時テーブルを作成する際に使用されるメタデータ管理用のテーブルをラッチフリー化することで管理データの書き込みの同時実行性を向上 https://docs.microsoft.com/ja-jp/sql/relational-databases/databases/tempdb-database?view=sqlallproducts-allversions#memory-optimized-tempdb-metadata ハイブリッドバッファープール PMEM (Intel Optane DC PMEM) 上のクリーンなデータページについては、メモリにキャッシュしてアクセスをさせるのではなく、 PMEM から直接アクセスを行うことで、高速ストレージとメモリを有効に活用 https://docs.Microsoft.com/ja-jp/sql/database-engine/configure-windows/hybrid-buffer-pool Linux の PMEM サポート PMEM (Intel Optane DC PMEM) 上に配置された、データ / ログファイルに対して完全なエンライトメントを提供 • ファイルシステムとストレージスタックを経由せずに、DAX サポートを活用して、データをデバイスに直接配置し、処理遅延を削減 https://docs.Microsoft.com/ja-jp/sql/database-engine/configure-windows/hybrid-buffer-pool
  12. 12. All SSD vs PMEM  https://twitter.com/SBUCloud/status/1154302767219052545 より 12
  13. 13. Intelligent Query Processing  クエリのパフォーマンスを向上させるため、実行タイミングに適した処理を行う機能  クエリの再コンパイルを発生させなくても、一部の操作を処理対象のデータ件数に応じて最適化  SQL Server 2019 では、Row Mode / Row Store をサポート  2017 では列ストアが必要だったが、行ストアのみの構造で動作 → スキーマ変更を行うことなく対象となるクエリが増加 13 Intelligent QP Adaptive QP Adaptive Joins Batch Mode Interleaved Execution Memory Grant Feedback Batch ModeRow Mode Table Variable Deferred Compilation Batch Mode on Rowstore 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 Adaptive Query Processing Batch Mode Memory Grant Feedback Batch Mode Adaptive Join Interleaved Execution
  14. 14. クエリヒントを使用した互換性レベルの変更方法  OPTION(USE HINT ('QUERY_OPTIMIZER_COMPATIBILITY_LEVEL_150')) を 使用したクエリ単位でオプティマイザーの互換性レベルの変更  通常、互換性レベルは DB 単位の設定であるため、互換性レベルの変更は DB 内の全クエリに対して 影響を与える  クエリヒントを使用することで DB の互換性レベルを変更せず、クエリ単位で互換性レベルを変更した 際の、クエリオプティマイザーへの影響を調査/調整できる  一部の機能の利用 (例: スカラー UDF のインライン化) については、ヒントでの補正ではなく、 DB スコープの互換性レベルの変更が必要  SQL Server 2017 CU10 以降で利用可能なヒント 14 SELECT L_RETURNFLAG, L_LINESTATUS, SUM(L_QUANTITY) AS SUM_QTY, SUM(L_EXTENDEDPRICE) AS SUM_BASE_PRICE, SUM(L_EXTENDEDPRICE*(1-L_DISCOUNT)) AS SUM_DISC_PRICE, SUM(L_EXTENDEDPRICE*(1-L_DISCOUNT)*(1+L_TAX)) AS SUM_CHARGE, AVG(L_QUANTITY) AS AVG_QTY, AVG(L_EXTENDEDPRICE) AS AVG_PRICE, AVG(L_DISCOUNT) AS AVG_DISC, COUNT(*) AS COUNT_ORDER FROM LINEITEM WHERE L_SHIPDATE <= dateadd(dd, -90, cast('1998-12-01' as datetime)) GROUP BY L_RETURNFLAG, L_LINESTATUS ORDER BY L_RETURNFLAG,L_LINESTATUS OPTION(USE HINT ('QUERY_OPTIMIZER_COMPATIBILITY_LEVEL_150')) GO Hints (Transact-SQL) – Query https://docs.microsoft.com/en-us/sql/t-sql/queries/hints-transact-sql-query?view=sql-server-ver15
  15. 15. SQL Server 2019 の最新機能によるデータ課題の解決 PolyBase と Big Data Cluster による データ仮想化 Intelligent Query Processing および インメモリデータベース 可用性グループの機能強化と 高速データベース復旧などの新しい HA 機能 Java による ML Service の機能強化 SQL 1 0 1 0 0 1 0 1 0 1 1 0 R 互換性のある最新のプラットフォームを選択 エンクレーブで常に暗号化されたセキュリティの強化と データの分類による監査機能の強化 暗号化テキスト プレーンテキスト エンクレーブ
  16. 16. プレーンテキスト 暗号化テキスト クライアント ドライバー プレーンテキスト エンクレーブ Always Encrypted with Secure Enclaves セキュリティ機能の強化  暗号化機能 (Always Encrypted) の機能強化  インプレース暗号化により、既存テーブルを移動させることなく 暗号化を実施可能  パターンマッチングは範囲比較など、柔軟な検索が、エンク レーブ内でサポートされ、暗号化と検索の柔軟性のトレード オフを改善  Always Encrypted with Secure Enclaves は、 Windows Server 2019 で利用可能 16 Always Encrypted with Secure Enclaves https://docs.microsoft.com/en-us/sql/relational-databases/security/encryption/always-encrypted-enclaves?view=sqlallproducts-allversions SQL Data Discovery and Classification https://docs.microsoft.com/en-us/sql/relational-databases/security/sql-data-discovery-and-classification?view=sql-server-ver15 操作 エンクレーブを使用しない エンクレーブを使用する ランダム暗号化 決定的暗号化 ランダム暗号化 決定的暗号化 インプレース暗号化 非サポート 非サポート サポート サポート 等価による比較 非サポート サポート サポート サポート 不等号による比較 非サポート 非サポート サポート 非サポート LIKE 非サポート 非サポート サポート 非サポート  データ分類とアセスメント  列に対してラベルセットを付与し、アクセス状況を 監査ログに出力  SSMS でラベルの設定状況のレポートを作成  脆弱性評価機能を使用してセキュリティの 状態を可視化 データ分類とアセスメント
  17. 17. SQL Server 2019 の最新機能によるデータ課題の解決 PolyBase と Big Data Cluster による データ仮想化 Intelligent Query Processing および インメモリデータベース 可用性グループの機能強化と 高速データベース復旧などの新しい HA 機能 Java による ML Service の機能強化 SQL 1 0 1 0 0 1 0 1 0 1 1 0 R 互換性のある最新のプラットフォームを選択 エンクレーブで常に暗号化されたセキュリティの強化と データの分類による監査機能の強化 暗号化テキスト プレーンテキスト エンクレーブ
  18. 18. ミッションクリティカルな可用性  AlwaysOn 可用性グループの機能強化  同期コミットの台数強化 (3 台 → 5 台)  リスナーを使用せず任意のサーバーからプライマリに接続を リダイレクトが可能  再開可能なオンラインインデックス作成  2017 では「再構築」のみ、オンラインで再開可能な操作を サポートしていたが、2019 では「作成」についてもサポート  クラスター化列ストアインデックスのオンライン作成ならびに再構築  2017 では列ストアは非クラスター化のみオンライン操作を サポート  オンラインでメンテナンスが可能な操作が増えることで、 システム停止時間を削減  高速データベースリカバリー (ADR) による、DB 復旧の高速化  ロールバックの高速化  sLog / 永続化バージョンストア / 論理復元によって Undo を行レベルで実行  トランザクションログの積極的な切り捨て 18 オンライン インデックス操作のガイドライン https://docs.microsoft.com/ja-jp/sql/relational-databases/indexes/guidelines-for-online-index-operations Accelerated Database Recovery https://docs.microsoft.com/ja-jp/azure/sql-database/sql-database-accelerated-database-recovery Constant Time Recovery in Azure SQL Database https://www.microsoft.com/en-us/research/publication/constant-time-recovery-in-azure-sql-database/ ログの開始 sLog ログの終了 トランザクションログ 最も古い未コミットの Tx (XACT_BEGIN_LSN) 最後のチェックポイント または最も古い ダーティーページ LSN Phase 1 : 分析 Phase 2 : 再実行 (Redo)Phase 2 : sLog から再実行 (Redo) バージョン管理されていない操作 の ログレコードは sLog にコピー sLog はチェックポイントの 一部として、ディスクで永続化 トランザクションログの この部分のみをスキャン Phase 3 : sLog から元に戻す (Undo)
  19. 19. SQL Server 2019 の最新機能によるデータ課題の解決 PolyBase と Big Data Cluster による データ仮想化 Intelligent Query Processing および インメモリデータベース 可用性グループの機能強化と 高速データベース復旧などの新しい HA 機能 Java による ML Service の機能強化 SQL 1 0 1 0 0 1 0 1 0 1 1 0 R 互換性のある最新のプラットフォームを選択 エンクレーブで常に暗号化されたセキュリティの強化と データの分類による監査機能の強化 暗号化テキスト プレーンテキスト エンクレーブ
  20. 20. 開発者エクスペリエンスの向上 20 SQL Server R • UTF-8 のサポート • 新しい照合順序により char/varchar の UTF-8 対応 • SQL グラフの機能拡張 • エッジ制約 / マージ構文 / 最短パス用関数の追加 • Machine Learning Services の強化 • SQL Server on Linux で ML Services をサポート • 入力データをパーティショニングして機械学習の モデルを訓練 • Windows Failover Cluster のサポート • Java 拡張機能 • ML Services で使用できる言語に Java が追加 • 2016 : R • 2017 : R / Python • 2019 : R / Python / Java • デフォルトでは Zulu Open JRE をインストール • 別の JRE / JDK を利用することも可能 EXEC sp_execute_external_script @language = N'Java' , @script = N'pkg.Ngram.getNGrams' , @input_data_1 = N'SELECT id, text FROM reviews' , @param1 = 3 with result sets ((ID int, ngram varchar(20))) What is SQL Server Language Extensions (preview)? https://docs.microsoft.com/ja-jp/sql/language-extensions/language-extensions-overview Extensibility architecture in SQL Server Language Extensions https://docs.microsoft.com/en-us/sql/language-extensions/concepts/extensibility-framework
  21. 21. SQL Server 2019 の最新機能によるデータ課題の解決 PolyBase と Big Data Cluster による データ仮想化 Intelligent Query Processing および インメモリデータベース 可用性グループの機能強化と 高速データベース復旧などの新しい HA 機能 Java による ML Service の機能強化 SQL 1 0 1 0 0 1 0 1 0 1 1 0 R 互換性のある最新のプラットフォームを選択 エンクレーブで常に暗号化されたセキュリティの強化と データの分類による監査機能の強化 暗号化テキスト プレーンテキスト エンクレーブ

×