[di01] 窓は開かれた! sql server on linux で拡がる可能性

39

Upload: decode-2017

Post on 21-Jan-2018

834 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: [DI01] 窓は開かれた! SQL Server on Linux で拡がる可能性
Page 2: [DI01] 窓は開かれた! SQL Server on Linux で拡がる可能性

SQL Server 2017登場!

Page 3: [DI01] 窓は開かれた! SQL Server on Linux で拡がる可能性

SQL Server の掲げるゴール

多種/多様なデータ

配置/展開先を選ばない

多彩な開発言語

様々な OS からの選択

データベース内の分析/学習環境

101001100000101

T-SQLJavaC/C++C#/VB.NET

PHPNode.jsPythonRuby

Page 4: [DI01] 窓は開かれた! SQL Server on Linux で拡がる可能性

多種/多様なデータ

配置/展開先を選ばない

多彩な開発言語

様々なOS からの選択

データベース内の分析/学習環境

101001100000101

T-SQLJavaC/C++C#/VB.NET

PHPNode.jsPythonRuby

SQL Server:Data-Driven Intelligence を実現するプラットフォーム

Page 5: [DI01] 窓は開かれた! SQL Server on Linux で拡がる可能性

SQL Server 2017Linux / Docker / Windows 環境をサポート

SQL Server2017

グラフクエリによる関係性の解析

クエリチューニングの自動化

SQL Server Machine Learning サービス

Page 6: [DI01] 窓は開かれた! SQL Server on Linux で拡がる可能性

OLTP DW BI Analytics

Page 7: [DI01] 窓は開かれた! SQL Server on Linux で拡がる可能性

SQL Server2017

Page 8: [DI01] 窓は開かれた! SQL Server on Linux で拡がる可能性

マルチプラットフォームへの挑戦

Page 9: [DI01] 窓は開かれた! SQL Server on Linux で拡がる可能性

SQL Server

Windows

Page 10: [DI01] 窓は開かれた! SQL Server on Linux で拡がる可能性

SQL Server

Windows

UMS

U M S

Page 11: [DI01] 窓は開かれた! SQL Server on Linux で拡がる可能性

SQL Server

Windows

UMS

SQL OS

SQLOS

Page 12: [DI01] 窓は開かれた! SQL Server on Linux で拡がる可能性

SQL Server

Windows

Linux

SQLOS

Page 13: [DI01] 窓は開かれた! SQL Server on Linux で拡がる可能性

SQL Server

Linux

SQLOSSQLPAL

Linux Host Extension

SQL P A L

Page 14: [DI01] 窓は開かれた! SQL Server on Linux で拡がる可能性

SQL Server

Linux

Linux Host Extension

SQL P A L

SQLPAL

SQLPAL

Page 15: [DI01] 窓は開かれた! SQL Server on Linux で拡がる可能性

新領域でのSQL Server 2017

Page 16: [DI01] 窓は開かれた! SQL Server on Linux で拡がる可能性

Question 1どのように SQL Server 2017 on Linux を操作できるのか

Page 17: [DI01] 窓は開かれた! SQL Server 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

Page 18: [DI01] 窓は開かれた! SQL Server on Linux で拡がる可能性

Mac OS X

SQL Server 2017 Docker image

mssql extension in VS Code

標準ターミナル(コマンドライン操作)

Visual Studio Code(GUI 操作)

新対応プラットフォーム上での SQL Server 2017 の操作

Page 19: [DI01] 窓は開かれた! SQL Server on Linux で拡がる可能性

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 スクリプトを自動生成するツール

Page 20: [DI01] 窓は開かれた! SQL Server on Linux で拡がる可能性

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 機から操作

Page 21: [DI01] 窓は開かれた! SQL Server on Linux で拡がる可能性

Question 2どのようにアプリケーションからSQL Server 2017 on Linux へアクセスできるのか

Page 22: [DI01] 窓は開かれた! SQL Server on Linux で拡がる可能性

Mac OS X

.NET Core 1.1

SQL Server 2017 Docker image

Windows 環境で利用していたアプリケーション資産による単純移行を計画

Windows

Page 23: [DI01] 窓は開かれた! SQL Server on Linux で拡がる可能性
Page 24: [DI01] 窓は開かれた! SQL Server on Linux で拡がる可能性

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)

Page 25: [DI01] 窓は開かれた! SQL Server on Linux で拡がる可能性

http://aka.ms/sqldev

Page 26: [DI01] 窓は開かれた! SQL Server on Linux で拡がる可能性

http://aka.ms/sqldev

Page 27: [DI01] 窓は開かれた! SQL Server on Linux で拡がる可能性

Question 3SQL Server 2017 on Linux のバックアップ/リストアはどう実現できるのか

Page 28: [DI01] 窓は開かれた! SQL Server on Linux で拡がる可能性

SQL Server Management Studio

Linux

Windows

SQL Server 2016

SQL Server 2017

Windows

異なるプラットフォーム間にまたがったバックアップ・リストア計画

SQL Server Management Studio

時間軸 t

Page 29: [DI01] 窓は開かれた! SQL Server on Linux で拡がる可能性

実行例:PS C:¥Windows¥system32> Copy-VMFile "LinuxSQLvNext" E:¥decode2017.bak /etc -FileSource Host

Windows バックアップファイルを Linux 環境でリストア可能

Page 30: [DI01] 窓は開かれた! SQL Server on Linux で拡がる可能性

Question 4SQL Server 2017 on Linux は、自動フェールオーバー可能な構成をとれるのか

Page 31: [DI01] 窓は開かれた! SQL Server on Linux で拡がる可能性

LinuxHAnode1(primary)

SQL Server 2017

(primary)

LinuxHAnode2(secondary)

SQL Server 2017

(secondary)

PacemakerCorosync

PacemakerCorosync

node1 側がダウンした際に、node2 側が自動で secondary primary へと昇格するか

Page 32: [DI01] 窓は開かれた! SQL Server on Linux で拡がる可能性
Page 33: [DI01] 窓は開かれた! SQL Server on Linux で拡がる可能性

Windows 環境と同じく

Pacemaker

node1 (primary) node2 (secondary)

PacemakerCorosync

PacemakerCorosync

(参考)https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-availability-group-cluster-rhel

Page 34: [DI01] 窓は開かれた! SQL Server on Linux で拡がる可能性

Question 5SQL Server 2017 on Linux の

パフォーマンスは優れているのか

Page 35: [DI01] 窓は開かれた! SQL Server 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

Page 36: [DI01] 窓は開かれた! SQL Server on Linux で拡がる可能性

まとめ

Page 37: [DI01] 窓は開かれた! SQL Server on Linux で拡がる可能性

SQL Server 2017—拡張を続ける活用フィールド

//分析//パフォーマンス////DWH//OLTP//

Intelligent

様々なプラットフォーム

Flexible

信頼性

Trusted

Page 38: [DI01] 窓は開かれた! SQL Server on Linux で拡がる可能性

セッションアンケートにご協力ください

専用アプリからご回答いただけます。

decode 2017

スケジュールビルダーで受講セッションを登録後、アンケート画面からご回答ください。

アンケートの回答時間はたったの 15 秒です!

Page 39: [DI01] 窓は開かれた! SQL Server on Linux で拡がる可能性

Ask the Speaker のご案内本セッションの詳細は『Ask the Speaker Room』各コーナーカウンタにてご説明させていただきます。是非、お立ち寄りください。