Comments
Description
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.