Download - [DI01] 窓は開かれた! SQL Server on Linux で拡がる可能性
SQL Server 2017登場!
SQL Server の掲げるゴール
多種/多様なデータ
配置/展開先を選ばない
多彩な開発言語
様々な OS からの選択
データベース内の分析/学習環境
101001100000101
T-SQLJavaC/C++C#/VB.NET
PHPNode.jsPythonRuby
多種/多様なデータ
配置/展開先を選ばない
多彩な開発言語
様々なOS からの選択
データベース内の分析/学習環境
101001100000101
T-SQLJavaC/C++C#/VB.NET
PHPNode.jsPythonRuby
SQL Server:Data-Driven Intelligence を実現するプラットフォーム
SQL Server 2017Linux / Docker / Windows 環境をサポート
SQL Server2017
グラフクエリによる関係性の解析
クエリチューニングの自動化
SQL Server Machine Learning サービス
OLTP DW BI Analytics
SQL Server2017
マルチプラットフォームへの挑戦
SQL Server
Windows
SQL Server
Windows
UMS
U M S
SQL Server
Windows
UMS
SQL OS
SQLOS
SQL Server
Windows
Linux
SQLOS
SQL Server
Linux
SQLOSSQLPAL
Linux Host Extension
SQL P A L
SQL Server
Linux
Linux Host Extension
SQL P A L
SQLPAL
SQLPAL
新領域でのSQL Server 2017
Question 1どのように SQL Server 2017 on Linux を操作できるのか
https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-setup-docker
Homebrew の導入 Docker for Mac の導入
SQL Server 2017 (docker image)の導入
Node.js が利用できる環境 node のバージョンを管理する機能 nodebrew の導入 Mac OS X 自体のパッケージ管理ソフト Homebrew の導入
SQL Server 2017 のイメージを実行するのに、最小 4GB の領域が必要
VS Code VS for Mac
Mac OS X
SQL Server 2017 Docker image
mssql extension in VS Code
標準ターミナル(コマンドライン操作)
Visual Studio Code(GUI 操作)
新対応プラットフォーム上での SQL Server 2017 の操作
mssql-scripter
sqlcmd
bcp
sql-cli
Linux
• mssql-tools として纏めてインストール
• 導入手順1. リポジトリの更新2. 古い unixODBC の削除3. sudo yum install mssql-tools unixODBC-devel4. PATH の設定
• Node.js 製 OSS Command Line ツール• npm install -g sql-cli• .help で参照できる専用コマンドも利用可
Mac OS X
• 従来の Windows 版から接続先を変更することでも利用可能
Windows 機から操作
SQL Server PowerShell
• 同上
• Preview 版 (5/24 時点)• 導入手順
1. brew tap microsoft/mssql-preview https://github.com/Microsoft/homebrew-mssql-preview2. brew update3. brew install mssql-tools
• Windows 機から SMO を使用して接続
• Microsoft 純正• import/export 実施のため、対話形式で
T-SQL スクリプトを自動生成するツール
SSMS
mssqlextensionin VS Code
New GUI Toolfor DBAs
• 現在未対応
• VS Code 用 extension• SQL/T-SQL の実行が可能• インテリセンス機能による補完• T-SQL によるコマンドベースでの DB 管理可能
• 全プラットフォーム上から共通 UI を利用できる管理ツール• 無償提供• 現在開発中
• 従来と同様の操作• 接続先のみの変更• SQL/T-SQL 実行可• ウィンドウ遷移による GUI ベースでのDB 管理可
• Windows 版 VS Code 上からも接続可能
Linux Mac OS X Windows 機から操作
Question 2どのようにアプリケーションからSQL Server 2017 on Linux へアクセスできるのか
Mac OS X
.NET Core 1.1
SQL Server 2017 Docker image
Windows 環境で利用していたアプリケーション資産による単純移行を計画
Windows
ODBC/FreeTDS
Python
JDBC
Java
ODBC
C/C++
Tedious Node.js Driver
JavaScript
ADO.NET.NET Core
C#VB.NET
Pyodbc/Pymssql
Django
FreeTDS
Ruby
TinyTDS
Ruby on RailsEntity Framework
PHP
ODBC
PHP Driver
Eloquent, DoctrineSequelize
TDS protocol
Hibernate
リリース スケジュール・ODBC Driver on Mac (June 2017)・PHP Driver on Mac (June 2017)
http://aka.ms/sqldev
http://aka.ms/sqldev
Question 3SQL Server 2017 on Linux のバックアップ/リストアはどう実現できるのか
SQL Server Management Studio
Linux
Windows
SQL Server 2016
SQL Server 2017
Windows
異なるプラットフォーム間にまたがったバックアップ・リストア計画
SQL Server Management Studio
時間軸 t
実行例:PS C:¥Windows¥system32> Copy-VMFile "LinuxSQLvNext" E:¥decode2017.bak /etc -FileSource Host
Windows バックアップファイルを Linux 環境でリストア可能
Question 4SQL Server 2017 on Linux は、自動フェールオーバー可能な構成をとれるのか
LinuxHAnode1(primary)
SQL Server 2017
(primary)
LinuxHAnode2(secondary)
SQL Server 2017
(secondary)
PacemakerCorosync
PacemakerCorosync
node1 側がダウンした際に、node2 側が自動で secondary primary へと昇格するか
Windows 環境と同じく
Pacemaker
node1 (primary) node2 (secondary)
PacemakerCorosync
PacemakerCorosync
(参考)https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-availability-group-cluster-rhel
Question 5SQL Server 2017 on Linux の
パフォーマンスは優れているのか
TPC-H ベンチマークにて、SQL Server 2017 on Linux は、SQL Server 2016 + Windows Server 2012R2 環境よりも高スコアを獲得
http://www.tpc.org/tpch/results/tpch_perf_results.asp?resulttype=noncluster
まとめ
SQL Server 2017—拡張を続ける活用フィールド
//分析//パフォーマンス////DWH//OLTP//
Intelligent
様々なプラットフォーム
Flexible
信頼性
Trusted
セッションアンケートにご協力ください
専用アプリからご回答いただけます。
decode 2017
スケジュールビルダーで受講セッションを登録後、アンケート画面からご回答ください。
アンケートの回答時間はたったの 15 秒です!
Ask the Speaker のご案内本セッションの詳細は『Ask the Speaker Room』各コーナーカウンタにてご説明させていただきます。是非、お立ち寄りください。