dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介

55
Microsoft Tech Summit 2017

Upload: masayuki-ozawa

Post on 21-Jan-2018

324 views

Category:

Data & Analytics


5 download

TRANSCRIPT

Page 1: Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介

Microsoft Tech Summit 2017

Page 2: Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介

SQL Server2017

INTELLIGENT FLEXIBLETRUSTEDINTELLIGENT TRUSTED FLEXIBLEデータ資産を有効に活用し新しい問題を

迅速に解決

最小限の製品で高いセキュリティと突出したTCOを実現

あらゆる開発言語プラットフォームでテクノロジを革新

ML Services機械学習

Edition の機能差の緩和(SQL Server 2016 SP1 から)

自動チューニング

クロスプラットフォームSQL Server on Linux

Page 3: Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介

• インストーラーの独立• REST API のサポート• Visual Studio 2017 と MSBuild のサポート• レポートのコメント• ダウンロードメニューの表示/非表示

• 既定のインストールが表形式モデルに変更• 互換性レベル 1400

• オブジェクトレベルのセキュリティ• 互換性レベル 1400 の表形式モデルの新しいデータ取得のユーザーインターフェース

• エンコードヒント• 不規則な階層• 詳細行• オブジェクトレベルのセキュリティ• DAX の機能強化

• スケールアウト構成• Linux 上の SSIS (RedHat / Ubuntu)

• OData の接続性の向上

(Dynamics AX Online / CRM Online)• Azure Feature Pack の Azure Data Lake サポート

• クロスプラットフォームサポート• 互換性レベル 140

• 照合順序の追加(140 / VSS)

• インストール時の tempdb のサイズ上限の緩和• 間接チェックポイントの性能向上

• Adaptive Query Processing• 自動チューニング• In-Memory OLTP のサポート対象機能の追加• クラスター化列ストアインデックスの LOB 列の対応• 非クラスター化列ストアインデックスのオンライン操作• データベーススコープの資格情報のセキュリティ保護• BULK INSERT/OPEN ROWSET の Azure BLOB ストレージのサポート

• グラフテーブル (グラフデータ)

• 再開可能なオンラインインデックス再構築• Always On 可用性グループのクラスタータイプ

(外部クラスターマネージャー / クラスターレス)

• AlwaysOn 可用性グループの同期コミット使用時の同期済み台数の調整

• AlwaysOn 可用性グループの同一インスタンス内の分散トランザクションのサポート

• テンポラルテーブルの保持期間ポリシー• データベーススコープの IDENTITY_CACHE の設定• CLR の厳格なセキュリティ• SELECT INTO のファイルグループ指定• 文字列関数の追加

(STRING_AGG/CONCAT_WS/TRANSLATE/TRIM)

• Python のサポート

• Native Scoring• MicrosoftML パッケージ• R パッケージの管理

Page 4: Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介

1.新しい実行環境

• クロスプラットフォーム対応• Docker コンテナーでの動作

3.新しいクエリ最適化

• Adaptive Query Processing• 自動チューニング

2.新しいデータ解析

• Machine Learning Services• PREDICT 関数

4.新しいデータ表現

• グラフテーブル

5.新しいデータメンテナンス

• 再開可能なオンラインインデックス再構築

Page 5: Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介

1.新しい実行環境

• クロスプラットフォーム対応• Docker コンテナーでの動作

3.新しいクエリ最適化

• Adaptive Query Processing• 自動チューニング

2.新しいデータ解析

• Machine Learning Services• PREDICT 関数

4.新しいデータ表現

• グラフテーブル

5.新しいデータメンテナンス

• 再開可能なオンラインインデックス再構築

Page 6: Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介

https://channel9.msdn.com/Events/de-code/2017/DI01

Windows Server / Windows Client

Red Hat Enterprise Linux 7.3 or 7.4

Ubuntu 16.04 LTS

SUSE Enterprise Linux v12 SP2yum / apt-get / zypper によるパッケージベースのインストール

Docker Engine 1.8 以降

(Windows / Mac / Linux)SQL Server for Windows Containers / SQL Server on Linux for Docker Engine

Page 7: Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介

https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-release-notes

領域 非サポートの機能

データベースエンジン

トランザクションレプリケーション

マージレプリケーション

ストレッチデータベース

Polybase

3rd-party 接続を使用した分散クエリ

システム拡張ストアドプロシージャ (XP_CMDSHELL, etc.)

Filetable / FILESTREAM

EXTERNAL_ACCESS または UNSAFE なCLR アセンブリ

バッファプール拡張

SQL Server Agent

次のサブシステム:

CmdExec, PowerShell, Queue Reader, SSIS, SSAS, SSRS(Transact-SQL の実行についてはサポート)

警告

Log Reader Agent

Change Data Capture

管理対象バックアップ

領域 非サポートの機能

高可用性 データベースミラーリング

セキュリティ

拡張キー管理

AD 認証を使用したリンクサーバー

AD 認証を使用した可用性グループ(AGs)

3rd party AD ツール

(Centrify, Vintela, Powerbroker)

サービス

SQL Server Browser

SQL Server R services

(Machine Learning Services)

StreamInsight

Analysis Services

Reporting Services

Data Quality Services

Master Data Services

Page 8: Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介

ツール Windows Linux

GUI

SQL Server Management Studio SQL Server の標準的な管理ツール

Visual Studio Code クロスプラットフォームに対応した高機能エディターSQL Server 向けの拡張機能の追加によりクエリ実行が可能https://docs.microsoft.com/ja-jp/sql/linux/sql-server-linux-develop-use-vscode

Microsoft SQL Operations Studio (New) クロスプラットフォームに対応した GUI の管理ツール

CUI

sqlcmd コマンドラインから T-SQL を実行

bcp コマンドラインでデータをインポート / エクスポート

mssql-scripter スキーマ定義 / データ INSERT 用スクリプトを生成するPython ベースのツールhttps://github.com/Microsoft/sql-xplat-cli

DBFS FUSE を使用してDMV / カスタムクエリで取得したデータを仮想ファイルシステムとしマウントするツールhttps://github.com/Microsoft/dbfs

mssql-cli (New) Ignite 2017 で発表された次世代の "sqlcmd"

クエリの実行結果を JSON/CSVで取得可能タブによる入力補完 / パイプによる処理連携

計画中

Page 9: Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介

https://twitter.com/sqldatatools/status/925756155833364480 のアナウンス内容からPASS Summit 2017 キーノートから

Page 10: Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介

Primary Secondary

同期モード 非同期モード

Primary Secondary

Primary Secondary

Secondary

可用性について詳しく知りたい方は

DAL004へ!!

Page 11: Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介

https://hub.docker.com/

領域 製品 Star Pull

RDBMS

MySQL 5.1K STARS 10M+ PULLS

MariaDB 1.6K STARS 10M+ PULLS

Percona 297 STARS 5M+ PULLS

PostgreSQL 4.1K STARS 10M+ PULLS

NoSQL

MongoDB 3.7K STARS 10M+ PULLS

Radis 4.3K STARS 10M+ PULLS

Cassandra 660 STARS 10M+ PULLS

Couchbase 253 STARS 1M+ PULLS

Graph DatabaseNeo4j 393 STARS 5M+ PULLS

OrientDB 69 STARS 1M+ PULLS

SQL Server

mssql-server-linux 457 STARS 1M+ PULLS

mssql-server-windows-express 122 STARS 10K+ PULLS

mssql-server-windows-developer 61 STARS 50K+ PULLS

コンテナーについて詳しく知りたい方は

CLD005/APP002/APP007へ!!

Page 12: Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介
Page 13: Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介

1.新しい実行環境

• クロスプラットフォーム対応• Docker コンテナーでの動作

3.新しいクエリ最適化

• Adaptive Query Processing• 自動チューニング

2.新しいデータ解析

• Machine Learning Services• PREDICT 関数

4.新しいデータ表現

• グラフテーブル

5.新しいデータメンテナンス

• 再開可能なオンラインインデックス再構築

Page 14: Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介

ML Services について詳しく知りたい方は

MAI005へ!!

R+SQL Server

Page 15: Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介
Page 16: Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介

https://docs.microsoft.com/en-us/sql/advanced-analytics/real-time-scoring

Page 17: Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介
Page 18: Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介

1.新しい実行環境

• クロスプラットフォーム対応• Docker コンテナーでの動作

3.新しいクエリ最適化

• Adaptive Query Processing• 自動チューニング

2.新しいデータ解析

• Machine Learning Services• PREDICT 関数

4.新しいデータ表現

• グラフテーブル

5.新しいデータメンテナンス

• 再開可能なオンラインインデックス再構築

Page 19: Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介

Adaptive Query

Processing

Interleaved

Execution

Batch Mode

Memory Grant Feedback

Batch Mode

Adaptive Join

メモリ割当の動的な適応 結合処理の動的な適応MSTVF の行数推定の改善

各適応操作の詳細はAppendix を参照

Page 20: Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介

学習

検証適応

Active Verifying Success

Reverted Expired

Page 21: Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介
Page 22: Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介

1.新しい実行環境

• クロスプラットフォーム対応• Docker コンテナーでの動作

3.新しいクエリ最適化

• Adaptive Query Processing• 自動チューニング

2.新しいデータ解析

• Machine Learning Services• PREDICT 関数

4.新しいデータ表現

• グラフテーブル

5.新しいデータメンテナンス

• 再開可能なオンラインインデックス再構築

Page 23: Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介

エッジテーブルIgnite

2017

Tech

Summit

2017

Page 24: Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介
Page 25: Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介
Page 26: Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介

Alice

John

Jacob

Ken

Page 27: Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介
Page 28: Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介

1.新しい実行環境

• クロスプラットフォーム対応• Docker コンテナーでの動作

3.新しいクエリ最適化

• Adaptive Query Processing• 自動チューニング

2.新しいデータ解析

• Machine Learning Services• PREDICT 関数

4.新しいデータ表現

• グラフテーブル

5.新しいデータメンテナンス

• 再開可能なオンラインインデックス再構築

Page 29: Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介
Page 30: Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介
Page 31: Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介
Page 32: Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介

1.新しい実行環境

• クロスプラットフォーム対応• Docker コンテナーでの動作

3.新しいクエリ最適化

• Adaptive Query Processing• 自動チューニング

2.新しいデータ解析

• Machine Learning Services• PREDICT 関数

4.新しいデータ表現

• グラフテーブル

5.新しいデータメンテナンス

• 再開可能なオンラインインデックス再構築

Page 33: Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介

Session ID Title

DAL003 今こそ本気で検討する Azure PaaS 環境のリレーショナルデータベース

DAL004 SQL Server 2017 AlwaysOn 可用性グループ使いたおし!

DAL006 そのデータ、活かせていますか?今こそはじめる Business Intelligence

MAI005 SQL Server 2017 で実現される AI (ディープラーニング)のシステムモデルのご紹介

CLD005 今更聞けない ”コンテナー” のキホン

APP002 コンテナーなに使ってますか? Linux ですか? Windows も使ってもらっていいですか?

APP007 コンテナー活用最前線 2017 !! これだけは押さえておかなければダメ!!(仮)

Page 34: Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介
Page 35: Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介

■ https://www.microsoft.com/ja-jp/sql-server/sql-server-2017

https://docs.microsoft.com/en-us/sql/sql-server/sql-server-2017-release-notes

https://docs.microsoft.com/en-us/sql/sql-server/what-s-new-in-sql-server-2017

https://docs.microsoft.com/en-us/sql/sql-server/editions-and-components-of-sql-server-2017

https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-release-notes

https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-whats-new

https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-editions-and-components-2017

https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-performance-best-practices

Page 36: Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介

https://docs.microsoft.com/en-us/sql/database-engine/whats-new-in-sql-server-2017

https://docs.microsoft.com/en-us/sql/reporting-services/what-s-new-in-sql-server-reporting-services-ssrs

https://docs.microsoft.com/en-us/sql/integration-services/what-s-new-in-integration-services-in-sql-server-2017

https://docs.microsoft.com/en-us/sql/analysis-services/what-s-new-in-sql-server-analysis-services-2017

https://docs.microsoft.com/en-us/sql/advanced-analytics/what-s-new-in-sql-server-machine-learning-services

https://docs.microsoft.com/en-us/machine-learning-server/whats-new-in-machine-learning-server

Page 37: Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介

https://docs.microsoft.com/en-us/sql/linux/quickstart-install-connect-docker

https://hub.docker.com/r/microsoft/mssql-server-linux/

https://hub.docker.com/r/microsoft/mssql-server-windows-express/

https://hub.docker.com/r/microsoft/mssql-server-windows-developer/

Page 38: Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介

https://docs.microsoft.com/en-us/sql/t-sql/statements/create-availability-group-transact-sql

https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-availability-group-configure-ha

https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-availability-group-configure-rs

https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-availability-group-ha

https://docs.microsoft.com/en-us/sql/database-engine/availability-groups/windows/transactions-always-on-availability-and-database-mirroring

Page 39: Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介

https://docs.microsoft.com/en-us/sql/advanced-analytics/getting-started-with-machine-learning-services

https://microsoft.github.io/sql-ml-tutorials/

https://docs.microsoft.com/en-us/machine-learning-server/

https://docs.microsoft.com/en-us/sql/t-sql/queries/predict-transact-sql

https://docs.microsoft.com/en-us/sql/advanced-analytics/sql-native-scoring

https://docs.microsoft.com/en-us/machine-learning-server/install/python-libraries-interpreter

https://github.com/Microsoft/ML-Server-Python-Samples

Page 40: Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介

https://docs.microsoft.com/en-us/sql/relational-databases/performance/adaptive-query-processing

https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-database-transact-sql-set-options

https://docs.microsoft.com/en-us/sql/relational-databases/automatic-tuning/automatic-tuning

https://docs.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-db-tuning-recommendations-transact-sql

https://docs.microsoft.com/en-us/sql/relational-databases/performance/monitoring-performance-by-using-the-query-store

Page 41: Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介

https://docs.microsoft.com/en-us/sql/relational-databases/graphs/sql-graph-overview

https://docs.microsoft.com/en-us/sql/relational-databases/graphs/sql-graph-architecture

https://docs.microsoft.com/en-us/sql/t-sql/statements/create-table-sql-graph

https://docs.microsoft.com/en-us/sql/t-sql/queries/match-sql-graph

https://docs.microsoft.com/en-us/sql/relational-databases/indexes/guidelines-for-online-index-operations

https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-index-transact-sql

Page 42: Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介

https://myignite.microsoft.com/sessions/54946

https://myignite.microsoft.com/sessions/54955

https://myignite.microsoft.com/sessions/53380

https://myignite.microsoft.com/sessions/53381

https://myignite.microsoft.com/sessions/54956

https://myignite.microsoft.com/sessions/55322

https://myignite.microsoft.com/sessions/53396

Page 43: Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介

https://myignite.microsoft.com/sessions/55108

https://myignite.microsoft.com/sessions/55421

https://myignite.microsoft.com/sessions/53382

Page 44: Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介
Page 45: Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介

SQL Server

Application 1 Application 2 Application

SQL Server

docker-compose

SQL Server Application

SQL Server

/var/opt/mssql/data

Container Host

systemdb userdb

systemdb userdbSQL Server

/var/opt/mssql/data

/dockerdata

SQL Server

/var/opt/mssql/data

systemdb

BLOB Storage

userdb

Page 46: Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介

WordPress

(Project Nami)

SQL Server

docker-compose

Linux

/var/opt/mssql/data

/var/opt/docker_volume/

systemdb

Azure Container registry

mssql-server-linux project-nami

GitHub

Project Namihttps://github.com/ProjectNami/projectnamiuserdb

Page 47: Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介
Page 48: Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介

ML Server Python Package のインストールは https://docs.microsoft.com/en-us/machine-learning-server/install/python-libraries-interpreter を参照

Page 49: Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介

上記の例で使用しているデータベースは https://microsoft.github.io/sql-ml-tutorials/python/rentalprediction/ から入手可能

Page 50: Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介
Page 51: Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介
Page 52: Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介
Page 53: Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介
Page 54: Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介
Page 55: Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介