share pointを支えるsql server2014最新情報

55
2014 SharePointを支える SQL Server2014最新情報 Copyright© CSK WinTechnology Corporation 2014.2.22 株式会社 CSK Winテクノロジ 技術フェロー特別役員 熊澤 幸生

Upload: atsuo-yamasaki

Post on 28-Nov-2014

2.589 views

Category:

Technology


0 download

DESCRIPTION

SharePointを支えるSQL Server2014最新情報

TRANSCRIPT

Page 1: Share pointを支えるsql server2014最新情報

2014

SharePointを支える

SQL Server2014最新情報

Copyright© CSK WinTechnology Corporation

2014.2.22 株式会社 CSK Winテクノロジ

技術フェロー特別役員 熊澤 幸生

Page 2: Share pointを支えるsql server2014最新情報

2014

Agenda

SQL Server のこれまでと今後

SharePoint の基盤設計と設定

本稼働後の性能監視

まとめ

1 Copyright© CSK WinTechnology Corporation

Page 3: Share pointを支えるsql server2014最新情報

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 - )

Page 4: Share pointを支えるsql server2014最新情報

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

Page 5: Share pointを支えるsql server2014最新情報

2014

Dr. Jim Gray 行方不明に

Copyright© CSK WinTechnology Corporation

1966年カルフォルニア大学バークレー校卒業

1995年 IBM / タンデム を経てマイクロソフトに入社

1998年 DB と トランザクション処理に関して、チューリング賞を受賞

1998 年、2005 年に来日 4

Page 6: Share pointを支えるsql server2014最新情報

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

Page 7: Share pointを支えるsql server2014最新情報

2014

バランスド システムとは

SQL Server リレーショナルエンジンに最適化された ハードウエア構成 リファレンス アーキテクチャ

考慮すべき構成要素 (共有リソース) プロセッサ

メモリ

ストレージ サブシステム

ネットワーク

SQL Server 専用サーバー上に配置する トランザクション処理用と、DWH系は、分離したサーバー上に 配置する

将来のトランザクション ベースラインを明確化する

SQLOS の内部動作を理解する

6 Copyright© CSK WinTechnology Corporation

Page 8: Share pointを支えるsql server2014最新情報

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

Page 9: Share pointを支えるsql server2014最新情報

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

Page 10: Share pointを支えるsql server2014最新情報

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

Page 11: Share pointを支えるsql server2014最新情報

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 倍高速に

<

Page 12: Share pointを支えるsql server2014最新情報

2014

Flash Memory SSD の適用分野

仮想環境基盤のストレージサブシステム

データベース アプリケーション基盤

DWH スタースキーマ

多次元データベース

商品点数と顧客数の多いコマースサイト用 データベース

生産管理用 BOM と MRP バッチ処理の短縮化

データベースの論理設計と物理設計ノウハウが重要となる

11 Copyright© CSK WinTechnology Corporation

Page 13: Share pointを支えるsql server2014最新情報

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

Page 14: Share pointを支えるsql server2014最新情報

2014

2/19 Xeon E7 V2 発表

13 Copyright© CSK WinTechnology Corporation

Page 15: Share pointを支えるsql server2014最新情報

2014

4 ソケット 60 物理コア 2,000 User

14 Copyright© CSK WinTechnology Corporation

Page 16: Share pointを支えるsql server2014最新情報

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

Page 17: Share pointを支えるsql server2014最新情報

2014

PASS Summit 2013 at Charlotte

16 Copyright© CSK WinTechnology Corporation

Page 18: Share pointを支えるsql server2014最新情報

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

Page 19: Share pointを支えるsql server2014最新情報

2014

第四世代 SQL Server RDB (1)

インメモリー機能の活用 インメモリー OLTP エンジン

インデックス情報とデータをメモリー上に保持する 従来のバッファーキャッシュとは異なる

カラムストアーインデックス DWH の不定型検索処理や集計処理に最適 ビットマップインデックスの採用 データ圧縮機能によりインメモリー化に貢献 カラム(列)単位の検索処理と集計処理を、インメモリーテクノロジーを活用し、高速化する

バッチ処理モード 従来の統計情報を利用しない実行プランの生成

導入されたテクノロジー SQL Server 2012

従来型の行ストア型テーブルに、非クラスタカラムストアインデックスを付与する

SQL Server 2014 ヒープ構造のテーブルを、直接クラスタカラムストアインデックスに変換する

18 Copyright© CSK WinTechnology Corporation

Page 20: Share pointを支えるsql server2014最新情報

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

待機時間 (ミリ秒)

待機時間 (ミリ秒)

Page 21: Share pointを支えるsql server2014最新情報

2014

SBI リクイディティマーケット様 事例

20 Copyright© CSK WinTechnology Corporation

http://www.microsoft.com/casestudies/Case_Study_Detail.aspx

?CaseStudyID=710000003429

Page 22: Share pointを支えるsql server2014最新情報

2014

SBI FX トレード様 システム概要

21 Copyright© CSK WinTechnology Corporation

インメモリー OLTP を採用

Page 23: Share pointを支えるsql server2014最新情報

2014

カラムストアインデックスの進化

SQL Server 2012 で非クラスタ化カラムストアインデックスを提供 従来型のクラスタ化インデックスを持つテーブルに設定可能 DWH 業務の非定型型の集計や検索処理が飛躍的にスピードアップ 非クラスタ化カラムストアインデックスを付与したテーブルは、検索処理専用で、 直接更新処理はできない

バッチ処理等でデータ追加後に、非クラスタ化カラムストアインデックスの再作成が必要

テーブル使用領域が大きくなる 従来のクラスタ化インデックス領域 + 非クラスタ化カラムストアインデックス領域

SQL Server 2014 でクラスタ化カラムストアインデックスを提供 ヒープ構造のテーブルをクラスタ化カラムストアインデックスに変換 データ圧縮機能によりテーブル使用領域が小さい リアルタイムに透過的な更新処理が可能

Insert 処理 : 新たなパーティション内に追加 Update 処理 : Delete + Insert 処理 Delete 処理 : 行に削除フラグを設定する

定期的にインデックスの再構築を実施する

カラムストアインデックスは、ビットマップインデックスを利用 インデックスの格納は BLOB 領域を利用 カラムストアインデックスは統計情報を持たない

22 Copyright© CSK WinTechnology Corporation

Page 24: Share pointを支えるsql server2014最新情報

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

Page 25: Share pointを支えるsql server2014最新情報

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 秒

Page 26: Share pointを支えるsql server2014最新情報

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

Page 27: Share pointを支えるsql server2014最新情報

2014

Row Mode と Batch Mode 処理

26 Copyright© CSK WinTechnology Corporation

処理時間 : Row Mode 22 秒 vs Batch Mode 2 秒

Page 28: Share pointを支えるsql server2014最新情報

2014

クラスタ化カラムストアインデックス Batch Mode 実行プラン

27 Copyright© CSK WinTechnology Corporation

Page 29: Share pointを支えるsql server2014最新情報

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 倍 )

Page 30: Share pointを支えるsql server2014最新情報

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

Page 31: Share pointを支えるsql server2014最新情報

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)

Page 32: Share pointを支えるsql server2014最新情報

2014

ラッチ不要なアーキテクチャ

データベース格納構造は、1970 年代から同じアーキテクチャを採用 従来の階層型格納構造とページ構造

データベース データファイル

格納制御用ビットマップ領域 (PFS / GAM)

インデックスアロケーションマップ (IAM)

エクステント ( 8 KB Page * 8)

ページ (8 KB) インデックスページ

データページ

階層型格納構造の整合性を維持するためにラッチ処理を採用 トランザクション処理とは無関係な、ストレージエンジン内部の短時間 排他制御

該当するトランザクションが異常終了しても、ロールバック処理は実施しない

これらの処理を排除するには、データベース格納構造の見直しが必要 インメモリー OLTP は、ファイルストリーム機能を利用

カラムストアインデックスは、BLOB ページに格納

31 Copyright© CSK WinTechnology Corporation

Page 33: Share pointを支えるsql server2014最新情報

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

Page 34: Share pointを支えるsql server2014最新情報

2014

3 種類のアーキテクチャにより実現

オプティミスティック (楽観的)同時実行制御 コンフリクト(更新の競合)の発生確率は多くない トランザクションは排他制御(ロック)を発行しない コンフリクト(更新の競合)発生検出メカニズムを実装する

同一データに対して複数のバージョンを保持する データの更新と追加時には、新たなバージョンの行を作成する コミット処理後、コンフリクト(更新の競合)が発生していないことを確認する までは、他のトランザクションからはイン・ビジブル

データはタイム・スタンプにより管理する それぞれのバージョンの行は、開始と終了のタイムスタンプを持つ

トランザクション開始時には、開始時間により該当するバージョンの行を取得する

タイムスタンプは、行の作成された順序 (FIFO) でポインターにより検索可能である

最後にコミットされた行の終了時間は無限大となる

33 Copyright© CSK WinTechnology Corporation

Page 35: Share pointを支えるsql server2014最新情報

2014

ロック不要なアーキテクチャ

34 Copyright© CSK WinTechnology Corporation

通常トランザクション処理 RCSI によりコミットされた最新の行を検索 更新したデータは仮の行バージョンとなり、他のトランザクションからは イン・ビジブル

コンフリクトの検出 他のトランザクションでコンフリクトの有無を検出 コンフリクトを検出した場合はロールバックを行いアプリケーションに通知

トランザクション後処理 トランザクションが更新した最後の行バージョンを他のトランザクションから 参照可能な状態に変更する(非同期処理)

CMPXCHG : Compare and Exchange 命令を利用

Time

Begin

通常の トランザクション処理

コンフリクトの検出

トランザクション 後処理

Pre-Commit Commit Terminate

Page 36: Share pointを支えるsql server2014最新情報

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

Page 37: Share pointを支えるsql server2014最新情報

2014

一般のデータ検索機能

一般のデータ検索機能 OLTP とバッチ処理

マルチユーザによる多頻度更新処理

トランザクション属性を保障したリアルタイムデータを保持

正規化された構造化データを扱う

ETL と DWH ペタバイト (10の15乗) のデータをスタースキーマ形式で格納する

大量データ追加更新を短時間で

定型検索

データ反映の即時性の有無

多次元検索機能 事前集計された多次元データのドリルダウン検索

大量データ追加更新を短時間で

36 Copyright© CSK WinTechnology Corporation

Page 38: Share pointを支えるsql server2014最新情報

2014

SharePoint のデータベース要件

ドキュメントの管理

所有者と変更管理

アクセス権の設定

ファイルサーバー機能の提供

マルチバージョン形式の大量データの保存

フルテキスト検索機能

マルチユーザへのアクセス基盤提供

SharePoint Online によりブラックボックス化

37 Copyright© CSK WinTechnology Corporation

Page 39: Share pointを支えるsql server2014最新情報

2014

SharePoint 用に追加された機能

非構造型データの格納と検索機能

BLOB

ファイルストリーム

ファイルテーブル

コンテンツのインデックス検索

Fast Index Search

バックアップ・リストアをどう扱うか?

38 Copyright© CSK WinTechnology Corporation

Page 40: Share pointを支えるsql server2014最新情報

2014

SharePoint 用データベース

39 Copyright© CSK WinTechnology Corporation

Page 41: Share pointを支えるsql server2014最新情報

2014

SQL Server の設定・管理は必要 ?

データ格納基盤のサイジング 仮想化基盤利用の是非

利用ユーザ数と格納容量見積もり

必要なサーバー数は コンテンツ DB / Index / DWH / MOLAP / Reporting Service

CPU コア数、メモリーサイズ、ネットワーク帯域

tempdb 同時実行性の向上

CPU リソースの並列処理設定

SQL Server が使用するメモリーの固定化

ストレージサブシステム設計 どのファイルをどの論理デバイス上に配置するか

データファイルとトランザクションログファイルの 初期サイズと拡張増分指定の設定

データ格納領域の断片化とインデックス再構築

40 Copyright© CSK WinTechnology Corporation

Page 42: Share pointを支えるsql server2014最新情報

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

Page 43: Share pointを支えるsql server2014最新情報

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

Page 44: Share pointを支えるsql server2014最新情報

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

Page 45: Share pointを支えるsql server2014最新情報

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)

Page 46: Share pointを支えるsql server2014最新情報

2014

tempdb 同時実行性の向上

物理CPUコア数 > 8 Tempdb データファイル数 = 物理CPUコア数

物理CPUコア数 < 8 Tempdb データファイル数 = 8

45 Copyright© CSK WinTechnology Corporation

Page 47: Share pointを支えるsql server2014最新情報

2014

CPU リソースの並列処理設定

並列処理の最大限度 (Max DOP) NUMA の場合

ソケット内の物理コア数を設定

SMP の場合 (物理コア数 / 4) の値を設定

46 Copyright© CSK WinTechnology Corporation

Page 48: Share pointを支えるsql server2014最新情報

2014

SQL Server が使用するメモリーの固定化

SQL Server の利用するメモリーを固定化する

ただし、仮想環境の場合は注意が必要

47 Copyright© CSK WinTechnology Corporation

Page 49: Share pointを支えるsql server2014最新情報

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

Page 50: Share pointを支えるsql server2014最新情報

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

Page 51: Share pointを支えるsql server2014最新情報

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

Page 52: Share pointを支えるsql server2014最新情報

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 バッチ数と比較しリコンパイルの比率を確認

Page 53: Share pointを支えるsql server2014最新情報

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

Page 54: Share pointを支えるsql server2014最新情報

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

ダッシュボード

スコアカード

Page 55: Share pointを支えるsql server2014最新情報

54 Copyright© CSK WinTechnology Corporation

http://www.cskwin.com/