Upload
masayuki-ozawa
View
324
Download
5
Embed Size (px)
Citation preview
Microsoft Tech Summit 2017
SQL Server2017
INTELLIGENT FLEXIBLETRUSTEDINTELLIGENT TRUSTED FLEXIBLEデータ資産を有効に活用し新しい問題を
迅速に解決
最小限の製品で高いセキュリティと突出したTCOを実現
あらゆる開発言語プラットフォームでテクノロジを革新
ML Services機械学習
Edition の機能差の緩和(SQL Server 2016 SP1 から)
自動チューニング
クロスプラットフォームSQL Server on Linux
• インストーラーの独立• 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 パッケージの管理
1.新しい実行環境
• クロスプラットフォーム対応• Docker コンテナーでの動作
3.新しいクエリ最適化
• Adaptive Query Processing• 自動チューニング
2.新しいデータ解析
• Machine Learning Services• PREDICT 関数
4.新しいデータ表現
• グラフテーブル
5.新しいデータメンテナンス
• 再開可能なオンラインインデックス再構築
1.新しい実行環境
• クロスプラットフォーム対応• Docker コンテナーでの動作
3.新しいクエリ最適化
• Adaptive Query Processing• 自動チューニング
2.新しいデータ解析
• Machine Learning Services• PREDICT 関数
4.新しいデータ表現
• グラフテーブル
5.新しいデータメンテナンス
• 再開可能なオンラインインデックス再構築
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
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
ツール 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で取得可能タブによる入力補完 / パイプによる処理連携
計画中
https://twitter.com/sqldatatools/status/925756155833364480 のアナウンス内容からPASS Summit 2017 キーノートから
Primary Secondary
同期モード 非同期モード
Primary Secondary
Primary Secondary
Secondary
可用性について詳しく知りたい方は
DAL004へ!!
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へ!!
1.新しい実行環境
• クロスプラットフォーム対応• Docker コンテナーでの動作
3.新しいクエリ最適化
• Adaptive Query Processing• 自動チューニング
2.新しいデータ解析
• Machine Learning Services• PREDICT 関数
4.新しいデータ表現
• グラフテーブル
5.新しいデータメンテナンス
• 再開可能なオンラインインデックス再構築
ML Services について詳しく知りたい方は
MAI005へ!!
R+SQL Server
https://docs.microsoft.com/en-us/sql/advanced-analytics/real-time-scoring
1.新しい実行環境
• クロスプラットフォーム対応• Docker コンテナーでの動作
3.新しいクエリ最適化
• Adaptive Query Processing• 自動チューニング
2.新しいデータ解析
• Machine Learning Services• PREDICT 関数
4.新しいデータ表現
• グラフテーブル
5.新しいデータメンテナンス
• 再開可能なオンラインインデックス再構築
Adaptive Query
Processing
Interleaved
Execution
Batch Mode
Memory Grant Feedback
Batch Mode
Adaptive Join
メモリ割当の動的な適応 結合処理の動的な適応MSTVF の行数推定の改善
各適応操作の詳細はAppendix を参照
学習
検証適応
Active Verifying Success
Reverted Expired
1.新しい実行環境
• クロスプラットフォーム対応• Docker コンテナーでの動作
3.新しいクエリ最適化
• Adaptive Query Processing• 自動チューニング
2.新しいデータ解析
• Machine Learning Services• PREDICT 関数
4.新しいデータ表現
• グラフテーブル
5.新しいデータメンテナンス
• 再開可能なオンラインインデックス再構築
エッジテーブルIgnite
2017
Tech
Summit
2017
Alice
John
Jacob
Ken
1.新しい実行環境
• クロスプラットフォーム対応• Docker コンテナーでの動作
3.新しいクエリ最適化
• Adaptive Query Processing• 自動チューニング
2.新しいデータ解析
• Machine Learning Services• PREDICT 関数
4.新しいデータ表現
• グラフテーブル
5.新しいデータメンテナンス
• 再開可能なオンラインインデックス再構築
1.新しい実行環境
• クロスプラットフォーム対応• Docker コンテナーでの動作
3.新しいクエリ最適化
• Adaptive Query Processing• 自動チューニング
2.新しいデータ解析
• Machine Learning Services• PREDICT 関数
4.新しいデータ表現
• グラフテーブル
5.新しいデータメンテナンス
• 再開可能なオンラインインデックス再構築
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 !! これだけは押さえておかなければダメ!!(仮)
■ 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
■
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
■
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/
■
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
■
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
■
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
■
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
■
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
■
https://myignite.microsoft.com/sessions/55108
■
https://myignite.microsoft.com/sessions/55421
■
https://myignite.microsoft.com/sessions/53382
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
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
ML Server Python Package のインストールは https://docs.microsoft.com/en-us/machine-learning-server/install/python-libraries-interpreter を参照
上記の例で使用しているデータベースは https://microsoft.github.io/sql-ml-tutorials/python/rentalprediction/ から入手可能