6. 42 https://azure.microsoft.com/ja-jp/regions/
100 カ所以上のデータセンター
ネットワーク網が全世界で Top 3 の 1 つ
Central US
Iowa
West US
California
North Europe
Ireland
East US
Virginia
East US 2
Virginia
US GOV
Virginia
North Central US
Illinois
US GOV
Iowa
South Central US
Texas
Brazil South
Sao Paulo
West Europe
Netherlands
China North *
Beijing
China South *
Shanghai
Japan East
Saitama
Japan West
Osaka
India South
Chennai
East Asia
Hong Kong
SE Asia
Singapore
Australia South East
Victoria
Australia East
New South Wales
* Operated by 21Vianet
India Central
Pune
Canada East
Quebec City
Canada Central
Toronto
India West
Mumbai
Germany East
Germany West
UK West
UK East
Operated by Deutsche Telekom
West US2
California
West Central
US
Korea Central
Seoul
Korea South
TBA
US East
DoD
US GOV
Texas
France
Central France
South
US GOV
Arizona
US Central
DOD
regions around the world
25. AlwaysOn 新ハイブリッド HA シナリオ
• HA と DR のための
Linux と Windows の
AlwaysOn グループが可能
• HA アーキテクチャ向けの
新たな柔軟性
• OS レベルの冗長性と
フェールオーバーによる
究極の HA の実現
• 読み取り可能なセカンダリによる
負荷分散
あらゆるプラットフォームに対応した
ミッション クリティカル HA
データ管理 // 運用データ
• 高可用性
• バックアップの負荷軽減
• BI レポートの拡大縮小
• テスト可能
• 移行可能
31. • RedHat Enterprise Linux (RHEL)、
Ubuntu、SUSE Enterprise Linux
(SLES) などの Linux
ディストリビューションを
サポート
• Docker: Windows および Linux
コンテナでも動作
• Windows Server / Windows 10
• パッケージ ベースのインストール、
yum インストール、アプリケー
ション取得も可能
プラットフォームに限定されず利用可能
Linux
Linux/Windows コンテナ
Windows
Flexibility
47. SQL Server on Linux のシステムアーキテクチャ
SQL Platform Abstraction Layer
(SQLPAL)
RDBMS IS AS RS
Windows Linux
Windows
Host Extension
Linux Host
Extension
SQL Platform Abstraction Layer
(SQLPAL)
Win32-like APIs
Host Extension mapping to OS system calls
(IO, Memory, CPU scheduling)
SQL OS API
SQL OS v2
Everything else
System Resource &
Latency Sensitive
Code Paths
48.
49. mssql-
scripter
sqlcmd
bcp
sql-cli
Linux
• mssql-tools として纏めてインス
トール
• 導入手順
1. リポジトリの更新
2. 古い unixODBC の削除
3. sudo yum install mssql-tools
unixODBC-devel
4. 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/ho
mebrew-mssql-preview
2. brew update
3. brew install mssql-tools
• Windows 機から SMO を
使用して接続
• Microsoft 純正
• import/export 実施のため、対話形式で
T-SQL スクリプトを自動生成するツール
50. SSMS
mssql
extension
in VS Code
New GUI Tool
for DBAs
• 現在未対応
• VS Code 用 extension
• SQL/T-SQL の実行が可能
• インテリセンス機能による補完
• T-SQL によるコマンドベースでの DB 管理可能
• 全プラットフォーム上から共通 UI を利用できる管理ツール
• 無償提供
• 現在開発中
• 従来と同様の操作
• 接続先のみの変更
• SQL/T-SQL 実行可
• ウィンドウ遷移による GUI
ベースでのDB 管理可
• Windows 版 VS Code 上
からも接続可能
Linux Mac OS X Windows 機から操作
地球約56周分にものぼる225万 キロメートルもの光ファイバーで DC 間を接続
ネットワーク網世界3位です。
The complete modern data estate
.net point – be sure to hit back-end development (ASP.NET and .NET Core)
We are innovating on running algorithms close to where the data lives – so you can easily build fast, large scale, compliant and secure AI, without the latency of large scale data movement.
Why? In the past, a common application pattern was to build and host statistical and analytical models and business logic outside the database, in the application layer or in specialty statistics tools.
This meant that the application layer had to perform a lot of heavy lifting.
Fast data extraction, concurrency, high availability, resource management, security, access control, compliance, manageability… A lot of heavy lifting.
But a modern commercial database gives you all that built-in. It already does that heavy lifting.
We are bringing the ability to run machine learning and AI in a performant multi-threaded, distributed way at scale directly in the database.
This includes the Microsoft Machine Learning algorithms grown from Microsoft’s leading AI research, and even the latest in open source such as R & Python.
Now you can build enterprise grade intelligent applications in a far simpler way.
And this is available to you both on-premises and in the cloud.
No one but Microsoft can do this for their customers.
We are innovating on running algorithms close to where the data lives – so you can easily build fast, large scale, compliant and secure AI, without the latency of large scale data movement.
Why? In the past, a common application pattern was to build and host statistical and analytical models and business logic outside the database, in the application layer or in specialty statistics tools.
This meant that the application layer had to perform a lot of heavy lifting.
Fast data extraction, concurrency, high availability, resource management, security, access control, compliance, manageability… A lot of heavy lifting.
But a modern commercial database gives you all that built-in. It already does that heavy lifting.
We are bringing the ability to run machine learning and AI in a performant multi-threaded, distributed way at scale directly in the database.
This includes the Microsoft Machine Learning algorithms grown from Microsoft’s leading AI research, and even the latest in open source such as R & Python.
Now you can build enterprise grade intelligent applications in a far simpler way.
And this is available to you both on-premises and in the cloud.
No one but Microsoft can do this for their customers.
We are innovating on running algorithms close to where the data lives – so you can easily build fast, large scale, compliant and secure AI, without the latency of large scale data movement.
Why? In the past, a common application pattern was to build and host statistical and analytical models and business logic outside the database, in the application layer or in specialty statistics tools.
This meant that the application layer had to perform a lot of heavy lifting.
Fast data extraction, concurrency, high availability, resource management, security, access control, compliance, manageability… A lot of heavy lifting.
But a modern commercial database gives you all that built-in. It already does that heavy lifting.
We are bringing the ability to run machine learning and AI in a performant multi-threaded, distributed way at scale directly in the database.
This includes the Microsoft Machine Learning algorithms grown from Microsoft’s leading AI research, and even the latest in open source such as R & Python.
Now you can build enterprise grade intelligent applications in a far simpler way.
And this is available to you both on-premises and in the cloud.
No one but Microsoft can do this for their customers.
We are innovating on running algorithms close to where the data lives – so you can easily build fast, large scale, compliant and secure AI, without the latency of large scale data movement.
Why? In the past, a common application pattern was to build and host statistical and analytical models and business logic outside the database, in the application layer or in specialty statistics tools.
This meant that the application layer had to perform a lot of heavy lifting.
Fast data extraction, concurrency, high availability, resource management, security, access control, compliance, manageability… A lot of heavy lifting.
But a modern commercial database gives you all that built-in. It already does that heavy lifting.
We are bringing the ability to run machine learning and AI in a performant multi-threaded, distributed way at scale directly in the database.
This includes the Microsoft Machine Learning algorithms grown from Microsoft’s leading AI research, and even the latest in open source such as R & Python.
Now you can build enterprise grade intelligent applications in a far simpler way.
And this is available to you both on-premises and in the cloud.
No one but Microsoft can do this for their customers.
We are innovating on running algorithms close to where the data lives – so you can easily build fast, large scale, compliant and secure AI, without the latency of large scale data movement.
Why? In the past, a common application pattern was to build and host statistical and analytical models and business logic outside the database, in the application layer or in specialty statistics tools.
This meant that the application layer had to perform a lot of heavy lifting.
Fast data extraction, concurrency, high availability, resource management, security, access control, compliance, manageability… A lot of heavy lifting.
But a modern commercial database gives you all that built-in. It already does that heavy lifting.
We are bringing the ability to run machine learning and AI in a performant multi-threaded, distributed way at scale directly in the database.
This includes the Microsoft Machine Learning algorithms grown from Microsoft’s leading AI research, and even the latest in open source such as R & Python.
Now you can build enterprise grade intelligent applications in a far simpler way.
And this is available to you both on-premises and in the cloud.
No one but Microsoft can do this for their customers.
We are innovating on running algorithms close to where the data lives – so you can easily build fast, large scale, compliant and secure AI, without the latency of large scale data movement.
Why? In the past, a common application pattern was to build and host statistical and analytical models and business logic outside the database, in the application layer or in specialty statistics tools.
This meant that the application layer had to perform a lot of heavy lifting.
Fast data extraction, concurrency, high availability, resource management, security, access control, compliance, manageability… A lot of heavy lifting.
But a modern commercial database gives you all that built-in. It already does that heavy lifting.
We are bringing the ability to run machine learning and AI in a performant multi-threaded, distributed way at scale directly in the database.
This includes the Microsoft Machine Learning algorithms grown from Microsoft’s leading AI research, and even the latest in open source such as R & Python.
Now you can build enterprise grade intelligent applications in a far simpler way.
And this is available to you both on-premises and in the cloud.
No one but Microsoft can do this for their customers.
The above graphics were published by Gartner, Inc. as part of a larger research document and should be evaluated in the context of the entire document. The Gartner document is available upon request from Microsoft. Gartner does not endorse any vendor, product or service depicted in its research publications, and does not advise technology users to select only those vendors with the highest ratings or other designation. Gartner research publications consist of the opinions of Gartner's research organization and should not be construed as statements of fact. Gartner disclaims all warranties, expressed or implied, with respect to this research, including any warranties of merchantability or fitness for a particular purpose
National Institute of Standards and Technology Comprehensive Vulnerability Database update 2/2016.
Achieve industry-leading performance with SQL Server 2017
Improve throughput and latency on transactional data workloads with row-based in-memory OLTP, for up to 30x faster transactions
Reduce storage needs with ColumnStore column compression and up to 100x faster queries
By bringing these two engines together, running in-memory columnstore on top of the in-memory OLTP engine, customers can enable real-time reporting against their operational database without impacting end customer performance
Enhancements in 2017 include:
Real-time intelligence thanks to faster transactions with In-Memory OLTP; new T-SQL enhancements for in-memory tables and natively compiled stored procedures
Columnstore performance improvements and support for LOBs
Also new in 2017: Improved efficiency with Adaptive Query Processing
A family of features that learns from database performance as it goes
Interleaved Compilation/Execution for challenging queries to improve plan quality and performance
Adjusts memory grants for repeated queries to avoid over or under allocating
Adaptive Joins adjust data joining strategy dynamically to improve query performance and stability over skewed data distributions
Maintain performance when making app changes with Automatic Plan Correction
New flexibility to do HA without Windows Server fail over clustering
Fail-over clustering with Pacemaker and more through integration scripts and guides
Always On availability groups with automatic fail-over, listener, synchronous replication, read-only secondaries
Shared disk failover clusters
Backup and restore: .bak, .bacpac, and .dacpac
Log shipping
Another important point is mass scalability. We’ve talked about all of these great in-memory technologies, but one of the dependencies is memory and compute. Windows Server 2016 is knocking this out of the park; it provides 24 terabytes of memory that SQL Server can take advantage of.
Physical memory and Windows Server 2016 can support hardware max in terms of cores, and we are already doing tests of 600 plus cores in parallel. Just think about the scale of performance you are going to get. It’s a modern way of doing things: why scale out when you can scale up? It’s cheaper for you, it’s easier to manage, and it allows for tremendous performance
Companies like NASDAQ are doing this to achieve 1PB+ data warehouse performance in a scale-up architecture.
We also have scale-up MPP in the cloud with Azure SQL Data Warehouse, which we’ll talk more about later in this presentation.
(Aside: can we verify the ½ the cost of Oracle Exadata claim?)
New support for Graph Data
Full CRUD support to create nodes and edges
Query language extension provides multi-hop navigation using join-free pattern matching
SQL engine integration enables querying across SQL tables and graph data
Existing tools work out of the box with graph data
In addition, you can create an external table that maps the two structured and unstructured data and the PolyBase technology available in SQL Server allows customers to query that external table, so the structured and unstructured data can be correlated together.
Enhanced SSAS
Modern data connectivity & transformation
Support for Power BI data sources*
Data mashup transformations
Drill-through & ragged hierarchies
Improved scalability on enterprise hardware & DirectQuery performance enhancements
SSDT with local AS engine, no SQL Server dependency
Support for Visual Studio “Dev15”
All of these enhancements apply to tabular
New in Microsoft Machine Learning Serivces: support for Python
Standalone R Server Azure VMs for Linux and Windows
Pre-configured Azure VMs for Windows
Written case study that may be added here.
Encrypts data at rest with Transparent Data Encryption
Track and logs events based on specifications with Auditing
Linux 対応のプロローグとして
SQL Server 6.5以前では、自分自身がしゆするプロセスの実行をすべてOSに任せていました。そのため、SQL Server は大規模システムではパフォーマンスが出ないといったことが起きてしまっていました。
Windows のプロセススケジューラはその管理する個々のプロセスがどんな処理をしているのかというのには無頓着です。SQL Server のプロセスはブロッキング待ちになったりIO待ちになったりしますが、Windows のスケジューラは一切それに関与しません。
こういった状況が多発すると見かけ上SQLServerにクエリを投げているけどCPU使用率があがらず頭打ちになってしまうということがありました。
SQL Server は非常にフットプリントの大きな製品で、3400万行のコードでできています。
なので、マルチプラットフォーム対応で移植をすると永遠に互換性の問題に悩まされるから移植していません。
そのかわりに、
SQL Platform Abstraction Layer 通称PALをつくり、SQL OSを統合しSQL PALを作成しました。
PALはエミュレーターではありません。
シングルコードベースのフルパフォーマンスで動作し、どちらのプラットフォームでもネイティブに動作するテクノロジーです。
x86 の命令セットに読み替えるAPIエミュレーション技術で、マイクロソフトリサーチが7年ほど前に開発したDrawBridgeというテクノロジを使っています。
端的に言うと、Windows Subsystem for Linux で使っているテクノロジで逆さまの実装を行っているのがこのPALです。
Windows 及びLinux の両方で、SQL Serverを動作させるにあたってdll を使用していません。なぜなら、同じソースコードでマルチプラットフォームを実現しているからです。
ホストの拡張機能はPALのコンポーネントプラットフォーム固有部分(I/Oやメモリ、CPUスケジュール)を抽象化しています。
なので、パフォーマンスやI/Oを行うコードの部分はネイティブです。
単一のソースコードで実装している一番の利点はSQL Server に新しい機能を追加するとすべてのプラットフォームですぐに利用可能になるからです。
アーキテクチャ的に意識高い系という感じです。
パフォーマンスにおける
SQL on Linuxがパフォーマンスしない?という疑念があると思いますが。
Performance promise: SQL on Linux will run with the same perf as SQL on Windows. This is a success criteria for us. We’ve done a bunch of testing and we’re comfortable that it will have the same perf characteristics as SQL on Windows. In our tests, we have some cases where SQL on Linux runs a little faster or vice-versa. On average it is the same.
Now, there are some edge cases. If Linux doesn’t run well on a 640-core machine, 24TB RAM machine, there’s only so much we can do.