SAP システム管理者の為の SQL Server 2000 概説

Download Report

Transcript SAP システム管理者の為の SQL Server 2000 概説

SAP システム管理者の為の
SQL Server 2000 概説
マイクロソフト株式会社
SAP/Microsoft コンピテンスセンター
Agenda
1. SQL Server 概要
2. SQL Server 機能紹介
3. リソース、まとめ
1.SQL Server 2000 概要
・ この章のねらい
1993 年にリリースされてからの10年間で、
エンタープライズシステムから突きつけられる
数多くの要件をクリアするべく、
SQL Server がいかにしてアーキテクチャを
改善してきたかを理解する
SQL Server 2000
デスクトップ、
モバイルユーザー
ギガバイトクラス
数100ユーザー
テラバイトクラス
数1000ユーザー +
SQL Server History
• 6.5 → 7.0 (アーキテクチャの完全見直し)
–
–
–
–
行レベルロック、動的ロックレベル変更のサポート
自動チューニングテクノロジーの実装
クエリオプティマイザの刷新
クラスタリングのサポート
• 7.0 → 2000 (7.0 テクノロジーのブラッシュアップ)
– ログ配布のサポート
– SAN (Storage Area Network) への対応
– Windows 2000 Datacenter Server ,
Windows Server 2003 Datacenter Edition のサポート
2.SQL Server 2000 機能紹介
・ この章のねらい
ERP システムやシミュレーションシステムと
いった大規模アプリケーションに対して、
(1)高パフォーマンスと (2)高信頼性を保証する、
SQL Server の機能が如何に多く存在するかを
理解する
SQL Server 機能
• SQL Server 機能
–
–
–
–
–
–
独自のロックアーキテクチャ
自動メモリ管理
自動チューニングテクノロジー
洗練されたオプティマイザ
オンラインバックアップ
オンラインメンテナンス
• SQL Server Enterprise Edition 機能
–
–
–
–
ログ配布
クラスタリング
ローリングアップグレード
SAN ソリューション
SQL Server 2000
独自のロックアーキテクチャ
パフォー
マンス
• ロックレベル
– 行(デフォルト)、ページ、テーブル、データベース
• 動的ロックレベル変更
– 対象行数に応じてロックレベルを自動判断
• 必ずしも行ロックが最適とは限らない
• 処理行数が多い場合は行ロックよりページロックの方が低負荷
– 手動設定やSQL文での設定も可能
• 基本的には不要
• もともとこのアーキテクチャは、SQL Server 6.5 に
おいて発生していた SAP R/3 更新パフォーマンス
の問題解決を想定したもの
SQL Server 2000
自動メモリ管理
パフォー
マンス
• SQL Sever は、Windows のメモリマネージャと緊密に
連携し、各プロセスのメモリサイズを動的かつ迅速に変更し、
パフォーマンスの常時最適化を目指す
– 他社 DB のように、初期化パラメータファイルの中でメモリ割当を
静的に指定する事は一切しない
• 他社 DB でメモリ割当を変更するには DB を一旦停止する必要
• マルチプラットフォーム対応の弊害
• SQL Server が Windows プラットフォームのみに最適化
されているからこそ享受できる恩恵
SQL Server は Windows API
を最大限有効活用
他社データベース
OS 抽象化レイヤ
Windows
UNIX
LINUX
Mainframe
OS の
機能は
そのまま
利用
Windows
Win32
API
直接
コール
パフォー
マンス
SQL Server 2000
自動メモリ管理
• 自動メモリ管理のイメージ
初期状態は、最小限の
メモリに各領域が
割り当てられる
少数のユーザーから、
複雑なクエリが発行
されたとき
複数のユーザーから、
同時にクエリが発行
されたとき
Windows 2000
メモリ空間
バッファ キャッシュ
SQL Server 2000
メモリ空間
システム領域
バッファ キャッシュ
プロシージャ キャッシュ
ログ キャッシュ
接続コンテキスト
スタック領域
接続コンテキスト
SQL Server 2000
自動チューニングテクノロジー
• 自動ディスク管理
信頼性
パフォー
マンス
– 自動拡張機能はデフォルトオン、10%単位で拡張
• 物理的にディスクの空きがなくなるまで、DBがパンクする事はない
– 自動縮小機能はデフォルトオフになっているが、管理者が不在の
システムの場合には利用する事もできる
• SQL Server ならではのアルゴリズム
• 自動統計情報更新
– デフォルトはオン
• データの変更量を常時サンプリングしながら、
自動的に統計情報を更新
• トランザクションへの負荷は軽微
– リアルタイムで正確な統計情報の存在は、
オプティマイザが的確な判断を下すうえでの生命線と言える
SQL Server 2000
洗練されたオプティマイザ
• 以下の情報をもとにオプティマイザが実行プランを作成
– 処理するのはどんな命令か?
• 検索, 一括ロード, インデックス作成, バックアップ, リカバリー …
– サーバーのリソース状況は?
• CPU数、メモリの空き状況、現在有効なユーザー数 …
– データベースの統計情報?
• データの分布、この命令で処理される行数 …
• プログラマや管理者が、命令がどのように実行
されるべきかを意識する必要は全く無い
– SQL Server のオプティマイザに任せておけばよい
パフォー
マンス
パフォー
マンス
SQL Server 2000
洗練されたオプティマイザ
• オプティマイザから提示された実行プランのビジュアル表示
クエリをここに記述、
「実行プランの表示」を実行すると・・
表示
集計
ソート
ハッシュ
マッチング
インデックス
スキャン
ネストでの
マッチング
インデック
ススキャン
クエリをどのように
実行するかのプランと、
それぞれの処理の
コストがビジュアルで
表示される
実行プランは
左から右へ
の流れで見る
SQL Server 2000
オンラインバックアップ
• データベースを止めずにフルバックアップを取得可能
信頼性
パフォー
マンス
– バックアップ中の更新分はバックアップ終了直前に改めて取得
– トランザクションへの影響は最大でも10%ダウン程度
• 24時間×365日 の連続稼動が要求される ERPシステムに
は絶対に必要な機能
3000
2500
TPC-C
ベンチマーク 2000
スループット
バックアップ無 バックアップ有
平均 =
平均 =
2475 トラン
2349 トラン
ザクション/秒 ザクション/秒
1500
1000
500
0
0
500
1000
1500
経過時間(秒)
2000
バックアップを始めても
スループットに
大差は無い
2500
SQL Server 2000
オンラインメンテナンス
信頼性
• データベースを止めずに以下のメンテナンスを実行
可能
– インデックスの再編成
• どんなDBでも、データ量の増加減少に伴いインデックスの
断片化が進むため、(どこかのタイミングで)物理的に再編成する
必要がある
– 断片化を放置するとパフォーマンスに多大な影響
– 統計情報の(手動)更新
• 自動的に更新しきれなかった部分の手動更新
• 大量バッチ処理などの前に実行した方がよい
ケースがある
Enterprise Edition
ログ配布
信頼性
• プライマリから定期的にトランザクションログを
コピーし、セカンダリでリストア
– 一定のタイムラグでセカンダリへデータが同期される
– プライマリ障害時は、セカンダリでもってサービスを再開
• 通常手動によるリカバリー
2. トランザクション・
ログの“バックアップ”
(周期の設定可)
3. トランザクション・
ログの“コピー”
(周期の設定可)
4. トランザクション・
ログの“復元”
(周期の設定可)
1. Initial
データベース
の復元
プライマリサーバー
東京
保守計画ウィザード
で容易に設定
セカンダリサーバー
大阪
Enterprise Edition
ログ配布
信頼性
• 災害対策
– 単純なファイルコピーによる仕組みなので、遠隔地への
ログ配布は十分可能
– 別システムであるため、全ソフト・ハード障害に対応可能
• クラスタリングはディスク障害への対策にはならない
• セカンダリの有効活用
– セカンダリは複数台、スペックもバラバラで構わない
• クラスタリングは通常同一のハードウエアのセットで構成
• クラスタリングのような特別なディスクは不要
– フルバックアップ, メンテナンス作業, データ検索など
Read Only の処理にセカンダリを活用
Enterprise Edition
クラスタリング
信頼性
• 計画外停止時間の最小化
– ハードウエア、OS、(クラスタ設定した)アプリの障害
– 障害発生時、自動的に待機系がサービス引継ぎ
• 30秒から数十分程度でサービスを再開可能
– ノードが切り替わった事を、ユーザーやアプリケーション
サーバに意識させること無く、引き続きサービスを提供
DB
共有
ディスク
(DB)
(DB)
共有
ディスク
File
File
ハートビート
DB
ハートビート
Enterprise Edition
ローリングアップグレード
信頼性
• 計画停止時間の最小化
– ハードウエア交換、ソフトウエアのインストール
(パッチ、サービスパックを含む)
– 手動でフェールオーバーさせてローリングアップグレード
(順にメンテナンス作業)
②
①
①フェールオーバー
②アップグレード
DB
DB
File
File
③
④
③フェールオーバー
④アップグレード
Enterprise Edition
SAN ソリューション
信頼性
• 大規模DB のバックアップをほんの数秒で行うことが可能
– 主ボリュームと副ボリュームによるスプリット&ミラーもしくはスナップショット
– アプリケーションを停止する必要がなく、影響も殆ど無し
– 主ボリューム障害時は、即座に副ボリュームに切り替えて高可用性を実現
• 複製したボリュームの2次利用
– テープへのバックアップ、テストDB、DWH/OLAPへの展開 ・・・
Failover
Cluster
Node B
(セカンダリ)
Node A
(プライマリ)
SAN
Main
Volume
Replica
Volume 1
スナップショット
バックアップ
バックアップ
サーバ
複製ボリューム
を2次利用
・テストDB
・バックアップ
・DWH/OLAP
3.リソース、まとめ
SQL Server トレーニング
• SQL Server 自習書、概要説明ビデオ
– http://www.microsoft.com/japan/sql/techinfo/selfstudy/
• SQL Server 2000 管理者用ポケット コンサルタント
– http://www.microsoft.com/japan/technet/treeview/default.asp?url
=/japan/technet/prodtechnol/sql/books/adminpoc.asp
SQL Server コラム
• http://www.microsoft.com/japan/msdn/sqlserver/columns/default.asp
Oracle, DB2/UDB 技術者向け情報
• http://www.microsoft.com/japan/sql/evaluation/compare/
SQL Server Web (1)
•
•
•
•
•
•
•
SQL Server
http://www.microsoft.com/japan/sql/
PASSJ & SQL Server Developer Center ジョイントコラム
http://www.microsoft.com/japan/msdn/sqlserver/columns/default.asp
SQL Server 2000 自習書シリーズ
http://www.microsoft.com/japan/sql/using/sqleval/Self_Doc.asp
PASS J (SQL Server Users Group)
http://www.sqlpassj.org/
SQL Server 2000 評価版ダウンロード
http://www.microsoft.com/japan/sql/downloads/
TechNet SQL Server
http://www.microsoft.com/japan/technet/treeview/default.asp?url=/japa
n/technet/prodtechnol/sql/default.asp
MSDN SQL Server
http://www.microsoft.com/japan/msdn/sqlserver/default.asp
SQL Server Web (2)
• SQL Server 2000 スケーラビリティ プロジェクト
– http://www.microsoft.com/japan/sql/downloads/files/BasicCapScalability
R.doc
• パフォーマンスカウンタについて
– http://www.microsoft.com/japan/sql/techinfo/administration/2000/perform
ance_counter.asp
• 高可用性のデータベース クラスタの構築
– http://www.microsoft.com/japan/msdn/enterprise/duwamish/d5clustering
.asp
• PASSJ & SQL Server Developer Center ジョイントコラム
– http://www.microsoft.com/japan/msdn/sqlserver/columns/default.asp
• Microsoft SQL Server 2000 Enterprise Edition と SAN (Storage Area
Network) による適用例
– http://www.microsoft.com/japan/sql/evaluation/san/san02.asp
SQL Server 2000 評価版
• 評価情報サイト
http://www.microsoft.com/japan/servers/eval/
•
•
•
•
•
•
120日間 期間限定評価版 ダウンロード
自習ビデオ
機能概要 解説書
各種自習キット
トレーニング資料
技術情報 etc…
SQL Server 2000 Microsoft Press
•
•
•
•
•
Microsoft SQL Server 2000
オフィシャルマニュアル
–
ISBN4-89100-204-2 (上巻)
–
ISBN4-89100-210-7 (下巻)
–
定価 3,980円 + 税
Microsoft SQL Server 2000
Transact-SQL プログラマーズリファレンス
–
ISBN4-89100-215-8 (上巻)
–
ISBN4-89100-216-6 (下巻)
–
定価 4,800円 + 税
ステップバイステップで学ぶ
Microsoft SQL Server 2000 プログラミング実践講座
–
ISBN4-89100-205-0 (上巻)
–
ISBN4-89100-206-9 (下巻)
–
定価 2,980円 + 税
Microsoft SQL Server 2000リソースキット
–
ISBN4-89100237-9
–
定価 9,500円 + 税
アーキテクチャ徹底解説
Microsoft SQL Server 2000
–
ISBN-4-89100-260-3
–
定価 9,500円 + 税
まとめ (1)
• 他社DBでは常識の、管理者によるパフォーマンス
チューニングは、SQL Serverでは不要
– 必要なチューニングは物理配置、RAID構成の設計のみ
– 他のチューニングは、メモリマネージャ、オプティマイザ、
ロックマネージャの判断に全て委ねる
• クエリ、パラメータの独自チューニングはむしろ事故の元
– 結果としてシステム管理コストの大幅削減に繋がる
• SQL Server の各種オンライン機能は、DBシステム
保守に対する考え方をくつがえす
– SQL Server では24時間365日運用を前提に考えられる
まとめ (2)
• たとえマイクロソフトプラットフォームであっても、
(1)ログ配布 (2)クラスタリング (3)SAN など
数多くの可用性向上ソリューションが提供される
– カスタマーの(1)許容ダウンタイムと(2)コストを見極め
ながら最適な選択肢を決定する
– UNIX, メインフレームと比較して遥かに低コストで
システムのダウンタイムを低減できる
Go to MS/SAP Solution Site !!
http://www.microsoft.com/japan/business/sap/default.mspx