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. 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. 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. プラットフォームの選択肢の強化
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. 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. 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. 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. 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
互換性のある最新のプラットフォームを選択
エンクレーブで常に暗号化されたセキュリティの強化と
データの分類による監査機能の強化
暗号化テキスト
プレーンテキスト
エンクレーブ
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. 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
互換性のある最新のプラットフォームを選択
エンクレーブで常に暗号化されたセキュリティの強化と
データの分類による監査機能の強化
暗号化テキスト
プレーンテキスト
エンクレーブ