share pointを支えるsql server2014最新情報
DESCRIPTION
SharePointを支えるSQL Server2014最新情報TRANSCRIPT
2014
SharePointを支える
SQL Server2014最新情報
Copyright© CSK WinTechnology Corporation
2014.2.22 株式会社 CSK Winテクノロジ
技術フェロー特別役員 熊澤 幸生
2014
Agenda
SQL Server のこれまでと今後
SharePoint の基盤設計と設定
本稼働後の性能監視
まとめ
1 Copyright© CSK WinTechnology Corporation
2014
自己紹介
2 Copyright© CSK WinTechnology Corporation
1977年に富士通メインフレームで初めてデータベースと出会う 自動車会社 割賦販売システム用DB移行プロジェクト
1979年-1983年米国駐在 日系企業全米オンラインシステム構築に従事 データ主導型アーキテクチャを学ぶ(リポジトリによるメタデータ管理:IDMS/R)
メインフレーム上で大規模DB設計とチューニングを数多く経験 運送会社 貨物追跡システム等を構築
1994年アスキーNT(現 ㈱CSK Winテクノロジ)設立に参加 株主 : アスキー、マイクロソフト、NTT データ、CSK 、みずほ銀行
Windows Server と SQL Server に特化し、教育、構築に従事
現在 SQL Server 上のDBコンサルティングとチューニングに従事
㈱CSK Winテクノロジ 技術フェロー特別役員
Microsoft MVP – SQL Server (2007.4 – 2014.3)
Microsoft Press インサイド SQL Server 2005 シリ-ズ監修
日本マイクロソフト株式会社 SQL Server 技術顧問 (2008.7 - )
2014
SQL Server の歴史 第一世代 1994 - 1998
SQL Server 4.2 / 6.0 / 6.5 Sybase 社から技術提供を受け、Windows NT Server 上に移植
2KB/ページ 16KB/エクステント ページロック
第二世代 1998 - 2005 SQL Server 7.0 / 2000
Dr. Jim Gray / Dave Campbell 氏らを迎えアーキテクチャを刷新 8KB/ページ 64KB/エクステント 行ロックの導入 SQLOSの採用 Analysis Service / ETL の提供開始 / XML のサポート
第三世代 2005 - 2012 SQL Server 2005 / 2008 / 2008R2
IA32 から x64 への移行 NUMA アーキテクチャの拡張 クエリー並列処理機能の強化 動的管理ビューによる内部動作と問題点の可視化 ラージオブジェクト格納への対応 BI 機能の強化 パラレル・データ・ウェアハウス
第四世代 2012 - SQL Server 2012
Non Clustered ColumnStore Index Read Only
Always On : HA DR 機能の強化 Power View : Self Service BI 機能の強化 FileTable : NTFSファイルとディレクトリの統合
SQL Server 2014 Clustered Columnstore Index
Insert / Update / Delete を透過的に処理可能
インメモリー OLTP (Hekaton) SSD バッファープール拡張機能
Copyright© CSK WinTechnology Corporation 3
2014
Dr. Jim Gray 行方不明に
Copyright© CSK WinTechnology Corporation
1966年カルフォルニア大学バークレー校卒業
1995年 IBM / タンデム を経てマイクロソフトに入社
1998年 DB と トランザクション処理に関して、チューリング賞を受賞
1998 年、2005 年に来日 4
2014
Dr. Jim Gray の後継者出現
Dr. David J. DeWitt Technical Fellow, Data and Storage Platform Division Microsoft Corp. 2008.3 入社
University of Wisconsin – Madison 校 Computer Sciences Department 教授
Teradata を開発し、NCRに売却
Microsoft Jim Gray Systems Lab 創設者 大規模リレーショナル型DHWのアーキテクチャ を設計 (パラレル DWH)
SQL Server 2008 R2 PDWH 開発に貢献
カラム・ストアー インデックスを実装
5
2014
バランスド システムとは
SQL Server リレーショナルエンジンに最適化された ハードウエア構成 リファレンス アーキテクチャ
考慮すべき構成要素 (共有リソース) プロセッサ
メモリ
ストレージ サブシステム
ネットワーク
SQL Server 専用サーバー上に配置する トランザクション処理用と、DWH系は、分離したサーバー上に 配置する
将来のトランザクション ベースラインを明確化する
SQLOS の内部動作を理解する
6 Copyright© CSK WinTechnology Corporation
2014
プロセッサの選定
主流は、x 64 アーキテクチャ
NUMA アーキテクチャ サポートの有無 NUMA 対応 CPU
Intel Xeon E3 / E5 / E7 シリーズ
AMD Opteron
CPU ソケット内にローカル メモリ コントローラーと複数の 高速インターコネクトを内蔵
マルチコア化が今後も加速 Intel Xeon E3 4 Core/ソケット
Intel Xeon E5 8 Core/ソケット
Intel Xeon E7 V2 15 Core/ソケット
AMD Opteron 16 Core/ソケット
クロック数と、キャッシュサイズも重要
CPU 占有率の監視より、コア数不足 (SQLOS スケジューラと 1: 1) を監視する
7 Copyright© CSK WinTechnology Corporation
2014
必要なメモリサイズの考え方
SQL Server 2000 では、最もクリティカルな 共有リソースだった
現在 x64 64 ビットアドレス方式が主流
SQL Server 2012 Enterprise Edition は、最大 4TB の メモリ空間を利用可能
SQL Server 2012 からメモリーの利用方法が大きく変更された 8 KB Page vs Large page
リソースガバナーを利用してインメモリー OLTP と ColumnStore Index に対応
必要な物理メモリサイズは? NUMA アーキテクチャの場合
NUMA ノードあたり 32–64 GB を推奨
SMP アーキテクチャの場合 CPU 物理コアあたり、4 GB をスタートラインに
OLTP の場合、ユーザー DB 容量の 10% を目安に メモリ見積もりを実施する
8 Copyright© CSK WinTechnology Corporation
2014
ストレージ サブシステムの選定
接続方法 HBA 経由ファイバー チャネル接続
(複数の HBA による MPIO 構成を推奨する)
iSCSI
DAS / PCI 直結型 (高信頼性 SSD : Violin Memory Array / fusion I/O)
デバイスタイプ 処理スピード順 (目的別の階層化を考慮)
SSD/FC ディスク/SAS/SATA
トランザクション ログ 順アクセスの書込み処理 (1,000 IOPS/物理ドライブ)
トランザクション処理 複数の高回転 (15,000 rpm) デバイスを利用
DWH 大容量の中速ディスクを利用
容量より、回転数と物理ディスクの数が重要
RAID 1 + 0 を推奨 (4 + 4) 2 LUN (ユーザー データ領域、tempdb 領域)
(3 + 3) 2 LUN (トランザクション ログ領域、Index 領域)
搭載する物理ディスク数は、データ ボリュームとトランザクション負荷により決定する
9 Copyright© CSK WinTechnology Corporation
2014
次世代のパフォーマンスを実現する
Flash Memory
10 Copyright© CSK WinTechnology Corporation
Database on the Memory HDD vs. Flash Memory (SSD) *1
*1 比較対象のストレージ詳細
SSD Violin Memory Array 3205
HDD CX4-240 (SAS 15K 450GB HDD x10 RAID10)
SQLIO を利用した自社社内検証結果より
HDD SSD
1TB Random Read (8K) – 約 20 倍高速に
1TB Random Write (8K) – 約 10 倍高速に
<
2014
Flash Memory SSD の適用分野
仮想環境基盤のストレージサブシステム
データベース アプリケーション基盤
DWH スタースキーマ
多次元データベース
商品点数と顧客数の多いコマースサイト用 データベース
生産管理用 BOM と MRP バッチ処理の短縮化
データベースの論理設計と物理設計ノウハウが重要となる
11 Copyright© CSK WinTechnology Corporation
2014
SQL Server と NUMA ノード
12 Copyright© CSK WinTechnology Corporation 12
インターコネクト
Windows Node No Node 0 Node 1 Node 2 Node 3
SQLOS Node No
Node 1 Node 0 Node 2 Node 3
OS グローバル・ リソース SQLOS
ユーザノード
SQLOS グローバル・ リソース
システムノード
SQLOS ユーザノード
SQLOS ユーザノード
メモリー コント ローラ
CPU
CPU
CPU
CPU
メ モ リ
CPU
CPU
CPU
CPU
メモリー コント ローラ
CPU
CPU
CPU
CPU
メ モ リ
CPU
CPU
CPU
CPU
メモリー コント ローラ
CPU
CPU
CPU
CPU
メ モ リ
CPU
CPU
CPU
CPU
メモリー コント ローラ
CPU
CPU
CPU
CPU
メ モ リ
CPU
CPU
CPU
CPU
2014
2/19 Xeon E7 V2 発表
13 Copyright© CSK WinTechnology Corporation
2014
4 ソケット 60 物理コア 2,000 User
14 Copyright© CSK WinTechnology Corporation
2014
SQL Server サービス起動ログ Configuration option 'max degree of parallelism' changed from 0 to 15. Run the RECONFIGURE statement to install.
Configuration option 'show advanced options' changed from 0 to 1. Run the RECONFIGURE statement to install.
Starting up database 'Northwind'.
Configuration option 'show advanced options' changed from 0 to 1. Run the RECONFIGURE statement to install.
Service Broker manager has started.
The Database Mirroring endpoint is in disabled or stopped state.
The Service Broker endpoint is in disabled or stopped state.
Starting up database 'tempdb'.
Clearing tempdb database.'.
The resource database build version is 11.00.2100.
Starting up database 'mssqlsystemresource'.
Starting up database 'msdb'.
Resource governor reconfiguration succeeded.
CLR version v4.0.30319 loaded.
Lock partitioning is enabled.
Using dynamic lock allocation. Initial allocation of 2500 Lock blocks and 5000 Lock Owner blocks per node.
Node configuration: node 3: CPU mask: 0x0fffe00000000000:0 Active CPU mask: 0x0fffe00000000000:0. This message
provides a description of the NUMA configuration for this computer.
Node configuration: node 2: CPU mask: 0x00001fffc0000000:0 Active CPU mask: 0x00001fffc0000000:0. This message
provides a description of the NUMA configuration for this computer.
Node configuration: node 1: CPU mask: 0x000000003fff8000:0 Active CPU mask: 0x000000003fff8000:0. This message
provides a description of the NUMA configuration for this computer.
Node configuration: node 0: CPU mask: 0x0000000000007fff:0 Active CPU mask: 0x0000000000007fff:0. This message
provides a description of the NUMA configuration for this computer.
Machine supports memory error recovery. SQL memory protection is enabled to recover from memory corruption.
Large Page Allocated: 32MB
Large Page Allocated: 32MB
Large Page Allocated: 32MB
Large Page Allocated: 32MB
Using locked pages in the memory manager.
Detected 1048419 MB of RAM.
SQL Server detected 4 sockets with 15 cores per socket and 15 logical processors per socket<c/> 60 total
logical processors; using 60 logical processors based on SQL Server licensing.
The service account is 'NX7700X¥Administrator'.
Authentication mode is WINDOWS-ONLY.
System Manufacturer: 'NEC'<c/> System Model: 'Express5800/A2040b [NE3400-001S]'.
Server process ID is 5304.
Microsoft SQL Server 2012 - 11.0.2100.60 (X64) <nl/> Feb 10 2012 19:39:15 <nl/> Copyright (c) Microsoft
Corporation<nl/> Enterprise Edition: Core-based Licensing (64-bit) on Windows NT 6.2 <X64> (Build 9200: )
15 Copyright© CSK WinTechnology Corporation
2014
PASS Summit 2013 at Charlotte
16 Copyright© CSK WinTechnology Corporation
2014
ハードウエアトレンド (CPU と Memory)
17 Copyright© CSK WinTechnology Corporation
キーワード メニーコアを念頭においた並列処理化
NUMA を最大限に活用する DBMS エンジン
インメモリーテクノロジの活用 ColumnStore Index と OLTP インメモリーエンジン
1
100
10000
1000000
1990
1991
1992
1993
1994
1994
1995
1996
1997
1998
1999
2000
2000
2001
2002
2004
2005
2007
2008
2009
2011
US$
/GB
$ per GB of PC Class Memory
RAM コストの低下
クロック当たりの処理能力
(ILP) は伸びず
発熱対策は限界
ムーアの法則
トランジスタ数/コア 頭打ち
クロック数増加の失速
Chart reference http://www.gotw.ca/publications/concurrency-ddj.htm
2014
第四世代 SQL Server RDB (1)
インメモリー機能の活用 インメモリー OLTP エンジン
インデックス情報とデータをメモリー上に保持する 従来のバッファーキャッシュとは異なる
カラムストアーインデックス DWH の不定型検索処理や集計処理に最適 ビットマップインデックスの採用 データ圧縮機能によりインメモリー化に貢献 カラム(列)単位の検索処理と集計処理を、インメモリーテクノロジーを活用し、高速化する
バッチ処理モード 従来の統計情報を利用しない実行プランの生成
導入されたテクノロジー SQL Server 2012
従来型の行ストア型テーブルに、非クラスタカラムストアインデックスを付与する
SQL Server 2014 ヒープ構造のテーブルを、直接クラスタカラムストアインデックスに変換する
18 Copyright© CSK WinTechnology Corporation
2014
インメモリ OLTP
19 Copyright© CSK WinTechnology Corporation
SQL Server に統合され、最新ハードウェアのトレンドに合わせて設計された新しい高パフォーマンスのメモリ最適化 OLTP エンジン
SQL Server リレーショナル データベースに統合
完全な ACID サポート
メモリ最適化インデックス (B ツリーおよびバッファー プールなし)
ブロック不可マルチバージョン オプティミスティック同時実行制御 (ロック/ラッチなし)
ネイティブ コードにコンパイルされた T-SQL
お客様の利点:
• 短い待機時間
• 最大 10 倍のパフォーマンス向上
• 2 ~ 5 倍のスケーラビリティ向上
• SQL Server の投資を活用
アプリケーション SIP (株式情報処理) –高ボリュームのリアルタイム取引データを取り、売買が終わった後に市場株式価格を公開。待機時間は 0.5 ミリ秒以下であることが要求される。
インメモリ OLTP ソリューション テーブル上の競合がなく、ネイティブにコンパイルされたコードからのパス長が短いので、アプリケーションは 0.4 ミリ秒の予測可能なエンド ツー エンドの待機時間を達成
0 0.5 1 1.5
SQL Server
2014
SQL Server
2008 SP1
待機時間 (ミリ秒)
待機時間 (ミリ秒)
2014
SBI リクイディティマーケット様 事例
20 Copyright© CSK WinTechnology Corporation
http://www.microsoft.com/casestudies/Case_Study_Detail.aspx
?CaseStudyID=710000003429
2014
SBI FX トレード様 システム概要
21 Copyright© CSK WinTechnology Corporation
インメモリー OLTP を採用
2014
カラムストアインデックスの進化
SQL Server 2012 で非クラスタ化カラムストアインデックスを提供 従来型のクラスタ化インデックスを持つテーブルに設定可能 DWH 業務の非定型型の集計や検索処理が飛躍的にスピードアップ 非クラスタ化カラムストアインデックスを付与したテーブルは、検索処理専用で、 直接更新処理はできない
バッチ処理等でデータ追加後に、非クラスタ化カラムストアインデックスの再作成が必要
テーブル使用領域が大きくなる 従来のクラスタ化インデックス領域 + 非クラスタ化カラムストアインデックス領域
SQL Server 2014 でクラスタ化カラムストアインデックスを提供 ヒープ構造のテーブルをクラスタ化カラムストアインデックスに変換 データ圧縮機能によりテーブル使用領域が小さい リアルタイムに透過的な更新処理が可能
Insert 処理 : 新たなパーティション内に追加 Update 処理 : Delete + Insert 処理 Delete 処理 : 行に削除フラグを設定する
定期的にインデックスの再構築を実施する
カラムストアインデックスは、ビットマップインデックスを利用 インデックスの格納は BLOB 領域を利用 カラムストアインデックスは統計情報を持たない
22 Copyright© CSK WinTechnology Corporation
2014
カラム・ストアーの考え方
23 Copyright© CSK WinTechnology Corporation
カラム・オリエンテッド データストアー
行・オリエンテッド データストアー
コア・キャッシュ・インターコネクト
30MB L3 Cache
キー1 a1 b1 c1 d1
キー2 a2 b2 c2 d2
a1 a2 a3 ……. an
b1 b2 null ……. bn
CPU Core2
CPU Core1
CPU Core3
CPU Core4
CPU Core5
CPU Core6
CPU Core7
CPU Core8
L1
L2
L1
L2
L1
L2
L1
L2
L1
L2
L1
L2
L1
L2
L1
L2
Intel Xeon E7 シリーズの例
CPU Core9
CPU Core10
L1
L2
L1
L2
2014
bigTransactionHistory14 の DDL
24 Copyright© CSK WinTechnology Corporation
CREATE TABLE [dbo].[bigTransactionHistory14]( [TransactionID] [int] NOT NULL, [ProductID] [int] NOT NULL, [TransactionDate] [datetime] NULL, [Quantity] [int] NULL, [ActualCost] [money] NULL ) ON [PRIMARY] CREATE CLUSTERED COLUMNSTORE INDEX [ClusteredColumnStoreIndex_BigTranHistory] ON [dbo].[bigTransactionHistory14]
WITH (DROP_EXISTING = OFF) ON [PRIMARY]
ヒープ構造のベーステーブルは、 TransactionID 列の値で昇順にソート済み
テーブル内データ件数 31,263,601 / インデックス作成時間 1 分 23 秒
2014
sys.column_store_segments min_data_id と max_data_id を参照し、検索セグメントを決定する
25 Copyright© CSK WinTechnology Corporation
column_id segment_id version encoding_type row_count has_nulls base_id min_data_id max_data_id on_disk_size
1 0 1 1 1,048,576 0 -2 1 31,263,601 4,194,888
1 1 1 1 1,048,576 0 29,478,774 29,478,777 31,245,824 2,796,792
1 2 1 1 1,048,576 0 28,112,318 28,112,321 30,197,248 2,796,792
1 3 1 1 1,048,576 0 27,060,751 27,060,754 29,148,672 2,796,792
1 4 1 1 1,048,576 0 26,154,758 26,154,761 28,100,096 2,796,792
1 5 1 1 1,048,576 0 24,975,944 24,975,947 27,051,520 2,796,792
1 6 1 1 1,048,576 0 23,916,675 23,916,678 26,002,944 2,796,792
2 0 1 2 1,048,576 0 -1 1,001 50,999 2,097,736
2 1 1 2 1,048,576 0 -1 1,001 50,999 2,097,736
2 2 1 2 1,048,576 0 -1 1,001 50,999 2,097,736
2 3 1 2 1,048,576 0 -1 1,001 50,999 2,097,736
2 4 1 2 1,048,576 0 -1 1,001 50,997 2,097,736
2 5 1 2 1,048,576 0 -1 1,001 50,999 2,097,736
2 6 1 2 1,048,576 0 -1 1,001 50,999 2,097,736
3 0 1 2 1,048,576 0 -1 164,716,290,768,896 173,508,088,823,808 1,408
3 1 1 2 1,048,576 0 -1 172,996,987,715,584 173,503,793,856,512 1,728
3 2 1 2 1,048,576 0 -1 172,571,785,953,280 173,198,851,178,496 1,760
3 3 1 2 1,048,576 0 -1 172,258,253,340,672 172,893,908,500,480 1,800
3 4 1 2 1,048,576 0 -1 171,966,195,564,544 172,567,490,985,984 1,784
3 5 1 2 1,048,576 0 -1 171,601,123,344,384 172,253,958,373,376 1,840
3 6 1 2 1,048,576 0 -1 171,274,705,829,888 171,914,655,956,992 1,800
4 0 1 2 1,048,576 0 -1 1 100 191,600
4 1 1 2 1,048,576 0 -1 1 100 320,600
4 2 1 2 1,048,576 0 -1 1 100 361,488
4 3 1 2 1,048,576 0 -1 1 100 370,952
4 4 1 2 1,048,576 0 -1 1 100 388,768
4 5 1 2 1,048,576 0 -1 1 100 379,240
4 6 1 2 1,048,576 0 -1 1 100 402,056
5 0 1 4 1,048,576 0 0 0 7,014,151,213 4,125,176
5 1 1 4 1,048,576 0 0 0 7,156,143,655 5,035,760
5 2 1 4 1,048,576 0 0 0 7,027,283,306 5,068,400
5 3 1 4 1,048,576 0 0 0 7,144,141,920 5,050,616
5 4 1 4 1,048,576 0 0 0 7,126,428,747 5,030,512
5 5 1 4 1,048,576 0 0 0 7,137,000,989 5,054,416
5 6 1 4 1,048,576 0 0 0 7,096,266,811 5,056,520
2014
Row Mode と Batch Mode 処理
26 Copyright© CSK WinTechnology Corporation
処理時間 : Row Mode 22 秒 vs Batch Mode 2 秒
2014
クラスタ化カラムストアインデックス Batch Mode 実行プラン
27 Copyright© CSK WinTechnology Corporation
2014
テーブル領域サイズの比較
28 Copyright© CSK WinTechnology Corporation
データ領域 サイズ (KB)
インデックス領域 サイズ (KB)
合計 (KB)
ヒープ構造 1,269,592 8 1,269,600
クラスタ化インデックス設定 1,147,296 1,864 1,149,160
クラスタ化インデックス設定 + 非クラスタ化カラムストアインデックス
1,147,296 308,648 1,455,944
クラスタ化カラムストアインデックス 307,288 0 307,288
• クラスタ化カラムストアインデックスの領域サイズは、データ圧縮機能により、ヒープ構造領域サイズの 24.2 % (圧縮率 約 4 倍 )
• クラスタ化インデックスの付与されたテーブルに、非クラスタ化カラムストアインデックスを定義すると、26.7 % の領域が増加する クラスタ化カラムストアインデックスの領域サイズと比較すると、 領域サイズは 21.1 % (圧縮率 約 5 倍 )
2014
第四世代 SQL Server RDB (2)
ラッチ処理の見直し ラッチ処理
三種類のラッチから構成される PageIOLatch PageLatch Latch
ストレージエンジン内の処理のシリアライズ処理 ディスクからバッファープールへのデータ転送非同期処理の完了待ち 更新のロストの防止 データ領域の動的拡張処理の完了待ち
次世代データ格納構造の採用 従来型データ格納構造
B-Tree or Heap 構造 64KB エクステントと 8KB ページ データの追加・削除によりページ分割が発生する
データページとインデックスページの両方
次世代データ格納構造 (SQL Server 2012 - 2014) ファイルストリーム型
インメモリー OLTP (Hekaton) インデックス構造の排除 メモリー展開時に、動的なインデックス情報を付加する
BLOB型 ColumnStore Index セグメント構造
29 Copyright© CSK WinTechnology Corporation
2014
PageLatch のメカニズム
30 Copyright© CSK WinTechnology Corporation
なぜ Lock では不十分か?
4 400
96
1
Page 100
m_freedata=126
100 2 200
111
m_freedata=126 IX Page
100
INSERT VALUES
(3,300)
INSERT VALUES
(4,400)
96
1
Page 100
100 2 200
111
3
126
300
4
PageLatch_
EX
PageLatch_
EX
141
400
141
156
ページヘッダ内の情報の変更が必要 (例 Checksum, torn page bits)
2014
ラッチ不要なアーキテクチャ
データベース格納構造は、1970 年代から同じアーキテクチャを採用 従来の階層型格納構造とページ構造
データベース データファイル
格納制御用ビットマップ領域 (PFS / GAM)
インデックスアロケーションマップ (IAM)
エクステント ( 8 KB Page * 8)
ページ (8 KB) インデックスページ
データページ
階層型格納構造の整合性を維持するためにラッチ処理を採用 トランザクション処理とは無関係な、ストレージエンジン内部の短時間 排他制御
該当するトランザクションが異常終了しても、ロールバック処理は実施しない
これらの処理を排除するには、データベース格納構造の見直しが必要 インメモリー OLTP は、ファイルストリーム機能を利用
カラムストアインデックスは、BLOB ページに格納
31 Copyright© CSK WinTechnology Corporation
2014
第四世代L Server RDB (3)
ロック処理の見直し トランザクションの ACID プロパティの担保 ANSI トランザクション分離レベルの提供 行バージョニングと Read Committed Isolation Level の採用
ペシミスティック (悲観的)同時実行制御とオプティミスティック (楽観的)同時実行制御 従来の SQL Server は、ペシミスティック同時実行制御をコンセプトにデザイン データ検索時に共有ロックを取得する
SQL Server 2005 から、オプティミスティック同時実行制御と 読み取り行のバージョニング機能を提供し、ユーザが選択可能
SQL Server 2014 インメモリー OLTP は、オプティミスティック 同時実行制御と読み取り行のバージョニング機能を、標準アーキテクチャとして採用
32 Copyright© CSK WinTechnology Corporation
2014
3 種類のアーキテクチャにより実現
オプティミスティック (楽観的)同時実行制御 コンフリクト(更新の競合)の発生確率は多くない トランザクションは排他制御(ロック)を発行しない コンフリクト(更新の競合)発生検出メカニズムを実装する
同一データに対して複数のバージョンを保持する データの更新と追加時には、新たなバージョンの行を作成する コミット処理後、コンフリクト(更新の競合)が発生していないことを確認する までは、他のトランザクションからはイン・ビジブル
データはタイム・スタンプにより管理する それぞれのバージョンの行は、開始と終了のタイムスタンプを持つ
トランザクション開始時には、開始時間により該当するバージョンの行を取得する
タイムスタンプは、行の作成された順序 (FIFO) でポインターにより検索可能である
最後にコミットされた行の終了時間は無限大となる
33 Copyright© CSK WinTechnology Corporation
2014
ロック不要なアーキテクチャ
34 Copyright© CSK WinTechnology Corporation
通常トランザクション処理 RCSI によりコミットされた最新の行を検索 更新したデータは仮の行バージョンとなり、他のトランザクションからは イン・ビジブル
コンフリクトの検出 他のトランザクションでコンフリクトの有無を検出 コンフリクトを検出した場合はロールバックを行いアプリケーションに通知
トランザクション後処理 トランザクションが更新した最後の行バージョンを他のトランザクションから 参照可能な状態に変更する(非同期処理)
CMPXCHG : Compare and Exchange 命令を利用
Time
Begin
通常の トランザクション処理
コンフリクトの検出
トランザクション 後処理
Pre-Commit Commit Terminate
2014
インメモリーインデックスとバージョニング
35 Copyright© CSK WinTechnology Corporation
• テーブルは行の集まり。行は複数バージョン。 • それぞれの行は2つのタイムスタンプにより有効な範囲を持っている。 • トランザクションのリードの時刻がそのタイムスタンプ内の場合に読める。 • バージョンのガベージコレクションはインクリメンタル、パラレル処理でブロック
しない。 • テーブルは複数のインデックスを持てる。
90,150 Susan Bogota
50, ∞ Jane Prague
100, 200 John Paris
70, 90 Susan Brussels
200, ∞ John Beijing
Timestamps Name Chain ptrs City
Hash index
on City
B P
Hash index
on Name
J S
Row format
2014
一般のデータ検索機能
一般のデータ検索機能 OLTP とバッチ処理
マルチユーザによる多頻度更新処理
トランザクション属性を保障したリアルタイムデータを保持
正規化された構造化データを扱う
ETL と DWH ペタバイト (10の15乗) のデータをスタースキーマ形式で格納する
大量データ追加更新を短時間で
定型検索
データ反映の即時性の有無
多次元検索機能 事前集計された多次元データのドリルダウン検索
大量データ追加更新を短時間で
36 Copyright© CSK WinTechnology Corporation
2014
SharePoint のデータベース要件
ドキュメントの管理
所有者と変更管理
アクセス権の設定
ファイルサーバー機能の提供
マルチバージョン形式の大量データの保存
フルテキスト検索機能
マルチユーザへのアクセス基盤提供
SharePoint Online によりブラックボックス化
37 Copyright© CSK WinTechnology Corporation
2014
SharePoint 用に追加された機能
非構造型データの格納と検索機能
BLOB
ファイルストリーム
ファイルテーブル
コンテンツのインデックス検索
Fast Index Search
バックアップ・リストアをどう扱うか?
38 Copyright© CSK WinTechnology Corporation
2014
SharePoint 用データベース
39 Copyright© CSK WinTechnology Corporation
2014
SQL Server の設定・管理は必要 ?
データ格納基盤のサイジング 仮想化基盤利用の是非
利用ユーザ数と格納容量見積もり
必要なサーバー数は コンテンツ DB / Index / DWH / MOLAP / Reporting Service
CPU コア数、メモリーサイズ、ネットワーク帯域
tempdb 同時実行性の向上
CPU リソースの並列処理設定
SQL Server が使用するメモリーの固定化
ストレージサブシステム設計 どのファイルをどの論理デバイス上に配置するか
データファイルとトランザクションログファイルの 初期サイズと拡張増分指定の設定
データ格納領域の断片化とインデックス再構築
40 Copyright© CSK WinTechnology Corporation
2014
NUMA ノード上の Windows Server と Hyper-V (1) メモリーアクセスが、ローカルとリモートにまたがり、効率が悪い SQL Server は、SMP マシンとして認識する
41 Copyright© CSK WinTechnology Corporation
CPU ソケット 1
物理 コア
1
物理 コア
2
物理 コア
3
物理 コア
4
物理 コア
5
物理 コア
6
物理 コア
7
物理 コア
8
物理 コア
1
物理 コア
2
物理 コア
3
物理 コア
4
物理 コア
5
物理 コア
6
物理 コア
7
物理 コア
8
CPU ソケット 2
NUMA ノード 0 NUMAノード1
ローカルメモリー ローカルメモリー
Windows Server & Hyper-V Host
仮想 Windows Server & Hyper-V Guest
SQL Server
2014
42 Copyright© CSK WinTechnology Corporation
NUMA ノード上の Windows Server と Hyper-V (2) メモリーアクセスは、ローカルのみで効率が良い
Aligned on NUMA Node boundary 機能を提供
SQL Server は、SMP マシンとして認識する
CPU ソケット 1
物理 コア
1
物理 コア
2
物理 コア
3
物理 コア
4
物理 コア
5
物理 コア
6
物理 コア
7
物理 コア
8
物理 コア
1
物理 コア
2
物理 コア
3
物理 コア
4
物理 コア
5
物理 コア
6
物理 コア
7
物理 コア
8
CPU ソケット 2
NUMA ノード 0 NUMAノード1
ローカルメモリー ローカルメモリー
Windows Server & Hyper-V Host
仮想 Windows Server & Hyper-V
Guest
SQL Server
仮想 Windows Server & Hyper-V
Guest
SQL Server
2014
43 Copyright© CSK WinTechnology Corporation
NUMA ノード上の Windows Server と Hyper-V (3) SQL Server は、仮想環境上で NUMA を利用可能らしい Windows Server 2012 からHyper-V V-NUMA で実現した SQL Server は、NUMA を認識し、最適化を行うらしい
CPU ソケット 1
物理 コア
1
物理 コア
2
物理 コア
3
物理 コア
4
物理 コア
5
物理 コア
6
物理 コア
7
物理 コア
8
NUMA ノード 0
ローカルメモリー
Windows Server & Hyper-V Host
CPU ソケット 2
NUMA ノード 1
ローカルメモリー
CPU ソケット 3
物理 コア
1
物理 コア
2
物理 コア
3
物理 コア
4
物理 コア
5
物理 コア
6
物理 コア
7
物理 コア
8
NUMA ノード 0
ローカルメモリー
CPU ソケット 4
NUMA ノード 1
ローカルメモリー
仮想 Windows Server & Hyper-V Guest
SQL Server
仮想 Windows Server & Hyper-V Guest
SQL Server
2014
SQL server 起動ログ
44 Copyright© CSK WinTechnology Corporation
spid51,Using 'xplog70.dll' version '2009.100.1600' to execute extended stored procedure
'xp_msver'.
spid51,Attempting to load library 'xplog70.dll' into memory.
spid51,Using 'xpstar.dll' version '2009.100.1600' to execute extended stored procedure
'xp_instance_regread'.
spid51,Attempting to load library 'xpstar.dll' into memory.
spid7s,Recovery is complete.
spid51,Using 'xpsqlbot.dll' version '2009.100.1600' to execute extended stored procedure 'xp_qv'.
spid51,Attempting to load library 'xpsqlbot.dll' into memory.
spid21s,A new instance of the full-text filter daemon host process has been successfully started.
spid26s,Starting up database 'WSS_Content_mailtest'.
spid33s,Starting up database 'WSS_Content_RBS2'.
spid32s,Starting up database 'DocAve_ReportDB2'.
spid25s,Starting up database 'DocAve_ReportDB1'.
spid33s,Starting up database 'DocAve_AuditDB'.
spid28s,Starting up database 'DocAve_ControlDB'.
spid37s,Starting up database 'Secure_Store_Service_DB_405b13cb-0cdb-42da-bdae-
4c32a6cae31f'.
spid23s,Starting up database 'WSS_Content_RBS'.
spid26s,Starting up database 'DocAveCache'.
spid32s,Starting up database 'WSS_Content_cwtspf01'.
spid26s,Starting up database 'Bdc_Service_DB_ff0ed6c74ee94daea5f9902448edb1c2'.
spid33s,Starting up database 'UPSApp_SocialDB_bd2d1ac3a7114262ab9efa0ef2a452c1'.
spid27s,Starting up database 'UPSApp_SyncDB_db675b72-ec7e-46a0-a85d-931f9a53753c'.
spid37s,Starting up database 'ProfileDB'.
spid38s,Starting up database 'TONODB'.
spid30s,Starting up database
'Search_Service_Application_CrawlStoreDB_5a34fac31a4e4e5296cb8f1333112097'.
spid28s,Starting up database
'Search_Service_Application_DB_abce596e166849578d153755368f7ec4'.
spid31s,Starting up database 'WSS_Search_CWTSPF01'.
spid29s,Starting up database
'Search_Service_Application_PropertyStoreDB_c36b8a83d0244e7990e86263e68aa00b'.
spid32s,Starting up database 'StateService_ddbdde39f3df44d48fa68b27a54b8891'.
spid27s,Starting up database 'WordAutomationServices_15d5d7ba4d7f4c79ae700f2e63d58f59'.
spid26s,Starting up database 'WSS_Content'.
spid25s,Starting up database 'SharePoint_AdminContent_1f19041d-da52-4f3c-95fa-
b210e3f13eec'.
spid24s,Starting up database 'SharePoint_Config'.
spid23s,Starting up database 'msdb'.
spid15s,Service Broker manager has started.
A self-generated certificate was successfully loaded for encryption.
spid16s,Clearing tempdb database.
spid7s,Server name is 'CWTSPD01'.
spid16s,Starting up database 'model'.
spid7s,The resource database build version is 10.50.2500.
spid7s,Starting up database 'mssqlsystemresource'.
spid7s,SQL Trace ID 1 was started by login "sa".
spid7s,FILESTREAM: effective level = 3<c/> configured level = 3<c/> file system access share
name = 'MSSQLSERVER'.
spid7s,Recovery is writing a checkpoint in database 'master' (1).<nl/><{39B75A24-0837-4CEC-
AFDF-B960027AE07E}>RsFxNso initialized. InstanceId = 00000001<nl/><{50080099-5EC4-
4EAF-A2A2-63C3DA97F8EB}>FsAgent is initialized<nl/><{09C4480B-DBA4-49B7-956F-
68A8B8B2445D}>FsAgent is up and running
spid7s,The tail of the log for database master is being rewritten to match the new sector size of
4096 bytes. 1536 bytes at offset 43520 in file E:¥Program Files¥Microsoft SQL
Server¥MSSQL10_50.MSSQLSERVER¥MSSQL¥DATA¥mastlog.ldf will be written.
spid7s,Starting up database 'master'.
Node configuration: node 0: CPU mask: 0x000000000000000f:0 Active CPU mask:
0x000000000000000f:0. This message provides a description of the NUMA configuration for this
computer.
Using dynamic lock allocation. Initial allocation of 2500 Lock blocks and 5000 Lock Owner
blocks per node.
Detected 4 CPUs.
SQL Server is starting at normal priority base (=7). This is an informational message only. No
user action is required.
Authentication mode is WINDOWS-ONLY.
System Manufacturer: 'Microsoft Corporation'<c/> System Model: 'Virtual Machine'.
Server process ID is 1596.
All rights reserved.
(c) Microsoft Corporation.
,Microsoft SQL Server 2008 R2 (SP1) - 10.50.2550.0 (X64) <nl/> Jun 11 2012
16:41:53 <nl/> Copyright (c) Microsoft Corporation<nl/> Standard Edition (64-bit) on
Windows NT 6.1 <X64> (Build 7601: Service Pack 1) (Hypervisor)
spid51,Using 'xplog70.dll' version '2009.100.1600' to execute extended stored procedure
'xp_msver'.
spid51,Attempting to load library 'xplog70.dll' into memory.
spid51,Using 'xpstar.dll' version '2009.100.1600' to execute extended stored procedure
'xp_instance_regread'.
spid51,Attempting to load library 'xpstar.dll' into memory.
spid7s,Recovery is complete.
spid51,Using 'xpsqlbot.dll' version '2009.100.1600' to execute extended stored procedure
'xp_qv'.
spid51,Attempting to load library 'xpsqlbot.dll' into memory.
spid21s,A new instance of the full-text filter daemon host process has been successfully started.
spid26s,Starting up database 'WSS_Content_mailtest'.
spid33s,Starting up database 'WSS_Content_RBS2'.
spid32s,Starting up database 'DocAve_ReportDB2'.
spid25s,Starting up database 'DocAve_ReportDB1'.
spid33s,Starting up database 'DocAve_AuditDB'.
spid28s,Starting up database 'DocAve_ControlDB'.
spid37s,Starting up database 'Secure_Store_Service_DB_405b13cb-0cdb-42da-bdae-
4c32a6cae31f'.
spid23s,Starting up database 'WSS_Content_RBS'.
spid26s,Starting up database 'DocAveCache'.
spid32s,Starting up database 'WSS_Content_cwtspf01'.
spid26s,Starting up database 'Bdc_Service_DB_ff0ed6c74ee94daea5f9902448edb1c2'.
spid33s,Starting up database 'UPSApp_SocialDB_bd2d1ac3a7114262ab9efa0ef2a452c1'.
spid27s,Starting up database 'UPSApp_SyncDB_db675b72-ec7e-46a0-a85d-931f9a53753c'.
spid37s,Starting up database 'ProfileDB'.
spid38s,Starting up database 'TONODB'.
spid30s,Starting up database
'Search_Service_Application_CrawlStoreDB_5a34fac31a4e4e5296cb8f1333112097'.
spid28s,Starting up database
'Search_Service_Application_DB_abce596e166849578d153755368f7ec4'.
spid31s,Starting up database 'WSS_Search_CWTSPF01'.
spid29s,Starting up database
'Search_Service_Application_PropertyStoreDB_c36b8a83d0244e7990e86263e68aa00b'.
spid32s,Starting up database 'StateService_ddbdde39f3df44d48fa68b27a54b8891'.
spid27s,Starting up database 'WordAutomationServices_15d5d7ba4d7f4c79ae700f2e63d58f59'.
spid26s,Starting up database 'WSS_Content'.
spid25s,Starting up database 'SharePoint_AdminContent_1f19041d-da52-4f3c-95fa-
b210e3f13eec'.
spid24s,Starting up database 'SharePoint_Config'.
spid23s,Starting up database 'msdb'.
spid15s,Service Broker manager has started.
A self-generated certificate was successfully loaded for encryption.
spid16s,Clearing tempdb database.
spid7s,Server name is 'CWTSPD01'.
spid16s,Starting up database 'model'.
spid7s,The resource database build version is 10.50.2500.
spid7s,Starting up database 'mssqlsystemresource'.
spid7s,SQL Trace ID 1 was started by login "sa".
spid7s,FILESTREAM: effective level = 3<c/> configured level = 3<c/> file system access share
name = 'MSSQLSERVER'.
spid7s,Recovery is writing a checkpoint in database 'master' (1).<nl/><{39B75A24-0837-4CEC-
AFDF-B960027AE07E}>RsFxNso initialized. InstanceId = 00000001<nl/><{50080099-5EC4-
4EAF-A2A2-63C3DA97F8EB}>FsAgent is initialized<nl/><{09C4480B-DBA4-49B7-956F-
68A8B8B2445D}>FsAgent is up and running
spid7s,The tail of the log for database master is being rewritten to match the new sector size of
4096 bytes. 1536 bytes at offset 43520 in file E:¥Program Files¥Microsoft SQL
Server¥MSSQL10_50.MSSQLSERVER¥MSSQL¥DATA¥mastlog.ldf will be written.
spid33s,Starting up database 'WSS_Content_RBS2'.
spid32s,Starting up database 'DocAve_ReportDB2'.
spid25s,Starting up database 'DocAve_ReportDB1'.
spid33s,Starting up database 'DocAve_AuditDB'.
spid28s,Starting up database 'DocAve_ControlDB'.
spid37s,Starting up database 'Secure_Store_Service_DB_405b13cb-0cdb-42da-bdae-4c32a6cae31f'.
spid23s,Starting up database 'WSS_Content_RBS'.
spid26s,Starting up database 'DocAveCache'.
spid32s,Starting up database 'WSS_Content_cwtspf01'.
spid27s,Starting up database 'UPSApp_SyncDB_db675b72-ec7e-46a0-a85d-931f9a53753c'.
spid37s,Starting up database 'ProfileDB'.
spid38s,Starting up database 'TONODB'.
spid30s,Starting up database 'Search_Service_Application_CrawlStoreDB_5a34fac31a4e4e5296cb8f1333112097'.
spid24s,Starting up database 'SharePoint_Config'.
A self-generated certificate was successfully loaded for encryption.
spid16s,Clearing tempdb database.
spid7s,Server name is 'XXXXXXXXXXX'.
spid7s,The resource database build version is 10.50.2500.
spid7s,Starting up database 'mssqlsystemresource'.
spid7s,SQL Trace ID 1 was started by login "sa".
spid7s,FILESTREAM: effective level = 3<c/> configured level = 3<c/> file system access share name = 'MSSQLSERVER'.
spid7s,Starting up database 'master'.
Node configuration: node 0: CPU mask: 0x000000000000000f:0 Active CPU mask: 0x000000000000000f:0. This message
provides a description of the NUMA configuration for this computer.
Using dynamic lock allocation. Initial allocation of 2500 Lock blocks and 5000 Lock Owner blocks per node.
Detected 4 CPUs.
SQL Server is starting at normal priority base (=7). This is an informational message only. No user action is required.
Authentication mode is WINDOWS-ONLY.
System Manufacturer: 'Microsoft Corporation'<c/> System Model: 'Virtual Machine'.
Server process ID is 1596.
All rights reserved.(c) Microsoft Corporation.
,Microsoft SQL Server 2008 R2 (SP1) - 10.50.2550.0 (X64) <nl/> Jun 11 2012 16:41:53 <nl/> Standard Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service
Pack 1) (Hypervisor)
2014
tempdb 同時実行性の向上
物理CPUコア数 > 8 Tempdb データファイル数 = 物理CPUコア数
物理CPUコア数 < 8 Tempdb データファイル数 = 8
45 Copyright© CSK WinTechnology Corporation
2014
CPU リソースの並列処理設定
並列処理の最大限度 (Max DOP) NUMA の場合
ソケット内の物理コア数を設定
SMP の場合 (物理コア数 / 4) の値を設定
46 Copyright© CSK WinTechnology Corporation
2014
SQL Server が使用するメモリーの固定化
SQL Server の利用するメモリーを固定化する
ただし、仮想環境の場合は注意が必要
47 Copyright© CSK WinTechnology Corporation
2014
SQLOS 内部待ち事象の監視 select * from sys.dm_os_wait_stats
48 Copyright© CSK WinTechnology Corporation
wait_type
waiting_tasks_cou
nt wait_time_ms
max_wait_time_
ms
signal_wait_time_
ms WRITELOG 19,522,427 228,630,235 6,893 1,496,341 CXPACKET 26,591,427 144,831,208 203,628 791,374 PAGEIOLATCH_SH 19,361,735 114,135,065 3,916 199,036 DISPATCHER_QUEUE_SEMAPHORE 1,254,638 82,487,780 50,317 1,275,858 SLEEP_BPOOL_FLUSH 13,003,110 72,632,037 2,977 211,905 BACKUPBUFFER 3,555,303 45,926,746 2,079 778,628 ASYNC_IO_COMPLETION 117 34,102,941 1,700,209 15 PAGEIOLATCH_EX 4,122,774 33,606,301 895 29,670 BACKUPIO 1,423,196 18,215,212 50,131 211,285 ASYNC_NETWORK_IO 21,285,830 10,236,877 18,026 1,732,046 PREEMPTIVE_OS_AUTHENTICATIONOPS 22,254,032 10,134,619 59,800 0 IO_COMPLETION 621,464 4,859,744 1,278 3,256 LCK_M_U 39,417 4,623,987 630,076 3,818 LCK_M_IX 2,353 2,618,793 44,264 890 PAGELATCH_EX 174,190,041 2,226,165 489 1,674,960 SOS_SCHEDULER_YIELD 14,119,681 1,710,884 661 1,691,731 LCK_M_S 59,386 1,696,709 14,747 11,284 PREEMPTIVE_OLEDBOPS 5,710,643 1,470,582 562 0 LCK_M_IS 290 1,291,402 76,119 129 LCK_M_X 4,439 1,035,284 12,267 1,594 OLEDB 415,321 819,291 4,035 0 LCK_M_SCH_S 36,526 660,048 63,878 69,884 PREEMPTIVE_OS_LOOKUPACCOUNTSID 3,180,474 653,333 84 0 PAGEIOLATCH_UP 33,013 395,645 296 1,003 PREEMPTIVE_OS_DELETESECURITYCONTEXT 3,179,053 347,982 406 0 LATCH_EX 274,284 306,033 858 56,177 SQLTRACE_FILE_BUFFER 7,132 301,508 1,126 2,165 PAGELATCH_SH 2,673,763 211,158 766 99,750
2014
データベース I/O 監視 select * from sys.dm_io_virtual_file_stats(null, null)
49 Copyright© CSK WinTechnology Corporation
db file_id size_on_disk_byt
es num_of_read
s num_of_bytes_read io_stall_read_
ms num_of_write
s num_of_bytes_writte
n io_stall_write_
ms io_stall tempdb 1 387,579,904 494,102 28,318,130,176 2,734,719 877,889 54,112,444,416 70,618,588 73,353,307 tempdb 2 328,794,112 278 2,048,000 1,167 937,537 54,502,727,680 15,282,463 15,283,630 SharePoint_Config 1 267,649,024 114,089 2,539,479,040 1,586,791 59,323 2,496,454,656 837,480 2,424,271 SharePoint_Config 2 1,271,267,328 349 2,142,208 7,477 4,037,399 5,839,324,672 36,102,091 36,109,568 SharePoint_AdminContent_1f19041d-da52-4f3c-95fa-b210e3f13eec 1 485,752,832 83,498 1,406,263,296 897,916 18,871 224,714,752 875,943 1,773,859 SharePoint_AdminContent_1f19041d-da52-4f3c-95fa-b210e3f13eec 2 7,929,856 72 757,760 1,341 34,343 206,451,200 448,906 450,247 WSS_Content 1 241,041,408 148 1,417,216 2,098 1 8,192 34 2,132 WSS_Content 2 3,997,696 18 434,176 358 5 15,872 75 433 WordAutomationServices_15d5d7ba4d7f4c79ae700f2e63d58f59 1 2,359,296 1,477 12,099,584 13,941 1 8,192 84 14,025 WordAutomationServices_15d5d7ba4d7f4c79ae700f2e63d58f59 2 589,824 6 385,024 184 5 10,752 180 364 Search_Service_Application_DB_abce596e166849578d153755368f7ec4 1 71,565,312 76,858 1,984,864,256 962,210 16,201 188,170,240 314,107 1,276,317 Search_Service_Application_DB_abce596e166849578d153755368f7ec4 2 8,716,288 131 1,298,432 1,467 946,496 665,256,448 10,279,494 10,280,961 Search_Service_Application_PropertyStoreDB_c36b8a83d0244e7990e86263e68aa00b 1 3,744,727,040 1,073,755 10,879,672,320 14,161,763 198,769 4,224,253,952 5,701,409 19,863,172 Search_Service_Application_PropertyStoreDB_c36b8a83d0244e7990e86263e68aa00b 2 251,330,560 197 1,273,856 3,899 71,299 830,382,080 1,282,807 1,286,706 Search_Service_Application_CrawlStoreDB_5a34fac31a4e4e5296cb8f1333112097 1 4,327,800,832 21,460,055 231,891,591,168 421,480,138 13,028,579 277,537,669,120 249,127,838 670,607,976 Search_Service_Application_CrawlStoreDB_5a34fac31a4e4e5296cb8f1333112097 2 1,538,260,992 314 3,334,144 6,731 12,575,486 302,634,040,320 159,112,357 159,119,088 WSS_Search_CWTSPF01 1 427,032,576 180,729 2,463,965,184 3,644,510 7,960 95,346,688 278,077 3,922,587 WSS_Search_CWTSPF01 2 538,968,064 234 1,445,888 4,965 87,180 337,313,792 816,927 821,892 StateService_ddbdde39f3df44d48fa68b27a54b8891 1 2,359,296 1,004 8,224,768 9,272 1 8,192 26 9,298 StateService_ddbdde39f3df44d48fa68b27a54b8891 2 851,968 7 389,120 50 5 13,824 237 287 Managed Metadata Service_464c6e4388ae43beb5c8e9e5c583a404 1 3,407,872 2,538 20,791,296 18,919 1 8,192 8 18,927
Managed Metadata Service_464c6e4388ae43beb5c8e9e5c583a404 2 589,824 6 206,336 94 6 72,704 250 344 WebAnalyticsServiceアプリケーション_StagingDB_4029d037-239c-4125-857f-ba74e39d784b 1 66,781,184 30,261 1,467,113,472 588,075 9,830 188,014,592 525,000 1,113,075 WebAnalyticsServiceアプリケーション_StagingDB_4029d037-239c-4125-857f-ba74e39d784b 2 188,809,216 180 983,552 5,167 87,333 237,562,880 1,127,142 1,132,309 WebAnalyticsServiceアプリケーション_ReportingDB_8d1f02f0-8a63-4c1a-b0a0-ce43e627ffe5 1 395,575,296 190,969 10,335,289,344 5,352,568 213,873 2,242,215,936 12,385,991 17,738,559 WebAnalyticsServiceアプリケーション_ReportingDB_8d1f02f0-8a63-4c1a-b0a0-ce43e627ffe5 2 37,158,912 120 970,752 2,280 13,367 350,702,080 235,236 237,516 WSS_Logging 1 1,951,924,224 113,462 8,239,308,800 1,486,240 36,655 1,893,670,912 846,464 2,332,704 WSS_Logging 2 188,809,216 250 1,609,216 5,210 156,707 2,778,958,336 2,056,932 2,062,142 ProfileDB 1 77,791,232 53,301 577,060,864 318,685 10,539 119,504,896 218,526 537,211 ProfileDB 2 4,390,912 812 33,588,224 7,640 48,493 233,288,192 664,243 671,883 TONODB 1 41,186,164,736 10,712,827 2,180,261,675,008 122,846,847 68,361 808,173,568 1,960,397 124,807,244 TONODB 2 789,250,048 321 3,061,760 6,281 109,693 566,663,168 1,533,852 1,540,133 UPSApp_SyncDB_db675b72-ec7e-46a0-a85d-931f9a53753c 1 900,988,928 73,552 1,167,491,072 798,153 9,638 128,589,824 407,694 1,205,847 UPSApp_SyncDB_db675b72-ec7e-46a0-a85d-931f9a53753c 2 45,023,232 166 1,314,816 3,279 1,316,174 758,588,416 13,896,723 13,900,002 UPSApp_SocialDB_bd2d1ac3a7114262ab9efa0ef2a452c1 1 3,407,872 5,948 48,726,016 49,388 1 8,192 22 49,410 UPSApp_SocialDB_bd2d1ac3a7114262ab9efa0ef2a452c1 2 851,968 7 389,120 221 5 17,408 221 442 Bdc_Service_DB_ff0ed6c74ee94daea5f9902448edb1c2 1 3,407,872 604 4,947,968 5,275 1 8,192 24 5,299 Bdc_Service_DB_ff0ed6c74ee94daea5f9902448edb1c2 2 589,824 6 295,424 87 5 12,288 146 233 WSS_Content_cwtspf01 1 21,233,664 141 1,335,296 2,460 1 8,192 36 2,496 WSS_Content_cwtspf01 2 5,963,776 24 108,032 321 5 15,360 420 741 DocAveCache 1 2,359,296 136 1,114,112 2,494 3 24,576 270 2,764 DocAveCache 2 851,968 7 389,120 223 7 14,336 402 625 WSS_Content_RBS 1 21,233,664 146 1,409,024 2,630 1 8,192 36 2,666 WSS_Content_RBS 2 5,963,776 24 197,120 296 5 45,056 321 617 Secure_Store_Service_DB_405b13cb-0cdb-42da-bdae-4c32a6cae31f 1 2,359,296 695 5,693,440 6,131 1 8,192 22 6,153 Secure_Store_Service_DB_405b13cb-0cdb-42da-bdae-4c32a6cae31f 2 851,968 7 98,304 24 5 35,328 294 318 DocAve_ControlDB 1 6,553,600 1,229 10,084,352 15,463 40 327,680 1,617 17,080 DocAve_ControlDB 2 1,900,544 11 405,504 131 218 141,312 3,681 3,812 DocAve_AuditDB 1 2,359,296 114 933,888 1,693 1 8,192 36 1,729 DocAve_AuditDB 2 589,824 6 361,472 57 4 9,728 186 243 DocAve_ReportDB1 1 2,359,296 943 7,725,056 6,920 4,292 35,160,064 41,689 48,609 DocAve_ReportDB1 2 589,824 95 1,114,112 557 294,709 158,908,928 2,673,298 2,673,855 DocAve_ReportDB2 1 521,404,416 1,258 10,305,536 10,537 39,350 480,329,728 372,246 382,783 DocAve_ReportDB2 2 589,824 13 385,024 610 2,801,085 1,511,337,472 28,740,888 28,741,498 WSS_Content_RBS2 1 23,330,816 140 1,318,912 1,916 1 8,192 41 1,957 WSS_Content_RBS2 2 6,553,600 26 314,368 449 5 15,872 268 717 WSS_Content_mailtest 1 46,399,488 15,803 143,269,888 116,884 381 4,849,664 11,425 128,309 WSS_Content_mailtest 2 117,178,368 140 937,984 2,976 16,050 12,248,064 163,507 166,483
2014
バッファーキャッシュの内容 sys.dm_os_buffer_descriptors
50 Copyright© CSK WinTechnology Corporation
objname index_id buffer_count AllDocs 1 2,641
2 1,733 23 237
4,611 AllUserData 1 3,140
2 340 3,480
Solutions 1 2,266 AllLists 1 1,940 AllWebParts 2 468
1 336 804
sysobjvalues 1 784 EventReceivers 1 702 AllDocStreams 1 622 syscolpars 1 507 Webs 1 297 AllListsPlus 1 260 UserInfo 1 64
2 58 3 8 4 4
134 Perms 1 120 WebMembers 1 107 ContentTypes 1 104 AllListsAux 1 103 NavNodes 1 84 Perms 2 80
2014
SQL Server の監視
select * from sys.dm_os_performance_counters
51 Copyright© CSK WinTechnology Corporation
カウンター名 問題点・閾値・推奨値
Physical disk Avg. Disk Queue Length ディスクサブシステム / 限りなく 0 (瞬間的は可)
Physical disk Current Disk Queue Length このドライブレター上の DB 物理ファイル
Processer % Processer Time 平均値 80% 以上多くの潜在的問題点がある
System Processer Queue Length CPU プレッシャーの発生
SS Access Method Full Scans/sec 適切なインデックス不足
SS Access Method Page Split/sec デフラグの発生 / 適切な Index 設定と fill factor 値
SS Buffer Manager Page Life expectancy この値が低い場合メモリー不足
SS Database Log Flush Wait time この値が高い場合ログファイル I/O 帯域不足
SS Memory Manager Memory Grants pending クエリー実行時のメモリー不足
SS Latches Latch Waits/sec クラスタ化 Index が不適切 / tempdb 帯域不足
SS Lock requests/sec 適切なロックヒント不足 / Index が不適切
SS Lock Wait Time (ms) トランザクション間のリソース競合
SS SQL Statistics Batch requests/sec アプリケーションから受け取った T-SQL バッチ数
SS SQL Statistics SQL Compilations/sec バッチ数と比較しアドホッククエリの比率を確認
SS SQL Statistics SQL Re-Compilations/sec バッチ数と比較しリコンパイルの比率を確認
2014
共有資源とクエリーの調査 内部の待ち事象からの考察
sys.dm_os_wait_stats
SQLOS の待ち事象からシステムの状況を把握する 処理の通常日、高負荷日の日別の待ち事象を測定する
何が把握できるか アプリケーションアーキテクチャの問題点
メモリー不足 / CPU ボトルネック / ディスクサブシステム帯域不足
適切なインデックスの欠落
データベース I/O 負荷の把握 sys.dm_io_virtual_file_stats
データベース物理ファイルとログファイルの I/O 発生状況を把握する OLTP 処理の通常日、高負荷日の日別の I/O 発生状況を測定する
パフォーマンスカウンターの値 sys. dm_os_performance_counters
CPU コア(スケジューラ)のボトルネック sys.dm_os_schedulers
プロシージャ・キャッシュの調査 sys.dm_exec_cached_plans
sys.dm_exec_sql_text 52 Copyright© CSK WinTechnology Corporation
2014
まとめ
53 Copyright© CSK WinTechnology Corporation
SAP
ERP
データ発生
OLTP
B2C
B2B
基幹系
システム
データ抽出
転送・ロード
ETL
データ
クレンジング
Master Data
Service
Data Quality
Service
DWH
データマート
多次元
データベース
ColumnStore
Index
FileTable
Fast Track
SSD
Appliance
パラレル DWH
SQL Azure
Hadoop
MOLAP
ROLAP
Cube
MDX Query
Power Pivot
Power View
Power BI
Excel
データ分析
マイニング
SharePoint
Reporting
Service
ダッシュボード
スコアカード
54 Copyright© CSK WinTechnology Corporation
http://www.cskwin.com/