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
© Copyright 2025 ExpyDoc