...

インメモリ機能を強化した SQL Server 2014 の概要

by user

on
Category: Documents
11

views

Report

Comments

Transcript

インメモリ機能を強化した SQL Server 2014 の概要
SC-001
インメモリ機能を強化した
SQL Server 2014 の概要
エグゼクティブ プロダクト マネージャー
北川 剛
SQL Server の進化
XML ● KPI
SQL Server
2000
Management Studio ● ミラーリング
SQL Server
2005
圧縮 ● ポリシー ベースの管理 ● プログラミング
PowerPivot ● SharePoint との統合 ● マスター データ サービス
SQL Server
2008
SQL Server
2008 R2
AlwaysOn ● カラムストア インデックス ● Data Quality Services ● Power View ● クラウドの接続性
SQL Server
2012
ワークロードをまたいだインメモリ ● パフォーマンスとスケール ● ハイブリッド クラウドの最適化 ● HDInsight ● Power BI
SQL Server
2014
あらゆるデータを
使い慣れたツールで
分析
ハイブリッド
クラウド向け
プラットフォーム
7 倍高速なパフォーマンス
リアルタイム更新の実現
ビジネス課題
ソリューション
大規模な小売業者向けの SaaS
プロバイダーは、顧客満足度を高め
るためにインベントリの可用性の更
新速度の向上を求めています。
主な利点
従来の方法
日ごとの非同時性の同期
インメモリの使用
ほぼリアルタイムの同期
 スループットの向上と顧客満足度の
改善による販売の増加
 7 倍高速なパフォーマンスにより
リアルタイムな更新を実現
顧客
オンライン
小売り業者
顧客
オンライン
小売業者
インメモリ機能の組み込み
ビルトイン
 エンタープライズ アプリを書き換え
ることなく平均 10 倍高速に
 SQL Server のフル機能を利用可能
主な機能
 新しいインメモリ OLTP 機能 (aka. Hekaton)
 DWH 用に強化されたメモリ最適化列ストア
(CCSI: 更新可能列ストアインデックス)
 PowerPivot によるインメモリ BI (表形式モードのキューブ)
 SSD バッファー プール拡張および強化されたクエリ処理
柔軟性
 使用率の高いテーブルだけを
インメモリに選択可能
従来の方法
インメモリで
16 倍高速化
 既存のハードウェアに合わせて
インメモリを最適化
Bwin ゲーム アプリケーション
すべての
ワークロードを
カバー
 OLTP、DW、および BI の領域でイ
ンメモリ機能によるパフォーマンス
向上を実現
 オプション不要
Bwin ゲーム アプリケーション
要求/秒
要求/秒
OLTP
インメモリを搭載した SQL Server 2014
SQL Server 2014
インメモリ機能の種類
メリット
背景
ムーアの法則
SQL Server 2014
上がらないクロック
原因は電源と冷却
SQL Server 2014 / SQL Server 2012 / Excel 2013
クロック毎の性能も上がらない
SQL Server 2014 / SQL Server 2012
Chart Reference
http://www.gotw.ca/publications/concurrency-ddj.htm
Hekaton とは
最新のハードウェアにフィットする高性能で SQL Server に統合されたメモリ最適化 OLTP エンジン
ハイパフォーマンス
データ操作
効率的な
ビジネスロジック処理
スケールアップ
ハイブリッド
エンジンによる統合
メインメモリ最適化
T-SQL の
マシンコードへの
コンパイル
高並列
SQL Server 統合
• マルチバージョン楽観的並列
制御下でのフル ACID サポー
ト
• ロックフリーアルゴリズムを
使用
• ロック、ラッチ、スピンロッ
クなし
• 統一された管理・開発環境
• 統合されたクエリとトランザ
クション
• 統合された高可用性とバック
アップ リストア
• インメモリデータへの最適化
• インデックスはインメモリの
み
• バッファプールなし
• B-Tree なし
• ストリームベースの記憶域
• T-SQL のフル コンパイル
• プロシージャコールは DLL
のエントリポイント
• コンパイル時の最適化
ハードウェア傾向
メモリ価格の下落
上がらないクロック
ビジネス要求
メニーコア CPU
TCO
7
メインメモリ最適化
要因
メモリの低価格化によって、サーバーに大容量
のメモリを低コストで搭載できるようになった
インメモリ
最適化
SQL Server における“Page”の概念はメインメモ
リとディスクとの間でデータを効率的にやり取
りするためのもの
“Page”という概念は使用しない
インデック
ス
メモリ上に“Hash”および“Range”インデックス
を構成して利用
ディスクには書かないので、インデックスのメ
ンテナンスに関わる I/O が発生しない
バッファ
プールなし
B-Tree な
し
インデックスは “Hash” および “Range” を利用
目的の行にダイレクトに到達可能
B-Tree はレコードアクセスまでに複数 Page に
アクセスするため効率が悪い
ストリーム
ベースの
ストレージ
従来のチェックポイントでは大量のランダム
I/O が発生
バックグラウンドのシーケンシャル I/O で処理
することによって効率化
8
メモリ最適化テーブル
Timestanp
Hash Index
on Name
J
S
Chain Ptrs
200, ∞
100, 200
Name
City
John
Beijing
Susan
•
•
•
•
•
Paris
Bogota
50, ∞
Jane
Susan
Hash Index
on City
B
P
John
90, 150
70, 90
Row
Format
Prague
Brussels
テーブルは行の集まり。行は複数バージョン。
それぞれの行は 2 つのタイムスタンプにより有効な範囲を持っている。
トランザクションのリード時刻がそのタイムスタンプの内の場合に読める。
バージョンのガベージコレクションはインクリメンタル、パラレル、ブロックなし。
テーブルは複数のインデックスを持てる。キーはインデックスにコピーされない。
9
T-SQL のフル コンパイル
要因
T-SQL の
フル
コンパイル
プロシー
ジャ
コール
最適化
クロックの上昇率が低くなったことにより、
CPU クロックを有効に利用する必要がある
従来の T-SQL はインタプリタ
ネイティブ コンパイルしてバイナリコードに
CREATE PROCEDURE …
WITH NATIVE_COMPILATION
コンパイルされたストアドプロシージャは DLL
として保存される
インタプリタと比較して少ないクロックでロ
ジックを実行可能
コンパイル時に最適化が行われる
10
高並列
要因
メニーコア CPU が増加したことにより、高い並
列度で処理を実行する必要がある
マルチバー
ジョン楽観
的並列制御
SQL Server の従来の動作とは異なり
• マルチバージョン
• 楽観的同時アクセス制御
で ACID をサポートする
• UPDATE は内部的には INSERT
• ガベージコレクションの実行
ロック
フリー
アルゴリズ
ム
CPU インストラクションレベルでの排他制御
CMPXCHG
ロック
ラッチ
スピンロッ
クなし
• アプリケーションによるロック競合
• ページラッチ、ページ I/O ラッチ
• 内部構造へのアクセスのためのスピンロック
すべてなし
11
Hekaton 統合とアプリケーション移行
Client App
TDS Handler and Session Management
Natively Compiled
SPs and Schema
Proc/Plan cache for ad-hoc TSQL and SPs
Parser,
Catalog,
Algebrizer,
Optimizer
Hekaton
Compiler
Key
Interpreter for TSQL, query
plans, expressions
Hekaton
Component
Access Methods
Non-durable
Table
Query
Interop
Hekaton Engine: Memory_optimized
Tables & Indexes
T1
T2
T3
T4 Tables
T1
T2
T3
T4 Indexes
T1
T2
T3
T4
T1
T2
T3
T4
T1
T2
T3
T4
T1
T2
T3
T4
Transaction Log
Generated
.dll
Buffer Pool for Tables & Indexes
SQL Server.exe
Checkpoint & Recovery
Memory-optimized Table
Filegroup
Existing SQL
Component
Data Filegroup
12
パフォーマンス向上のポイント
Client App
TDS Handler and Session Management
約 10 倍高速化
Hekaton
Compiler
Natively Compiled
SPs and Schema
Parser,
Catalog,
Algebrizer,
Optimizer
Key
Proc/Plan cache for ad-hoc TSQL and SPs
Interpreter for TSQL, query
plans, expressions
Access Methods
約 10 倍高速化
Non-durable
Table
Existing SQL
Component
Hekaton
Component
Generated
.dll
Query
Interop
Buffer Pool for Tables & Indexes
Hekaton Engine: Memory_optimized
Tables & Indexes
SQL Server.exe
ログ書き込みに必要な IO
バンド幅、競合の低減
チェックポイントはバッ
クグラウンドでシーケン
シャル IO 処理
Memory-optimized Table
Filegroup
Transaction Log
Data Filegroup
13
メモリ最適化列ストア
In-Memory DW Storage Model
Data Stored Column-wise
In-Memory DW Index Structure
Row Groups & Segments
• 1列/Page で格納
• 高い圧縮率
• 多数のデータをメモリ上に格納
可能
• 全ての列に独立してアクセス可能
• 必要な列のみ取得
• IO を大幅に削減可能
C1
C2
• Segment には複数の行の単一の列が含まれる
• 同一の行に属するセグメントで Row Group
を構成
• Segment は圧縮される
• Segment は別個の LOB として格納
• Segment を 1 つのユニットとしてディスクと
Segments
メモリとの間で転送
C3
C4
C5
C6
C1
Row Group
C2
C3
C4
C5
C6
メモリ最適化列ストア
データ処理例
Horizontally Partition
Row Groups
Vertical Partition
Segments
Compress Each Segment
圧縮率は様々(データ依存)
必要な列のみ取得
Segment Elimination
必要な列のみ取得
Segment Elimination
メモリ最適化列ストア
Batch Mode Processing – Optimized for Vector Operatiors
Batch object
bitmap of qualifying rows
Column vectors
•
•
•
•
最大 1,000 行を一度に操作
Batch は Vector Form に格納
キャッシュ上で実行できるよう最適化
Vector 処理を実装
メモリ最適化列ストア
C1
C1
C2
C3
C4
C5
C2
C3
C4
C5
C6
C6
tuple mover
Deleted
Column
Store
Delta (row)
store
Updatable Column Store Index
Bitmap
• テーブルは列ストアと行ストアとを持つ
• DML (Update, Delete, Insert) 操作は Delta Store
に対して実行される
• INSERT
: 常に Delta Store へ
• DELETE
: 論理操作(削除フラグ)
• UPDATE : DELETE 後 INSERT を実施
• BULK INSERT
: Batch が 100K 以下であれば
Delta Store へ
それ以外は直接列ストアへ
• SELECT
: 内部的に UNION 操作を実施
• Delta Store に 10,000 行格納された場合、Tuple
Mover が列ストアに変換
• REORGANIZE を実行することで Tuple Mover
を任意のタイミングで実行
メモリ最適化列ストア
Comparing Space Savings : 101 Million Row Table + Index Space
19.7GB
10.9GB
6.9GB
5.0GB
4.0GB
1.8GB
TABLE WITH
CUSTOMARY
INDEXING
TABLE WITH
CUSTOMARY
INDEXING (PAGE
COMPRESSION)
TABLE WITH NO
INDEXING
TABLE WITH NO
INDEXING (PAGE
COMPRESSION)
TABLE WITH
COLUMNSTORE
INDEX
CLUSTERED
COLUMNSTORE
高いスケーラビリティ
24
高可用性
25
あらゆるデータを
使い慣れたツールで
分析
ハイブリッド
クラウド向け
プラットフォーム
SQL Server 2014
+ Office 2013/Office 365 による Power BI
DEMO
様々なデータへの簡単なアクセス
28
使い慣れたツールによる強力な分析
29
Office 365 用の Microsoft Power BI
Office の使いやすさとクラウドのパワーによるセルフサービス型 BI
Excel での洞察
Office 365 でのコラボレーション
10 億の Office ユーザー
検出
分析
Office 365 上のエンタープライズ顧客の 4 社に 1 社
視覚化
共有
検索
Q&A
Scalable | Manageable | Reliable
モバイル
Office 365 用の Microsoft Power BI
Excel での洞察
Office 365 でのコラボレーション
検出
Power Query によるパブリックお
よび内部データ ソースの検
アクセス、変換
共有
Power BI サイトによる
オンプレミスおよびクラウド ベース
のデータ ソースから更新可能な
データ ビューおよびワークブックの
共有
分析
Power Pivot による容易な
データ モデリングおよび非常に高速
なインメモリ分析
検索
自然言語クエリで 質問し、
直ちに回答を取得
Power View と Power Map
による大胆で新しい対話型のデータ
視覚化
モバイル
視覚化
Q&A
HTML5 経由でのモバイル
アクセスおよび Windows 8、RT、
iOS タブレット用のタッチ操作に最
適化されたアプリ
Scalable | Manageable | Reliable
完全な BI プラットフォーム
32
あらゆるデータを
使い慣れたツールで
分析
ハイブリッド
クラウド向け
プラットフォーム
ハイブリッド クラウド ソリューション
ジオ
レプリケーション
VM への復元
34
ハイブリッド クラウド ソリューション
35
ハイブリッド クラウド ソリューション
36
容易なクラウド環境への対応
37
BI および分析
マイクロソフト
データ
プラットフォーム
セルフサービス
企業
コラボレーション
モバイル
予測
データ エンリッチメントおよびフェデレーション クエリ
単一のクエリ モデル
抽出、変換、読み込み
データ品質
マスター データ管理
データ管理および処理

リレーショナル
非リレーショナル
分析
ストリーミング
内部および外部
インフラストラクチャ
拡張性
仮想化
セキュリティおよび ID
サービス品質
一貫した完全なデータ プラットフォーム
オンプレミスのデータセンター
オフプレミス
従来のモデル
マイクロソフト クラウド
非仮想化
プライベート
サード パーティ
クラウド
Office
365
Windows Azure
サービス
プロバイダー
クラウド
マイクロソフト データ プラットフォーム
共通ツール
開発運用ツール
管理ツール
ID
単一ベンダーによるサポート
仮想化
一貫した完全なデータ プラットフォーム
お客様
単一の
WINDOWS
AZURE
開発
マイクロソフト データ プラットフォーム
一貫した
プラットフォーム
サービス
プロバイダー
管理
データ
ID
仮想化
© 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the
part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Fly UP