SlideShare a Scribd company logo
Linux 対応だけじゃない!!
SQL Server 2017 こんな機能が追加されています。
Masayuki Ozawa
(Microsoft MVP for Data Platform)
2017/9/7db tech showcase 2017 Tokyo2
SQL Server 2017 といえば
SQL Server がクロスプラットフォームで動作
db tech showcase 2017 Tokyo3
 Windows だけでなく、Linux / Docker コンテナーでも実行可能
 SQL Server を、開発言語、オンプレミス / クラウド、オペレーティングシステムに
依存することなく利用することが可能に
 プラットフォーム間のデータベースには互換性があり、アタッチ / デタッチ、
バックアップ / リストアで、各プラットフォームにデータベースを移動可能
Linux
Red Hat Enterprise Linux 7.3
SUSE Enterprise Linux Server v12 SP2
Ubuntu 16.04 LTS
Docker
Windows Containers
Linux Containers
Windows
Windows Server 2012
Windows Server 2012 R2
Windows Server 2016
https://docs.microsoft.com/en-us/sql/sql-server/install/hardware-and-software-requirements-for-installing-sql-server
https://docs.microsoft.com/ja-jp/sql/linux/sql-server-linux-setup
2017/9/7
Machine Learning Services in SQL Server
4
 SQL Server 2016 で追加された、SQL Server R サービスの新しい名称
 SQL Server 2016 で R 言語に対応し、SQL Server 2017 では R だけでなく、SQL Server 内で
Python を利用することも可能に
 R または、Python で記述されたスクリプトをクエリから実行することが可能
 GPU に対応した Python のパッケージをスクリプト内で利用することで、GPU を使用したデータ分析を実施することも可能
 Transact-SQL をインタフェースとして、データ分析を行うことができる。
 SQL Server 内で処理を完結することができ、データを外部に出す必要がない。
sp_execute_external_script から
R / Python スクリプトを呼び出し
SQL Server のデータベースのデータをR / Python を使用
してSQL Server 内で直接分析することが可能
※Standard Edition は基本的な ML 機能のみサポート
並列処理が可能な高度な ML 機能と、スタンドアロンの ML サーバーについては、Enterprise Edition のみ利用可能
Microsoft Machine Learning Services
https://docs.microsoft.com/ja-jp/sql/advanced-analytics/r/r-services
2017/9/7db tech showcase 2017 Tokyo
2017/9/7db tech showcase 2017 Tokyo5
これ以外にも様々な機能が
追加されています。
本イベントの SQL Server 関連のセッション
日付 時間 セッションタイトル
9/5 15:30-16:20 C16 Azure SQL Database - Are you ready for the cloud?
9/6 9:30-10:20 D21
ついに Red Hat Enterprise Linuxで SQL Serverが使える!
~Dr. KによるSQL Server 2017 Linux版性能検証速報~
9/6 12:30-13:20 B23 Intelligent Data Platform の全容 – 何がIntelligentなの? -
9/6 15:30-16:20 E26 窓は開かれた! SQL Server on Linux で拡がる可能性
9/6 16:30-17:20 E27 SQL Server 2017で実現されるAI(ディープラーニング)のシステムモデルのご紹介
9/7 10:30-11:20 C32 Patterns for building hybrid scenarios with SQL Server and Azure
9/7 16:30-17:20 E37 AzureでOSS DB/データ処理基盤のPaaSサービスを使ってみよう
2017/9/7db tech showcase 2017 Tokyo6
Community Technical Preview (CTP)
7
 Community Technical Preview (CTP)
• クラスターレス可用性
グループ
• 可用性グループのクロス
プラットフォームサポート
https://docs.microsoft.com/en-us/sql/sql-server/what-s-new-in-sql-server-2017
2017/9/7db tech showcase 2017 Tokyo
Release Candidate (RC : リリース候補版)
8
 Release Candidate (リリース候補版)
 First release candidate of SQL Server 2017 now available
https://blogs.technet.microsoft.com/dataplatforminsider/2017/07/17/first-
release-candidate-of-sql-server-2017-now-available/
https://docs.microsoft.com/en-us/sql/sql-server/what-s-new-in-sql-server-2017
2017/9/7db tech showcase 2017 Tokyo
CTP 1.0 CTP 1.1 CTP 1.2 CTP 1.3 CTP 2.0
データベースエンジン
• 互換性レベル 140 の追加
• 増分統計の更新の閾値の計算方法
の改善 (互換性レベル 140)
• sys.dm_exec_query_statistics_x
ml による、実行中のクエリの実行
プランの取得
• In-Memory OLTP でサポートされ
るクエリの拡充
• クラスター化列ストアインデック
スの LOB 列への対応
• STRING_AGG 関数の追加
• DATABASE SCOPED
CREDENTIAL に対してのセキュリ
ティ保護
• R サービスのパッケージ管理方法
の強化
SSIS
• スケールアウト構成のサポート
データベースエンジン
• メモリ最適化テーブルとネイティ
ブコンパイル関数の機能強化
• 文字列関数 (CONCAT_WS /
TRANSLATE / TRIM) の追加
• 新しい日本語照合順序 (140 /
VSS) のサポート
• BULK INSERT/OPENROWSET の
Azure BLOB ストレージサポート
SSAS
• 表形式モデルの互換性レベル 1400
の追加
• 表形式モデルの互換性レベル
1400 使用時に、Power BI
Desktop / Excel 2016 と同等
のデータ取得のユーザーエクス
ペリエンスの提供
• 不規則な階層の表現に対応
• DAX の機能強化
• テーブルレベルのセキュリティに
対応
データベースエンジン
• Database Tuning Advisor (DTA)
の機能向上
• 列ストアインデックスの
インデックスのアドバイス
• クエリストアを使用した
インデックスのアドバイス
データベースエンジン
• 非クラスター化列ストアインデッ
クスのオンライン作成 / 再構築の
サポート
• テンポラルテーブルの保持期間
ポリシーのサポート
• 間接チェックポイントの性能改善
• sys.dm_db_stats_histogram に
よる、統計情報のヒストグラムの
取得
SSAS
• 表形式モデルのデータリフレッ
シュ処理を最適化するための
エンコードヒントの追加
データベースエンジン
• IDENTITY_CACHE オプション
• CLR の厳格なセキュリティ
• クエリストアによる待機情報の
統計の取得
• sys.dm_db_file_space_usage に
変更されたエクステント追跡用の列
の追加
• SELECT INTO でのデータ追加時に
ファイルグループを指定可能
• sys.dm_tran_version_store_space
_usage / sys.dm_db_log_info の追
加
• sys.dm_os_sysinfo の CPU 情報の
追加
SSAS
• 表形式モデルのメタデータを
オブジェクトレベルで保護
• 表形式モデルを使用した場合、
Power BI フィールドリストから
階層と列を再利用可能
• 日付フィールドを使用した日付
リレーションの簡単に作成可能
• インストールの初期設定が
「表形式モデル」に変更
• 互換性レベル 1400 の表形式
モデルのダイレクトクエリデータ
ソースの M クエリのサポート
• SSDT の DAX エディタのサポート
CTP / RC の基本機能の強化 (1/2)
9 db tech showcase 2017 Tokyo 2017/9/7
CTP / RC の基本機能の強化 (2/2)
10
CTP 2.1 RC1 RC2
データベースエンジン
• sys.dm_db_log_stats の追加
• SQL Server on Docker で
使用できる環境変数の追加
• mssql-scripter ツールの追加
• DBFS ツールの追加
データベースエンジン
• CLR の厳格なセキュリティに
ホワイトリスト機能の追加
SSAS
• 互換性モデル 1200 / 1400 の
表形式モデルの DMV の改善
• Bug Fix とパフォーマンス改善
What's New in Integration Services in SQL Server 2017
https://docs.microsoft.com/ja-jp/sql/integration-services/what-s-new-in-integration-services-in-sql-server-2017
What's new in SQL Server Analysis Services 2017
https://docs.microsoft.com/ja-jp/sql/analysis-services/what-s-new-in-sql-server-analysis-services-2017
What's New in Machine Learning Services in SQL Server
https://docs.microsoft.com/ja-jp/sql/advanced-analytics/what-s-new-in-sql-server-machine-learning-services
What's New in SQL Server 2017 (Database Engine)
https://docs.microsoft.com/ja-jp/sql/database-engine/configure-windows/what-s-new-in-sql-server-2017-database-engine
What's new in SQL Server Reporting Services (SSRS)
https://docs.microsoft.com/en-us/sql/reporting-services/what-s-new-in-sql-server-reporting-services-ssrs
Editions and supported features of SQL Server 2017
https://docs.microsoft.com/en-us/sql/sql-server/editions-and-components-of-sql-server-2017
2017/9/7db tech showcase 2017 Tokyo
エディションと機能
2017/9/7db tech showcase 2017 Tokyo11
 エディションと機能については次の情報を参照
 SQL Server 2017 の各エディションとサポートされている機能
https://docs.microsoft.com/ja-jp/sql/sql-server/editions-and-
components-of-sql-server-2017
 2017/8 時点の情報では次のエディションが提供される予定
 Enterprise
 Standard
 Web
 Developer
 Express Edition
文字列関数
2017/9/7db tech showcase 2017 Tokyo12
追加された文字列関数
13
 STRING_AGG
 特定の区切り文字で、式として与えた文字を連結
https://msdn.microsoft.com/ja-jp/library/mt790580.aspx
SELECT STRING_AGG(C1, ',') FROM (VALUES(1,2),(2,1),(3,1)) AS T1(C1, C2)
→ 結果 : 1,2,3
 CONCAT_WS
 特定の区切り文字で、引数に指定した文字列を連結
https://msdn.microsoft.com/ja-jp/library/mt775030.aspx
SELECT CONCAT_WS( ' - ', 'A', 'B', 'C')
→ 結果 : A - B - C
 TRANSLATE
 指定した文字列で置換を実施
https://msdn.microsoft.com/ja-jp/library/mt775084.aspx
SELECT TRANSLATE('2*[3+4]/{7-2}', '[]{}', '()()')
→ 結果 : 2*(3+4)/(7-2)
 TRIM
 先頭 / 末尾から空白文字を削除
https://msdn.microsoft.com/ja-jp/library/mt775029.aspx
SELECT TRIM( ' test ')
→ 結果 : test
2017/9/7db tech showcase 2017 Tokyo
クラウド連携
(Azure ストレージとの連携強化)
2017/9/7db tech showcase 2017 Tokyo14
Azure BLOB ストレージとの連携
15
 BULK INSERT / OPENROWSET 使用するデータとして、Azure BLOB ストレージに
あるファイルを使用することができる
 BLOB ストレージ上にあるファイルを、ファイルの直接インポートや、SQL によるファイル
へのアクセスを行うことができる
 OPENROWSET + JSON 関数を組み合わせることで、BLOB ストレージに保存されている JSON 形式の
ファイルの内容をテーブルとして利用することも可能
 Polybase と異なり、単一ファイルを対象として処理を実行
Azure ストレージの
接続情報
Examples of Bulk Access to Data in Azure Blob Storage
https://docs.microsoft.com/en-us/sql/relational-databases/import-export/examples-of-bulk-access-to-data-in-azure-blob-storage
2017/9/7db tech showcase 2017 Tokyo
グラフデータベース
(グラフテーブル)
2017/9/7db tech showcase 2017 Tokyo16
グラフデータベース
17
 データとデータをリンクさせることで、データ間の関連性を表現することが可能
 多対多のリレーショナルシップを表現することができる
 不正の検出 (正しい経路 (パターン) によるアクセス) / ソーシャルグラフ (人の結びつき) 等のデータ表すことができ、
データの相互関係を分析することができる
 ノード (頂点) とエッジ (関係) テーブルを作成し、ノード間のレコードのつながりをエッジで表現
 SQL エンジンに統合されており、SQL によりテーブルの操作としてデータを取り扱うことができる
Graph processing with SQL Server 2017
https://docs.microsoft.com/en-us/sql/relational-databases/graphs/sql-graph-overview
2017/9/7db tech showcase 2017 Tokyo
クエリの最適化
2017/9/7db tech showcase 2017 Tokyo18
クエリ実行の動的な最適化
19
 Adaptive Query Processing
 実行タイミングの処理対象に適応した形で、クエリの実行プランを自動的に最適化
(互換性レベル 140 の設定が必要)
2017/9/7db tech showcase 2017 Tokyo
Microsoft SQL データベースでのアダプティブ クエリの処理
https://docs.microsoft.com/ja-jp/sql/relational-databases/performance/adaptive-query-processing
DMV から自動チューニングの推奨状況を取得
自動チューニング
20
 SQL Server 2016
 クエリストアの情報から、実行プランの変化により実行効率が低下したクエリを確認し、過去に実行された
効率の良い実行プランを使用するプランの強制をデータベース管理者が手動で実施
 SQL Server 2017
 自動チューニングを有効にすることで、実行プランの変化による実行効率の低下を自動的に検知し、過去に実行
された実行プランから効率の良い実行プランを使用するように「自動的な実行プランの強制」を設定可能
 ALTER DATABASE current SET AUTOMATIC_TUNING ( FORCE_LAST_GOOD_PLAN = ON );
過去に実行された効率の良い実行プランを強制Automatic tuning
https://docs.microsoft.com/ja-jp/sql/relational-databases/automatic-tuning/automatic-tuning
sys.dm_db_tuning_recommendations (Transact-SQL)
https://docs.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-db-tuning-recommendations-transact-sql
2017/9/7db tech showcase 2017 Tokyo
インデックスメンテナンスの
新しい手法
2017/9/7db tech showcase 2017 Tokyo21
従来までのインデックスのメンテナンス
22
 従来のインデックスのメンテナンス (断片化の解消) は、以下の動作となる
 SQL Server 2016 までは、「インデックスの再構築」を途中でキャンセルした場合、それまで
実施された最適化処理は無効となり、次に最適化処理を実施した場合は、最初から処理を実施
再構成 (REORGANIZE) 再構築 (REBUILD)
処理対象 インデックスのリーフノード インデックス全体
処理中のアクセス インデックスにアクセス可能
(オンライン操作によるメンテナンス)
インデックスにアクセス不可
(オフライン操作によるメンテナンス)
Enterprise Edition の場合はオンラインでメンテナンス可能
処理の途中で
キャンセル
キャンセルまでに実施された最適化の処理は有効 キャンセルまでに実施された最適化の処理は無効 (ロールバック)
最後まで完了しないと最適化されない
処理時間 断片化が進んでいると処理時間に影響がある 断片化が進んでいて処理時間に影響は少ない
2017/9/7db tech showcase 2017 Tokyo
再開可能なインデックスのオンライン再構築
23
 SQL Server 2017 は、インデックスのオンライン再構築の実施時に中断することが可能
 インデックスの再構築が特定の時間帯に完了しない場合は、一度中断し、次回のメンテナンス時間に再
構築を、前回の続きから再開するという、運用を実施することが可能
 ALTER INDEX <インデックス名> ON <テーブル名> REBUILD
WITH(ONLINE = ON, RESUMABLE = ON)
 再構築しているインデックスに対して、RESUME / PAUSE / ABORT の操作が可能
 インデックスのメンテナンス状況については、「sys.index_resumable_operations」で取得
Resumable Index Rebuild Considerations
https://docs.microsoft.com/ja-jp/sql/relational-databases/indexes/guidelines-for-online-index-operations#resumable-index-rebuild-considerations
2017/9/7db tech showcase 2017 Tokyo
AlwaysOn 可用性グループの新機能
2017/9/7db tech showcase 2017 Tokyo24
参考) AlwaysOn 可用性グループ
25
 SQL Server 2012 から追加された、SQL Server 間のデータ同期、自動フェールオーバーにより、DB
の可用性を高めるための機能
 ローカルのデータベース間でデータ同期をし、共有ディスクは不要
 可用性グループリスナーと呼ばれるアクセスポイントによる透過的にプライマリレプリカに接続
 セカンダリを読み取りレプリカとして使用でき、リスナーを介した読み取りレプリカへの接続も可能
プライマリレプリカ
ログキャッシュ
ログファイル
コミット
ログ
フラッシュ
ログキャプチャ
セカンダリレプリカ
データファイル
バッファキャッシュ
チェック
ポイント
ログ適用
ログキャッシュ
ログファイル データファイル
Redo キャッシュ
Redo スレッド
コミット
応答
ログプール
Redo
ログ
再実行
リスナーに接続することで
透過的にプライマリに接続
可用性グループ
2017/9/7db tech showcase 2017 Tokyo
AlwaysOn 可用性グループ
2017/9/7db tech showcase 2017 Tokyo26
Version 機能
2012 • Enterprise Edition でのみ利用可能
• 1 台のプライマリレプリカと 4 台のセカンダリレプリカ
• 3 台で同期レプリカを設定可能
• 同期レプリカの中で自動フェールオーバーを 2 台で設定可能
• 接続順を指定し、レプリカに読み取りのアクセス
• 複数データベースにまたがるトランザクションはサポートされない
2014 • 8 台のセカンダリレプリカ
• プライマリレプリカから切断 / クォーラムが存在しない状態でもセカンダリレプリカにアクセスが可能
2016
AlwaysOn 可用性グループ
2017/9/7db tech showcase 2017 Tokyo27
Version 機能
2017 • 同一インスタンスの分散トランザクションのサポート
• 可用性グループの再作成が不要な分散トランザクションサポートの設定変更
• クロスプラットフォーム (Windows / Linux) の可用性グループのサポート
• WSFC 以外のクラスタータイプのサポート (EXTERNAL / NONE)
• 同期コミット利用時に必要となる最小のセカンダリレプリカ数が設定可能
CREATE AVAILABILITY GROUP (Transact-SQL)
https://docs.microsoft.com/en-us/sql/t-sql/statements/create-availability-group-transact-sql
分散トランザクション対応の可用性グループを構成する
https://docs.microsoft.com/ja-jp/sql/database-engine/availability-groups/windows/configure-availability-group-for-distributed-transactions
トランザクション - 可用性グループとデータベース ミラーリング
https://docs.Microsoft.com/ja-jp/sql/database-engine/availability-groups/windows/transactions-always-on-availability-and-database-mirroring
SQL Server on Linux の読み取りのスケール アウト可用性グループを構成します。
https://docs.microsoft.com/ja-jp/sql/linux/sql-server-linux-availability-group-configure-rs
可用性グループの構成の高可用性とデータの保護
https://docs.microsoft.com/ja-jp/sql/linux/sql-server-linux-availability-group-ha
3 種類のクラスタータイプ
2017/9/7db tech showcase 2017 Tokyo28
 SQL Server 2017 では、次の 3 種類を利用可能
 CLUSTER_TYPE = { WSFC | EXTERNAL | NONE }
CREATE AVAILABILITY GROUP (Transact-SQL)
https://docs.microsoft.com/en-us/sql/t-sql/statements/create-availability-group-transact-sql
WSFC EXTERNAL NONE
• 従来から使用されていたタイプ
• Windows Server Failover
Cluster (WSFC) をクラスター
マネージャーとして利用
• Windows でのみ使用可能
• Windows Server Failover
Cluster (WSFC) 以外を、クラ
スターマネージャー (Linux の
Pacemaker) として利用
• Linux で可用性グループを使用
する場合、EXTERNAL を設定
• クラスタマネージャーで管理を
行わない場合に指定
• クラスターレスの可用性グルー
プを使用する場合 NONE を設定
• 同一の可用性グループに異なる
OS (Windows / Linux) を含め
る場合にも利用
SQL Server 2017 の可用性グループ
29
 クラスター (WSFC / Pacemaker) を構築せずに、可用性グループを利用可能
 Windows Server 2016 で、ワークグループクラスター (クラスターのための AD が不要) を使用することができたが、クラス
ター (WSFC) を構築する必要があった
 SQL Server 2017 では「クラスターを構築せず」可用性グループを利用可能
 クラスターレスの可用性グループは、監視用のリソースを作成しない構成 のため、自動フェールオーバーによる
障害発生時の自動的な切り替えを行うことができない
 読み取りのサーバーのスケールアウトや、データの複製をシンプルな構成/設定で構築が可能
 必要となる最小のレプリカのコミット数の設定 (REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT)
により、稼働しているサーバー数の調整が可能
 同期コミット使用時に、最新の情報となっている必要のあるセカンダリレプリカの台数を調整することで、起動している
サーバーの台数を設定
REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT = 1 の場合
プライマリレプリカの他に 1 台の同期コミットの
Configure read-scale availability group for SQL Server on Linux
https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-availability-group-configure-rs
2017/9/7db tech showcase 2017 Tokyo
クロスプラットフォームの可用性グループの利用例
30
 可用性グループを使用し、異なる OS 間でデータを同期
 分散型可用性グループ / クラスターレス可用性グループを使用したデータ同期
 以下のようなユースケースで利用することができる
 移行やテストのために Windows から Linux にデータを移行
 ダウンタイムを最小限に抑えた、クロスプラットフォームの移行
Setting up SQL Server High-Availability between Windows and Linux with SQL Server 2017
https://channel9.msdn.com/Shows/Data-Exposed/Setting-up-SQL-Server-High-Availability-between-Windows-and-Linux-with-SQL-Server-2017
2017/9/7db tech showcase 2017 Tokyo

More Related Content

What's hot (20)

PDF
Sql server 2012 の新機能を 3 つの視点でご紹介(大阪版)
Masayuki Ozawa
 
PDF
SQL Server 2008/2008 R2/ 2012(/ 2014) 新機能
Koichiro Sasaki
 
PDF
[db tech showcase Tokyo 2017] D21: ついに Red Hat Enterprise Linuxで SQL Serverが使...
Insight Technology, Inc.
 
PPTX
SQL Server 入門
Tsuyoshi Kitagawa
 
PDF
Sql server エンジニアに知ってもらいたい!! sql server チューニングアプローチ
Masayuki Ozawa
 
PDF
[db tech showcase Tokyo 2017] E26: 窓は開かれた! SQL Server on Linux で拡がる可能性 by 日本マ...
Insight Technology, Inc.
 
PDF
Data Scientists Love SQL Server
Tomoyuki Oota
 
PDF
Sql server よく聞く設定とその効果
Masayuki Ozawa
 
PDF
Sql server 2016 always on 可用性グループ new features
Masayuki Ozawa
 
PPTX
DBA から開発者への情報提供
Masayuki Ozawa
 
PDF
[DB tech showcase Tokyo 2015] B37 :オンプレミスからAWS上のSAP HANAまで高信頼DBシステム構築にHAクラスタリ...
Funada Yasunobu
 
PDF
[db tech showcase Tokyo 2017] E34: データベース・サービスを好きなところで動かそう Db2 Warehouse by 日...
Insight Technology, Inc.
 
PPTX
DBTS2015_B35_SQLServer2016
Tsuyoshi Kitagawa
 
PDF
db tech showcase 2019 SQL Database Hyperscale 徹底分析 - 最新アーキテクチャの特徴を理解する
Masayuki Ozawa
 
PDF
C11,12 SQL Server 2012 Performance Tuning by Yukio Kumazawa
Insight Technology, Inc.
 
PDF
SQL Server エンジニア のための コンテナ入門
Tomoyuki Oota
 
PDF
オンプレのDbaがazureのデータベースを使ってみた
Masayuki Ozawa
 
PDF
[db tech showcase Tokyo 2015] C27:楽天MySQL Backup Structure by 楽天株式会社 粟田啓介
Insight Technology, Inc.
 
PDF
C13 SQL Server2012知られざるTips集 by 平山理
Insight Technology, Inc.
 
PDF
Sql server 構築 運用 tips
Masayuki Ozawa
 
Sql server 2012 の新機能を 3 つの視点でご紹介(大阪版)
Masayuki Ozawa
 
SQL Server 2008/2008 R2/ 2012(/ 2014) 新機能
Koichiro Sasaki
 
[db tech showcase Tokyo 2017] D21: ついに Red Hat Enterprise Linuxで SQL Serverが使...
Insight Technology, Inc.
 
SQL Server 入門
Tsuyoshi Kitagawa
 
Sql server エンジニアに知ってもらいたい!! sql server チューニングアプローチ
Masayuki Ozawa
 
[db tech showcase Tokyo 2017] E26: 窓は開かれた! SQL Server on Linux で拡がる可能性 by 日本マ...
Insight Technology, Inc.
 
Data Scientists Love SQL Server
Tomoyuki Oota
 
Sql server よく聞く設定とその効果
Masayuki Ozawa
 
Sql server 2016 always on 可用性グループ new features
Masayuki Ozawa
 
DBA から開発者への情報提供
Masayuki Ozawa
 
[DB tech showcase Tokyo 2015] B37 :オンプレミスからAWS上のSAP HANAまで高信頼DBシステム構築にHAクラスタリ...
Funada Yasunobu
 
[db tech showcase Tokyo 2017] E34: データベース・サービスを好きなところで動かそう Db2 Warehouse by 日...
Insight Technology, Inc.
 
DBTS2015_B35_SQLServer2016
Tsuyoshi Kitagawa
 
db tech showcase 2019 SQL Database Hyperscale 徹底分析 - 最新アーキテクチャの特徴を理解する
Masayuki Ozawa
 
C11,12 SQL Server 2012 Performance Tuning by Yukio Kumazawa
Insight Technology, Inc.
 
SQL Server エンジニア のための コンテナ入門
Tomoyuki Oota
 
オンプレのDbaがazureのデータベースを使ってみた
Masayuki Ozawa
 
[db tech showcase Tokyo 2015] C27:楽天MySQL Backup Structure by 楽天株式会社 粟田啓介
Insight Technology, Inc.
 
C13 SQL Server2012知られざるTips集 by 平山理
Insight Technology, Inc.
 
Sql server 構築 運用 tips
Masayuki Ozawa
 

Similar to Linux 対応だけじゃない!! sql server 2017 こんな機能が追加されています。 (20)

PPTX
GA直前!SQL Server 2017 Linux 版の深イイ話
Miho Yamamoto
 
PDF
[Japan Tech summit 2017] DAL 001
Microsoft Tech Summit 2017
 
PDF
Dat004 開発者に捧ぐ「sql server_2016_
Tech Summit 2016
 
PPTX
Microsoft Ignite 2019 最新アップデート - Azure Big Data Services を俯瞰的に眺める
Daiyu Hatakeyama
 
PPTX
SQL Server 2019 とともに知る Microsoft Data Platform
Daiyu Hatakeyama
 
PDF
[db tech showcase Tokyo 2015] D33:Superdome X 上の SQL Server 2014 OLTP 検証結果と S...
Insight Technology, Inc.
 
PPTX
第29回 SQL Server 勉強会 (JSSUG) - Azure Synapse Analytics 概要
Daiyu Hatakeyama
 
PDF
DBP-009_クラウドで実現するスケーラブルなデータ ウェアハウス Azure SQL Data Warehouse 解説
decode2016
 
PDF
SQL Azure のシームレスな管理
junichi anno
 
PPTX
DB TechShowcase Tokyo - Intelligent Data Platform
Daiyu Hatakeyama
 
PDF
iOS/Androidにも対応した SQL Anywhere 12の魅力
nisobe58
 
PDF
C25 SQL Server 2012 概要と Microsoft の Self-Service BI by Tsuyosi Kitagawa
Insight Technology, Inc.
 
PDF
[db tech showcase Tokyo 2014] D21: Postgres Plus Advanced Serverはここが使える&9.4新機...
Insight Technology, Inc.
 
PDF
性能問題を起こしにくい信頼されるクラウド RDB のつくりかた
Tomoyuki Oota
 
PPTX
現場ではこう使った~Office 365 と Azure Functions、Azure Data Factory、Azure SQL Database,...
Masayuki Ota
 
PDF
Share pointを支えるsql server2014最新情報 tokyo_公開用
Yukio Kumazawa
 
PDF
PostgreSQL 9.5 新機能紹介
NTT DATA OSS Professional Services
 
PDF
SQL Server/SQL Database の新機能のお話し
Insight Technology, Inc.
 
PPTX
Sql server2014復習とsqlserver2016の紹介
Oda Shinsuke
 
GA直前!SQL Server 2017 Linux 版の深イイ話
Miho Yamamoto
 
[Japan Tech summit 2017] DAL 001
Microsoft Tech Summit 2017
 
Dat004 開発者に捧ぐ「sql server_2016_
Tech Summit 2016
 
Microsoft Ignite 2019 最新アップデート - Azure Big Data Services を俯瞰的に眺める
Daiyu Hatakeyama
 
SQL Server 2019 とともに知る Microsoft Data Platform
Daiyu Hatakeyama
 
[db tech showcase Tokyo 2015] D33:Superdome X 上の SQL Server 2014 OLTP 検証結果と S...
Insight Technology, Inc.
 
第29回 SQL Server 勉強会 (JSSUG) - Azure Synapse Analytics 概要
Daiyu Hatakeyama
 
DBP-009_クラウドで実現するスケーラブルなデータ ウェアハウス Azure SQL Data Warehouse 解説
decode2016
 
SQL Azure のシームレスな管理
junichi anno
 
DB TechShowcase Tokyo - Intelligent Data Platform
Daiyu Hatakeyama
 
iOS/Androidにも対応した SQL Anywhere 12の魅力
nisobe58
 
C25 SQL Server 2012 概要と Microsoft の Self-Service BI by Tsuyosi Kitagawa
Insight Technology, Inc.
 
[db tech showcase Tokyo 2014] D21: Postgres Plus Advanced Serverはここが使える&9.4新機...
Insight Technology, Inc.
 
性能問題を起こしにくい信頼されるクラウド RDB のつくりかた
Tomoyuki Oota
 
現場ではこう使った~Office 365 と Azure Functions、Azure Data Factory、Azure SQL Database,...
Masayuki Ota
 
Share pointを支えるsql server2014最新情報 tokyo_公開用
Yukio Kumazawa
 
PostgreSQL 9.5 新機能紹介
NTT DATA OSS Professional Services
 
SQL Server/SQL Database の新機能のお話し
Insight Technology, Inc.
 
Sql server2014復習とsqlserver2016の紹介
Oda Shinsuke
 
Ad

More from Masayuki Ozawa (17)

PDF
Power apps formula cheat sheet
Masayuki Ozawa
 
PDF
K8s install (single cluster)
Masayuki Ozawa
 
PDF
Pacemaker 操作方法メモ
Masayuki Ozawa
 
PPTX
Sql server 運用 101
Masayuki Ozawa
 
PPTX
ここからはじめる SQL Server の状態取得
Masayuki Ozawa
 
PDF
SQL Server パフォーマンスカウンター
Masayuki Ozawa
 
PDF
SQL Server 簡易診断サービス ご紹介資料
Masayuki Ozawa
 
PDF
SQL Server 現状診断サービス ご紹介資料
Masayuki Ozawa
 
PDF
A25 sql server data page structure deep dive
Masayuki Ozawa
 
PDF
待ち事象から考える、Sql server の改善ポイント
Masayuki Ozawa
 
PDF
Data consistency 入門 data partitioning ガイダンス
Masayuki Ozawa
 
PDF
Sql server data store data access internals
Masayuki Ozawa
 
PDF
Always on 可用性グループ 構築時のポイント
Masayuki Ozawa
 
PDF
Oracle と sql server 比べてみよう (sql server)
Masayuki Ozawa
 
PDF
Sql database 基本構成と直近で追加されていた機能の紹介
Masayuki Ozawa
 
PDF
和牛をおいしく食べるには
Masayuki Ozawa
 
PDF
Sql serverデータアクセスの基本動作。荒ぶった方法で確認してみよう
Masayuki Ozawa
 
Power apps formula cheat sheet
Masayuki Ozawa
 
K8s install (single cluster)
Masayuki Ozawa
 
Pacemaker 操作方法メモ
Masayuki Ozawa
 
Sql server 運用 101
Masayuki Ozawa
 
ここからはじめる SQL Server の状態取得
Masayuki Ozawa
 
SQL Server パフォーマンスカウンター
Masayuki Ozawa
 
SQL Server 簡易診断サービス ご紹介資料
Masayuki Ozawa
 
SQL Server 現状診断サービス ご紹介資料
Masayuki Ozawa
 
A25 sql server data page structure deep dive
Masayuki Ozawa
 
待ち事象から考える、Sql server の改善ポイント
Masayuki Ozawa
 
Data consistency 入門 data partitioning ガイダンス
Masayuki Ozawa
 
Sql server data store data access internals
Masayuki Ozawa
 
Always on 可用性グループ 構築時のポイント
Masayuki Ozawa
 
Oracle と sql server 比べてみよう (sql server)
Masayuki Ozawa
 
Sql database 基本構成と直近で追加されていた機能の紹介
Masayuki Ozawa
 
和牛をおいしく食べるには
Masayuki Ozawa
 
Sql serverデータアクセスの基本動作。荒ぶった方法で確認してみよう
Masayuki Ozawa
 
Ad

Linux 対応だけじゃない!! sql server 2017 こんな機能が追加されています。

  • 1. Linux 対応だけじゃない!! SQL Server 2017 こんな機能が追加されています。 Masayuki Ozawa (Microsoft MVP for Data Platform)
  • 2. 2017/9/7db tech showcase 2017 Tokyo2 SQL Server 2017 といえば
  • 3. SQL Server がクロスプラットフォームで動作 db tech showcase 2017 Tokyo3  Windows だけでなく、Linux / Docker コンテナーでも実行可能  SQL Server を、開発言語、オンプレミス / クラウド、オペレーティングシステムに 依存することなく利用することが可能に  プラットフォーム間のデータベースには互換性があり、アタッチ / デタッチ、 バックアップ / リストアで、各プラットフォームにデータベースを移動可能 Linux Red Hat Enterprise Linux 7.3 SUSE Enterprise Linux Server v12 SP2 Ubuntu 16.04 LTS Docker Windows Containers Linux Containers Windows Windows Server 2012 Windows Server 2012 R2 Windows Server 2016 https://docs.microsoft.com/en-us/sql/sql-server/install/hardware-and-software-requirements-for-installing-sql-server https://docs.microsoft.com/ja-jp/sql/linux/sql-server-linux-setup 2017/9/7
  • 4. Machine Learning Services in SQL Server 4  SQL Server 2016 で追加された、SQL Server R サービスの新しい名称  SQL Server 2016 で R 言語に対応し、SQL Server 2017 では R だけでなく、SQL Server 内で Python を利用することも可能に  R または、Python で記述されたスクリプトをクエリから実行することが可能  GPU に対応した Python のパッケージをスクリプト内で利用することで、GPU を使用したデータ分析を実施することも可能  Transact-SQL をインタフェースとして、データ分析を行うことができる。  SQL Server 内で処理を完結することができ、データを外部に出す必要がない。 sp_execute_external_script から R / Python スクリプトを呼び出し SQL Server のデータベースのデータをR / Python を使用 してSQL Server 内で直接分析することが可能 ※Standard Edition は基本的な ML 機能のみサポート 並列処理が可能な高度な ML 機能と、スタンドアロンの ML サーバーについては、Enterprise Edition のみ利用可能 Microsoft Machine Learning Services https://docs.microsoft.com/ja-jp/sql/advanced-analytics/r/r-services 2017/9/7db tech showcase 2017 Tokyo
  • 5. 2017/9/7db tech showcase 2017 Tokyo5 これ以外にも様々な機能が 追加されています。
  • 6. 本イベントの SQL Server 関連のセッション 日付 時間 セッションタイトル 9/5 15:30-16:20 C16 Azure SQL Database - Are you ready for the cloud? 9/6 9:30-10:20 D21 ついに Red Hat Enterprise Linuxで SQL Serverが使える! ~Dr. KによるSQL Server 2017 Linux版性能検証速報~ 9/6 12:30-13:20 B23 Intelligent Data Platform の全容 – 何がIntelligentなの? - 9/6 15:30-16:20 E26 窓は開かれた! SQL Server on Linux で拡がる可能性 9/6 16:30-17:20 E27 SQL Server 2017で実現されるAI(ディープラーニング)のシステムモデルのご紹介 9/7 10:30-11:20 C32 Patterns for building hybrid scenarios with SQL Server and Azure 9/7 16:30-17:20 E37 AzureでOSS DB/データ処理基盤のPaaSサービスを使ってみよう 2017/9/7db tech showcase 2017 Tokyo6
  • 7. Community Technical Preview (CTP) 7  Community Technical Preview (CTP) • クラスターレス可用性 グループ • 可用性グループのクロス プラットフォームサポート https://docs.microsoft.com/en-us/sql/sql-server/what-s-new-in-sql-server-2017 2017/9/7db tech showcase 2017 Tokyo
  • 8. Release Candidate (RC : リリース候補版) 8  Release Candidate (リリース候補版)  First release candidate of SQL Server 2017 now available https://blogs.technet.microsoft.com/dataplatforminsider/2017/07/17/first- release-candidate-of-sql-server-2017-now-available/ https://docs.microsoft.com/en-us/sql/sql-server/what-s-new-in-sql-server-2017 2017/9/7db tech showcase 2017 Tokyo
  • 9. CTP 1.0 CTP 1.1 CTP 1.2 CTP 1.3 CTP 2.0 データベースエンジン • 互換性レベル 140 の追加 • 増分統計の更新の閾値の計算方法 の改善 (互換性レベル 140) • sys.dm_exec_query_statistics_x ml による、実行中のクエリの実行 プランの取得 • In-Memory OLTP でサポートされ るクエリの拡充 • クラスター化列ストアインデック スの LOB 列への対応 • STRING_AGG 関数の追加 • DATABASE SCOPED CREDENTIAL に対してのセキュリ ティ保護 • R サービスのパッケージ管理方法 の強化 SSIS • スケールアウト構成のサポート データベースエンジン • メモリ最適化テーブルとネイティ ブコンパイル関数の機能強化 • 文字列関数 (CONCAT_WS / TRANSLATE / TRIM) の追加 • 新しい日本語照合順序 (140 / VSS) のサポート • BULK INSERT/OPENROWSET の Azure BLOB ストレージサポート SSAS • 表形式モデルの互換性レベル 1400 の追加 • 表形式モデルの互換性レベル 1400 使用時に、Power BI Desktop / Excel 2016 と同等 のデータ取得のユーザーエクス ペリエンスの提供 • 不規則な階層の表現に対応 • DAX の機能強化 • テーブルレベルのセキュリティに 対応 データベースエンジン • Database Tuning Advisor (DTA) の機能向上 • 列ストアインデックスの インデックスのアドバイス • クエリストアを使用した インデックスのアドバイス データベースエンジン • 非クラスター化列ストアインデッ クスのオンライン作成 / 再構築の サポート • テンポラルテーブルの保持期間 ポリシーのサポート • 間接チェックポイントの性能改善 • sys.dm_db_stats_histogram に よる、統計情報のヒストグラムの 取得 SSAS • 表形式モデルのデータリフレッ シュ処理を最適化するための エンコードヒントの追加 データベースエンジン • IDENTITY_CACHE オプション • CLR の厳格なセキュリティ • クエリストアによる待機情報の 統計の取得 • sys.dm_db_file_space_usage に 変更されたエクステント追跡用の列 の追加 • SELECT INTO でのデータ追加時に ファイルグループを指定可能 • sys.dm_tran_version_store_space _usage / sys.dm_db_log_info の追 加 • sys.dm_os_sysinfo の CPU 情報の 追加 SSAS • 表形式モデルのメタデータを オブジェクトレベルで保護 • 表形式モデルを使用した場合、 Power BI フィールドリストから 階層と列を再利用可能 • 日付フィールドを使用した日付 リレーションの簡単に作成可能 • インストールの初期設定が 「表形式モデル」に変更 • 互換性レベル 1400 の表形式 モデルのダイレクトクエリデータ ソースの M クエリのサポート • SSDT の DAX エディタのサポート CTP / RC の基本機能の強化 (1/2) 9 db tech showcase 2017 Tokyo 2017/9/7
  • 10. CTP / RC の基本機能の強化 (2/2) 10 CTP 2.1 RC1 RC2 データベースエンジン • sys.dm_db_log_stats の追加 • SQL Server on Docker で 使用できる環境変数の追加 • mssql-scripter ツールの追加 • DBFS ツールの追加 データベースエンジン • CLR の厳格なセキュリティに ホワイトリスト機能の追加 SSAS • 互換性モデル 1200 / 1400 の 表形式モデルの DMV の改善 • Bug Fix とパフォーマンス改善 What's New in Integration Services in SQL Server 2017 https://docs.microsoft.com/ja-jp/sql/integration-services/what-s-new-in-integration-services-in-sql-server-2017 What's new in SQL Server Analysis Services 2017 https://docs.microsoft.com/ja-jp/sql/analysis-services/what-s-new-in-sql-server-analysis-services-2017 What's New in Machine Learning Services in SQL Server https://docs.microsoft.com/ja-jp/sql/advanced-analytics/what-s-new-in-sql-server-machine-learning-services What's New in SQL Server 2017 (Database Engine) https://docs.microsoft.com/ja-jp/sql/database-engine/configure-windows/what-s-new-in-sql-server-2017-database-engine What's new in SQL Server Reporting Services (SSRS) https://docs.microsoft.com/en-us/sql/reporting-services/what-s-new-in-sql-server-reporting-services-ssrs Editions and supported features of SQL Server 2017 https://docs.microsoft.com/en-us/sql/sql-server/editions-and-components-of-sql-server-2017 2017/9/7db tech showcase 2017 Tokyo
  • 11. エディションと機能 2017/9/7db tech showcase 2017 Tokyo11  エディションと機能については次の情報を参照  SQL Server 2017 の各エディションとサポートされている機能 https://docs.microsoft.com/ja-jp/sql/sql-server/editions-and- components-of-sql-server-2017  2017/8 時点の情報では次のエディションが提供される予定  Enterprise  Standard  Web  Developer  Express Edition
  • 13. 追加された文字列関数 13  STRING_AGG  特定の区切り文字で、式として与えた文字を連結 https://msdn.microsoft.com/ja-jp/library/mt790580.aspx SELECT STRING_AGG(C1, ',') FROM (VALUES(1,2),(2,1),(3,1)) AS T1(C1, C2) → 結果 : 1,2,3  CONCAT_WS  特定の区切り文字で、引数に指定した文字列を連結 https://msdn.microsoft.com/ja-jp/library/mt775030.aspx SELECT CONCAT_WS( ' - ', 'A', 'B', 'C') → 結果 : A - B - C  TRANSLATE  指定した文字列で置換を実施 https://msdn.microsoft.com/ja-jp/library/mt775084.aspx SELECT TRANSLATE('2*[3+4]/{7-2}', '[]{}', '()()') → 結果 : 2*(3+4)/(7-2)  TRIM  先頭 / 末尾から空白文字を削除 https://msdn.microsoft.com/ja-jp/library/mt775029.aspx SELECT TRIM( ' test ') → 結果 : test 2017/9/7db tech showcase 2017 Tokyo
  • 15. Azure BLOB ストレージとの連携 15  BULK INSERT / OPENROWSET 使用するデータとして、Azure BLOB ストレージに あるファイルを使用することができる  BLOB ストレージ上にあるファイルを、ファイルの直接インポートや、SQL によるファイル へのアクセスを行うことができる  OPENROWSET + JSON 関数を組み合わせることで、BLOB ストレージに保存されている JSON 形式の ファイルの内容をテーブルとして利用することも可能  Polybase と異なり、単一ファイルを対象として処理を実行 Azure ストレージの 接続情報 Examples of Bulk Access to Data in Azure Blob Storage https://docs.microsoft.com/en-us/sql/relational-databases/import-export/examples-of-bulk-access-to-data-in-azure-blob-storage 2017/9/7db tech showcase 2017 Tokyo
  • 17. グラフデータベース 17  データとデータをリンクさせることで、データ間の関連性を表現することが可能  多対多のリレーショナルシップを表現することができる  不正の検出 (正しい経路 (パターン) によるアクセス) / ソーシャルグラフ (人の結びつき) 等のデータ表すことができ、 データの相互関係を分析することができる  ノード (頂点) とエッジ (関係) テーブルを作成し、ノード間のレコードのつながりをエッジで表現  SQL エンジンに統合されており、SQL によりテーブルの操作としてデータを取り扱うことができる Graph processing with SQL Server 2017 https://docs.microsoft.com/en-us/sql/relational-databases/graphs/sql-graph-overview 2017/9/7db tech showcase 2017 Tokyo
  • 19. クエリ実行の動的な最適化 19  Adaptive Query Processing  実行タイミングの処理対象に適応した形で、クエリの実行プランを自動的に最適化 (互換性レベル 140 の設定が必要) 2017/9/7db tech showcase 2017 Tokyo Microsoft SQL データベースでのアダプティブ クエリの処理 https://docs.microsoft.com/ja-jp/sql/relational-databases/performance/adaptive-query-processing
  • 20. DMV から自動チューニングの推奨状況を取得 自動チューニング 20  SQL Server 2016  クエリストアの情報から、実行プランの変化により実行効率が低下したクエリを確認し、過去に実行された 効率の良い実行プランを使用するプランの強制をデータベース管理者が手動で実施  SQL Server 2017  自動チューニングを有効にすることで、実行プランの変化による実行効率の低下を自動的に検知し、過去に実行 された実行プランから効率の良い実行プランを使用するように「自動的な実行プランの強制」を設定可能  ALTER DATABASE current SET AUTOMATIC_TUNING ( FORCE_LAST_GOOD_PLAN = ON ); 過去に実行された効率の良い実行プランを強制Automatic tuning https://docs.microsoft.com/ja-jp/sql/relational-databases/automatic-tuning/automatic-tuning sys.dm_db_tuning_recommendations (Transact-SQL) https://docs.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-db-tuning-recommendations-transact-sql 2017/9/7db tech showcase 2017 Tokyo
  • 22. 従来までのインデックスのメンテナンス 22  従来のインデックスのメンテナンス (断片化の解消) は、以下の動作となる  SQL Server 2016 までは、「インデックスの再構築」を途中でキャンセルした場合、それまで 実施された最適化処理は無効となり、次に最適化処理を実施した場合は、最初から処理を実施 再構成 (REORGANIZE) 再構築 (REBUILD) 処理対象 インデックスのリーフノード インデックス全体 処理中のアクセス インデックスにアクセス可能 (オンライン操作によるメンテナンス) インデックスにアクセス不可 (オフライン操作によるメンテナンス) Enterprise Edition の場合はオンラインでメンテナンス可能 処理の途中で キャンセル キャンセルまでに実施された最適化の処理は有効 キャンセルまでに実施された最適化の処理は無効 (ロールバック) 最後まで完了しないと最適化されない 処理時間 断片化が進んでいると処理時間に影響がある 断片化が進んでいて処理時間に影響は少ない 2017/9/7db tech showcase 2017 Tokyo
  • 23. 再開可能なインデックスのオンライン再構築 23  SQL Server 2017 は、インデックスのオンライン再構築の実施時に中断することが可能  インデックスの再構築が特定の時間帯に完了しない場合は、一度中断し、次回のメンテナンス時間に再 構築を、前回の続きから再開するという、運用を実施することが可能  ALTER INDEX <インデックス名> ON <テーブル名> REBUILD WITH(ONLINE = ON, RESUMABLE = ON)  再構築しているインデックスに対して、RESUME / PAUSE / ABORT の操作が可能  インデックスのメンテナンス状況については、「sys.index_resumable_operations」で取得 Resumable Index Rebuild Considerations https://docs.microsoft.com/ja-jp/sql/relational-databases/indexes/guidelines-for-online-index-operations#resumable-index-rebuild-considerations 2017/9/7db tech showcase 2017 Tokyo
  • 25. 参考) AlwaysOn 可用性グループ 25  SQL Server 2012 から追加された、SQL Server 間のデータ同期、自動フェールオーバーにより、DB の可用性を高めるための機能  ローカルのデータベース間でデータ同期をし、共有ディスクは不要  可用性グループリスナーと呼ばれるアクセスポイントによる透過的にプライマリレプリカに接続  セカンダリを読み取りレプリカとして使用でき、リスナーを介した読み取りレプリカへの接続も可能 プライマリレプリカ ログキャッシュ ログファイル コミット ログ フラッシュ ログキャプチャ セカンダリレプリカ データファイル バッファキャッシュ チェック ポイント ログ適用 ログキャッシュ ログファイル データファイル Redo キャッシュ Redo スレッド コミット 応答 ログプール Redo ログ 再実行 リスナーに接続することで 透過的にプライマリに接続 可用性グループ 2017/9/7db tech showcase 2017 Tokyo
  • 26. AlwaysOn 可用性グループ 2017/9/7db tech showcase 2017 Tokyo26 Version 機能 2012 • Enterprise Edition でのみ利用可能 • 1 台のプライマリレプリカと 4 台のセカンダリレプリカ • 3 台で同期レプリカを設定可能 • 同期レプリカの中で自動フェールオーバーを 2 台で設定可能 • 接続順を指定し、レプリカに読み取りのアクセス • 複数データベースにまたがるトランザクションはサポートされない 2014 • 8 台のセカンダリレプリカ • プライマリレプリカから切断 / クォーラムが存在しない状態でもセカンダリレプリカにアクセスが可能 2016
  • 27. AlwaysOn 可用性グループ 2017/9/7db tech showcase 2017 Tokyo27 Version 機能 2017 • 同一インスタンスの分散トランザクションのサポート • 可用性グループの再作成が不要な分散トランザクションサポートの設定変更 • クロスプラットフォーム (Windows / Linux) の可用性グループのサポート • WSFC 以外のクラスタータイプのサポート (EXTERNAL / NONE) • 同期コミット利用時に必要となる最小のセカンダリレプリカ数が設定可能 CREATE AVAILABILITY GROUP (Transact-SQL) https://docs.microsoft.com/en-us/sql/t-sql/statements/create-availability-group-transact-sql 分散トランザクション対応の可用性グループを構成する https://docs.microsoft.com/ja-jp/sql/database-engine/availability-groups/windows/configure-availability-group-for-distributed-transactions トランザクション - 可用性グループとデータベース ミラーリング https://docs.Microsoft.com/ja-jp/sql/database-engine/availability-groups/windows/transactions-always-on-availability-and-database-mirroring SQL Server on Linux の読み取りのスケール アウト可用性グループを構成します。 https://docs.microsoft.com/ja-jp/sql/linux/sql-server-linux-availability-group-configure-rs 可用性グループの構成の高可用性とデータの保護 https://docs.microsoft.com/ja-jp/sql/linux/sql-server-linux-availability-group-ha
  • 28. 3 種類のクラスタータイプ 2017/9/7db tech showcase 2017 Tokyo28  SQL Server 2017 では、次の 3 種類を利用可能  CLUSTER_TYPE = { WSFC | EXTERNAL | NONE } CREATE AVAILABILITY GROUP (Transact-SQL) https://docs.microsoft.com/en-us/sql/t-sql/statements/create-availability-group-transact-sql WSFC EXTERNAL NONE • 従来から使用されていたタイプ • Windows Server Failover Cluster (WSFC) をクラスター マネージャーとして利用 • Windows でのみ使用可能 • Windows Server Failover Cluster (WSFC) 以外を、クラ スターマネージャー (Linux の Pacemaker) として利用 • Linux で可用性グループを使用 する場合、EXTERNAL を設定 • クラスタマネージャーで管理を 行わない場合に指定 • クラスターレスの可用性グルー プを使用する場合 NONE を設定 • 同一の可用性グループに異なる OS (Windows / Linux) を含め る場合にも利用
  • 29. SQL Server 2017 の可用性グループ 29  クラスター (WSFC / Pacemaker) を構築せずに、可用性グループを利用可能  Windows Server 2016 で、ワークグループクラスター (クラスターのための AD が不要) を使用することができたが、クラス ター (WSFC) を構築する必要があった  SQL Server 2017 では「クラスターを構築せず」可用性グループを利用可能  クラスターレスの可用性グループは、監視用のリソースを作成しない構成 のため、自動フェールオーバーによる 障害発生時の自動的な切り替えを行うことができない  読み取りのサーバーのスケールアウトや、データの複製をシンプルな構成/設定で構築が可能  必要となる最小のレプリカのコミット数の設定 (REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT) により、稼働しているサーバー数の調整が可能  同期コミット使用時に、最新の情報となっている必要のあるセカンダリレプリカの台数を調整することで、起動している サーバーの台数を設定 REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT = 1 の場合 プライマリレプリカの他に 1 台の同期コミットの Configure read-scale availability group for SQL Server on Linux https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-availability-group-configure-rs 2017/9/7db tech showcase 2017 Tokyo
  • 30. クロスプラットフォームの可用性グループの利用例 30  可用性グループを使用し、異なる OS 間でデータを同期  分散型可用性グループ / クラスターレス可用性グループを使用したデータ同期  以下のようなユースケースで利用することができる  移行やテストのために Windows から Linux にデータを移行  ダウンタイムを最小限に抑えた、クロスプラットフォームの移行 Setting up SQL Server High-Availability between Windows and Linux with SQL Server 2017 https://channel9.msdn.com/Shows/Data-Exposed/Setting-up-SQL-Server-High-Availability-between-Windows-and-Linux-with-SQL-Server-2017 2017/9/7db tech showcase 2017 Tokyo