Comments
Description
Transcript
DB2 DB2 pureScale pureScale の
DB2 pureScale の基本構造と 基本構造と スケールアウトを スケールアウトを実現するしくみ 実現するしくみ © 2011 IBM Corporation アーキテクチャー Agenda DB2 pureScale の基本コンポーネント 基本コンポーネント – DB2メンバー – Cluster caching facility (CF) – DB2 Cluster Service – 相互接続 – クライアント 複数メンバー 複数メンバー間 メンバー間で整合性を 整合性を維持する 維持する仕組 する仕組み 仕組み DB2 pureScaleと と他社クラスタ 他社クラスタの クラスタの違い 2 © 2011 IBM Corporation DB2 pureScaleの基本コンポーネント 3 © 2011 IBM Corporation アーキテクチャー DB2 pureScale の全体構成 クライアント クライアントはどこにでも クライアントはどこにでも接続 はどこにでも接続、 接続、 一つのデータベース つのデータベースとして データベースとして利用 として利用 自動的な 自動的なワークロードバランス シングル・データベース・ビュー Secondary Primary CS CS CF CF Member CS Member Member CS Member CS メンバー間でデータベースを共有 – データベースアクセスの一貫性を提供するように連携 Cluster caching facility (CF) GPFS – 効率的なグローバル・ロッキングとバッファー管理 – セカンダリーへの同期2重化により可用性を確保 超高速ノード 超高速ノード間通信 ノード間通信 – SAN LOG – CS Cluster Interconnect LOG DB2エンジン エンジン( エンジン(メンバー) メンバー)はそれぞれのノード はそれぞれのノードで ノードで稼動 RDMAノード間通信を最大限に活用 (Infiniband) 統合された 統合されたクラスター されたクラスター・ クラスター・サービス – LOG 障害検知, 自動リカバリー(Tivoli System Automation) LOG データシェアリング・ データシェアリング・アーキテクチャー Database 4 – データベースへの共有アクセス – GPFS © 2011 IBM Corporation アーキテクチャー DB2 pureScale を構成する メンバー 構成する要素 する要素1 要素 DB2メンバー DB2エンジン エンジン – – クライアントからの接続を受け付ける db2syscプロセスやスレッド – 非データ共用環境でのDB2インスタンスに相当 – db2sysc process db2 agents & other threads db2sysc process db2 agents & other threads ログファイルはGPFS上に配置され、障害時は他 メンバーからアクセス可能 log buffer, dbheap, & other heaps log buffer, dbheap, & other heaps メンバーは メンバーはデータを データを共有 – – Member 1 各メンバーがメモリー区画やバッファープール、 ログファイルを保持する • Member 0 bufferpool(s) bufferpool(s) すべてのメンバーは同じ共有データベースにア クセス メンバー追加時のデータ分散は不要 メンバーは メンバーは論理的で 論理的で、以下のような 以下のような構成 のような構成 も可能 – マシンかLPARあたり、1メンバー (推奨) – マシンかLPARあたり、1つ以上のメンバー (非 推奨) Log Log Shared database (Single database partition) 5 © 2011 IBM Corporation アーキテクチャー DB2 pureScale を構成する 構成する要素 する要素2 要素 Cluster caching facility (CF) 複数メンバー 複数メンバー間 メンバー間でのデータ でのデータ整合性 データ整合性を 整合性を保持する 保持する ための鍵 ための鍵となる要素 となる要素 – db2 agents & other threads System z 並列シスプレックスとカップリングファ シリティのテクノロジーに由来 – DB2 pureScaleでは、ソフトウェア・ベース で実装され、AIX上で稼働する db2 agents & other threads CF上 上に保持される 保持されるエリア されるエリア log buffer, dbheap, & other heaps log buffer, dbheap, & other heaps bufferpool(s) bufferpool(s) – グループ・バッファープール(GBP) – グローバル・ロック・マネージャー(GLM) – シェアード・コミュニケーションエリア(SCA) メンバーは をプライマリーと メンバーはGBP, GLM, SCAを プライマリーと セカンダリーの セカンダリーの両方に 両方に反映 – 同期的に実施 – 二重化は必須ではないが、推奨 – 標準で自動的に設定される Primary Log Log GBP GLM SCA Secondary Shared database (Single database partition) 6 © 2011 IBM Corporation DB2 pureScale を構成する 構成する要素 する要素3 要素 DB2 Cluster Service DB2 Cluster Serviceの の構成要素 – IBM Tivoli® System Automation for Multiplatforms (Tivoli SA MP) Member 0 Member 1 db2 agents & other threads db2 agents & other threads – IBM Reliable Scalable Clustering Technology (RSCT) – IBM General Parallel File System (GPFS) log buffer, dbheap, & other heaps pureScaleクラスター クラスターの クラスターの協調動作を 協調動作を制御 – 非計画停止時の自動的な回復 bufferpool(s) log buffer, dbheap, & other heaps bufferpool(s) CS CS – 計画停止時の「透過的」なメンテナンス 障害の 障害の検知と 検知と対応 – ハートビートによる自動的な障害検知 • 障害の検知後、自動的に復旧を開始 Primary – 障害検知時の動き • 残ったメンバーに障害の発生を通知 • 障害メンバーをGPFSから切り離し • 障害メンバーのリスタートを開始 クラスターファイルシステムの クラスターファイルシステムの提供 CS Secondary Log Log Shared database (Single database partition) 7 © 2011 IBM Corporation DB2 pureScale を構成する 構成する要素 する要素4 要素 クラスター内部 クラスター内部の 内部の相互接続 3種類 種類の 種類の相互接続 – クライアント 各メンバー及びCFはすべての相互接続を使用する SAN (Storage Area Network) – 共有DISKへのアクセス経路 – CFはデータベースやログファイルへのアクセスは行 わないが、Tiebreakerへアクセスする – 障害発生時のメンバー切り離しにSCSI-3コマンドを 使用するため、VIOS経由のパスは不可 InfiniBand – 低レイテンシ、広帯域の相互接続。RDMA (Remote Direct Memory Access)を用いた割り込みの発生し ないデータ転送を実現 – メンバー、CF間の主たるデータ転送経路として使用 される Ethernet – サービス提供用ネットワーク • – Ethernet Member 0 log buffer, dbheap, & other heaps log buffer, dbheap, & other heaps bufferpool(s) bufferpool(s) InfiniBand Primary CF Secondary 各メンバーの負荷状況に応じた透過的な接続先の割り 振りが行われる SAN 管理コマンド実行時やDB2 pureScale導入時にも使 用される Log 8 Member 1 Shared database (Single database partition) Log © 2011 IBM Corporation DB2 pureScale を構成する 構成する要素 する要素5 要素 クライアント クライアント DB2 pureScaleに に接続可能な 接続可能なクライアント – DB2 V9.1以降に同梱されるDB2クライアントもしくはUniversal JDBCド ライバ – フル機能を使用する場合、DB2 V9.7 FP1以降を使用 • Transaction level WLB、Client Affinityなど 2種類 種類の 種類の接続モード 接続モード – クライアントが ) クライアントが接続先メンバー 接続先メンバーを メンバーを自動選択( 自動選択(WLB) • メンバーから受け取る負荷情報(Server list)を元に、負荷が均衡す るように接続先や処理の振り先を決定する Member 0 db2 agents & other threads Member 1 db2 agents & other threads –Transaction level WLBでは、トランザクションの境界で処理対 象のメンバーが切り替わる • メンバー障害時の切替先メンバーも、負荷情報に基づいて自動的 に選択される – 明示的に ) 明示的に指定した 指定したメンバー したメンバーに メンバーに接続( 接続(Client Affinity) log logbuffer, buffer, dbheap, dbheap,&& other otherheaps heaps log buffer, dbheap, & other heaps • アプリケーションの接続先を明示的に制御する場合に選択 メンバー メンバー障害 メンバー障害の 障害の発生時は 発生時はクライアント・ クライアント・リルートが リルートが行われる – – 9 bufferpool(s) bufferpool(s) 他メンバーへ再接続し、アプリケーションにはSQL30108N(接続は失敗 しましたが、再確立されました。)を返却する トランザクションはロールバックされるため、アプリケーションでハンドリン グして再実行やエラーの表示を行う © 2011 IBM Corporation アーキテクチャー ブランク・ ブランク・ページ 10 © 2011 IBM Corporation 複数メンバー間で整合性を維持する仕組み 11 © 2011 IBM Corporation クラスターの クラスターの整合性を 整合性を維持する 維持するCF する DB2 pureScaleは はデータ整合性 データ整合性を 整合性を維持した 維持したスケールアウト したスケールアウトを スケールアウトを提供 – コミットされた更新は、同期的に共有バッファープールに伝播される。 – 同じデータへの更新競合時は、pureScaleが並行性制御を行う GBP (Group Buffer Pool) – クラスター全体にわたって最新のデータを保持 GLM (global Lock Manager) – クラスター全体にわたってのロック情報を保持 SCA (Shared Communication Area) – クラスター全体のメタ情報を保持 Primary CF GBP GLM SCA Secondary CF GBP GLM SCA 12 © 2011 IBM Corporation CF上 上のストラクチャー1 ストラクチャー - GBP GBPの の構造 – GBP data element Primary CF • GBP上に保持されるデータページの実体 GBP Secondary CF data element Directory entry – GBP directory entry GBP data element Directory entry • GBP/LBPのデータページを管理するためのメタデータ • クロス・インバリデーション時などに使用される • Secondary CFはdirectory entryを持たず、Primary Roleに切り替わった時点で再構築する GBPの の主な役割 – 各メンバーから共通にアクセスできるキャッシュを提供する – クラスター全体にわたってデータページの整合性を保証する • 更新・コミットされたデータページの最新バージョンを保持する • 各メンバーがローカルに保持するデータページが最新であることを保証する GBPの の構成 – DB2 pureScaleの構成時に自動的に定義される • GBPはクラスター/データベース全体で一つのみ – 「GBPを作成する」という操作は必要ない • 一つのGBPで4KBから32KBまで、すべてのページサイズのLBPをサポートする – GBPのサイズはデータベース構成パラメーター CF_GBP_SZで定義する • デフォルトはAUTOMATIC 13 © 2011 IBM Corporation CF上 上のストラクチャー1 続き ) ストラクチャー - GBP(続 GBPと とLBPの の関係 – メンバーが保持するBuffer Poolは、GBPと の関係からLBPと呼ばれる – GBP上のデータページは、db2agentが直接 参照するのではなく、リクエストに応じてLBP にコピーされる – – Member 1 Member 0 db2 agents db2 agents ①100 Logical Reads LPB上に存在するデータページはすべて GBPのdirectory entryに登録されている LBP メンバーはGBPからのみデータページを取 得し、他メンバーと直接データページを授受 することはない LBP ②5 GBP Logical Reads ③4 return page; 1 does’nt データページ取得時 データページ取得時の 取得時の流れ ①100ページの読み取りをLBPに対して行う ②5ページ分がLBPに存在しなかった場合、 GBPにリクエストを行う(RAR) ⑤1 page returned from disk ④1 GBP Physical Read GBP ③4ページがGBPに存在したため取得でき、1 ページは存在しなかった ④残った1ページの読み取りをDISKへ行う ⑤DISKから1ページを取得 14 © 2011 IBM Corporation CF上 上のストラクチャー1 続き ) ストラクチャー - GBP(続 データページ参照時 データページ参照時の 参照時の流れ – – 2つのメンバーから同じページを参照 GBP,LBPとも対象ページを持っていない ①メンバー1にSQLが発行され、EMP=Yのレコー ドが要求される。データページAの取得が必要 となる。 ②メンバー1はページAを持たないため、GBPに 対してRead and Registerを発行する。このタ イミングで、Directory EntryにM1がページAを 保持していることが登録される。 Select from EMP Where Emp=Y Select from EMP Where Emp=Y Select from EMP Where Emp=Y M1 LBP M2 A Disk Read DISK Disk Read A LBP A ③GBPにはページAがキャッシュされていなかっ たため、DISKからページAを取得する。 ④次に、メンバー2にも同じSQLが発行され、ペー ジAの取得が必要となる。 Read & Register (RAR) RAR ⑤メンバー2からもRARによるページAの取得要 求が発行される。メンバー2がページAを保持 することが登録される。 ⑥GBPはページAを保持していないため、メン バー2はDISKから取得する。 ⑦メンバー2が再度ページAを参照する場合は、 LBP上のページAを参照可能 GBP GLM SCA Directory Entry Primary CF SA M1 M2 15 © 2011 IBM Corporation CF上 上のストラクチャー1 続き ) ストラクチャー - GBP(続 データページ更新時 データページ更新時の 更新時の流れ – – – 前ページの処理が完了後の状態 GBPはページAを持っていない メンバー1,2はページAをLBPに保持する ①メンバー1で更新処理が実行され、ページAが 更新される。 ②メンバー1でコミットが発行され、ページAの更新 が確定する。 M1 LBP M2 A' A A' A DISK ③メンバーAからWrite And Register (WAR)が発 行され、GBPにページA’ ’が書き込まれる ④メンバー2の保持するページAに対して無効化 (クロス・インバリデーション)が行われる。同時 にDirectory Entryからメンバー2の登録が削除 される。 ⑤WAR完了の応答が返る。 Select from EMP Where Emp=Y Update EMP Set Salary=X Where Emp=Y COMMIT A Write & Register (WAR) LBP XI RAR ⑥コミット完了の応答が返る。 ④メンバー2が再度ページAを必要とした場合、改 めてRARを発行する。 ⑤GBPからメンバー2にページAが書き込まれる。 同時にDirectory Entryも更新される。 GBP GLM SCA A' Directory Entry Primary CF SA M1 M2 16 © 2011 IBM Corporation CF上 上のストラクチャー1 続き ) ストラクチャー - GBP(続 クロス・ クロス・インバリデーションの インバリデーションの動き – – GBP上に存在するdirectory entryの情報を元に、LBPのXIベクターに無効フラグを立てる XIベクターはLBPのBPD (Buffer Pool Descriptor)中に存在する GBP Page Registration List M1,M2,M3 1-bit RDMA XI sent to each member in the page registration list Member 1 Local Bufferpool XI Vector 17 Member 2 Local Bufferpool New page sent to the CF XI Vector Member 3 Local Bufferpool XI Vector © 2011 IBM Corporation CF上 上のストラクチャー1 続き ) ストラクチャー - GBP(続 更新された 更新されたページ されたページの ページの書き込み GBPから からDISKへの への更新 から への更新ページ 更新ページ出力 ページ出力は 出力は「キャストア ウト」 ウト」と呼ばれる – 非データ共用環境でのページ・クリーニング と同様の処理 キャストアウトは キャストアウトは、各メンバー上 メンバー上の「キャストアウト・ キャストアウト・ エンジン」 エンジン」が実施する 実施する – キャストアウトのトリガーは、非データ共用環 境と同様SOFTMAXで決定される – GBP中のダーティ・ページ比率が上昇した際 にもトリガー条件が満たされる M1 LBP M2 A' A DISK Castout engine A' A LBP A' A A' ①キャストアウトのトリガー条件が満たされる ②各メンバーでキャストアウト・エンジンが処理対 象のダーティ・ページを特定する ③GBPからメンバーにダーティ・ページを取得する GBP GLM SCA A' ④DISK上のテーブルスペースに対して出力する Directory Entry Primary CF SA M1 M2 18 © 2011 IBM Corporation CF上 上のストラクチャー1 続き ) ストラクチャー - GBP(続 GBPへの へのオペレーション へのオペレーションのまとめ オペレーションのまとめ – Read and Register (RAR) • 要求するデータページの最新版をGBPにリクエストする • 同時に、リクエストしたメンバーのLBPにそのページが読み込まれる事を登録する – そのページに対してXI(クロス・インバリデーション)を実行する際の対象アドレスを登録しておく • GBPがそのデータページを保持していない場合、登録のみが行われる – Write and Register (WAR) • メンバーが保持する最新の更新ページをGBPへ書き込む • 下記のタイミングで実行される – 更新処理のコミット – ローカルで更新されたページを他メンバーが参照・更新する必要がある場合 – その他 • Write and Register Multiple (WARM) – WAR処理を複数のページに対して実行する • クロス・インバリデーション (XI) – あるページが更新された際に、他メンバー上にあるそのページの古いバージョンを無効化 (Invalidation)する • キャストアウト – GBP上のダーティ・ページをDISKへと書き込む – DB2メンバーから実行される 19 © 2011 IBM Corporation CF上 上のストラクチャー2 ストラクチャー - GLM クラスター全体 クラスター全体で 全体でロック情報 ロック情報を 情報を共有する 共有するキャッシュ するキャッシュを キャッシュを提供 – 各メンバーが保持するロックのリストを保持 GLMの の構成 – GLMにアサインするメモリー量はCF_LOCK_SZ DB構成パラメーターで定義 • デフォルトはAUTOMATICで、CF_MEM_SZの一定割合がアサインされる。 GLMは はクラスター全体 クラスター全体で 全体で処理の 処理の一貫性が 一貫性が保たれることを保証 たれることを保証 – 例1:メンバーAで更新中の列はメンバーBから更新できない • GLM上のグローバル・ロックで並行性を制御 – 例2:複数のメンバーが同じページを更新する際に、GBPを経由して最新バー ジョンのページをやりとりする仕組みを提供 • これまでのLogical Lockに加えて、DB2 pureScale特有のPhysical Lockを使用する。 • Physical Lockとは、非データ共用環境でのラッチに似たしくみ • 必要に応じてコミット前でも解放することが可能 20 © 2011 IBM Corporation CF上 上のストラクチャー2 続き) ストラクチャー - GLM(続 複数メンバー 複数メンバーでの メンバーでの更新処理 での更新処理の 更新処理の調停 – メンバー1,2はページAをLBPに保持する Update EMP Set Salary=X Where Emp=Y Update EMP Set Salary=X Where Emp=Z ①メンバー1で更新処理が発行される。 ②CFに対してページAの P-Lock(排他モード)を 要求する M1 ③メンバー1にページA P-Lock(排他モード)が与 えられる。 LBP M2 A' A DISK ④LBP上でページの更新を実施する。 ⑦CFはメンバー1に対してP-Lockの解放を依頼 する ⑧メンバー1はP-Lockを解放し、WARを発行する ことでページA'をGBP書き込む ⑨CFはメンバー2にP-Lockを付与し、GBP上に書 き込まれたページA'をメンバー2に書き込む ⑩メンバー2のLBP上で更新が実行される。 21 LBP A ⑤メンバー2でページAの別 別の行を更新するSQL が発行される。 ⑥メンバー2がCFに対してページAのP-Lock(排 他モード)を要求する A'' A' A Write & Register (WAR) Put page A Release request GBP Lock request Lock request GLM A' Directory Entry M1 A-X M2 A-X M1 M2 M2 SCA Primary CF SA © 2011 IBM Corporation CF上 上のストラクチャー3 ストラクチャー - SCA SCA (Shared Communication Area)の の主な役割 – データページ以外の情報を共有するために提供される – データベース・ヒープをクラスター単位に拡張したような存在 下記の 下記の様なオブジェクトを オブジェクトをシェアする シェアする – TCBs - :テーブル・コントロールブロック – IXCBs - :索引コントロールブロック – POOLCBs :バッファープール・コントロールブロック メンバー間 メンバー間でログの ログの整合性を 整合性を持たせるための情報 たせるための情報を 情報を保持 22 © 2011 IBM Corporation DB2 pureScaleと他社クラスタの違い 23 © 2011 IBM Corporation ①スケーラビリティ②アプリメンテナンス 他社クラスタ 他社クラスタ なぜアプリパーティショニング なぜアプリパーティショニングが アプリパーティショニングが必要? 必要? データはノード間に論理的に分割され、各データのマスターノードが決まる あるノードが‘マスター’ でないデータブロックにアクセスする場合は、グローバル・キャッシュ・ サービスにリクエストする必要がある – 要求されたノードが‘マスター’ でないデータブロックへのアクセスには、データの受け渡し のためノード間通信が必要となる (パフォーマンスのボトルネックの主な原因) ノード 1 ノード 2 ノード 3 ノード間通信ネットワーク DB2 pureScale ではこの“ ではこの“マスタリング” マスタリング” が不要 ノード 2 ノード 3 ノード 1 にクラスターから マスターさ にマスターさ さ マスターさ から等 マスター可能 にマスターさ さ が全てのクラスター マスター 全 てのデータ てのデータが データ ての クラスター から等しくアクセス しくアクセス可能 アクセス れるデータ れるデータ れるデータ れるデータ れるデータ れるデータ 他社 データベース 24 © 2011 IBM Corporation ①スケーラビリティ②アプリメンテナンス 他社クラスタ 他社クラスタ なぜアプリパーティショニング なぜアプリパーティショニングが アプリパーティショニングが必要? 必要? 3ノードの他社クラスターの例で、クライアントがアクセスしたノードがマスターノードでない可能 性は67% => ノード間通信が発生 – 4 ノードのクラスター = 75%の可能性でノード間通信が発生 – 8 ノードのクラスター = 88%の可能性でノード間通信が発生 – 16ノードのクラスター = 94%の可能性でノード間通信が発生 RACではノード間通信を低減させるために、アプリケーションおよびデータのパーティショニングが推奨 – メンテナンス負荷増大やアプリケーション開発コスト・リスク増大につながる ノード 1 ノード 2 ノード 3 ノード間通信 ネットワーク DB2 pureScale は クラスターの の台数に クラスター 台数に関係なく 関係なく Node 2 Node 3 Node 1 同様な な データアクセスと と スケールアウトが が 可能 さ 同様 データアクセス スケールアウト にマスターさ にマスターさ マスターさ マスター にマスターさ マスターさ れるデータ れるデータ れるデータ れるデータ れるデータ れるデータ 他社 データベース 25 © 2011 IBM Corporation DB2 pureScaleの のメッセージフロー 2メンバー メンバーから メンバーから同 から同じページの ページの異なる行 なる行を更新 UPDATE T1 SET C3 = 111000 WHERE C1 = 1 Member Member11 Valid = N Page 1001 P-Lock 1 Eaton 109351 111000 NE 2 Zikopoulos 450321 SW 3 Sachedina 849291 NW 4 Huras 398122 SW Release P-Lock and pull page SLS X_row1 P_1001 CF CF RaR 1001 RaR 1001 Member Member22 Page 1001 1 Eaton 111000 NE 2 Zikopoulos 450321 SW 3 Sachedina 849291 NW 4 Huras 398122 SW Page 1001 P-Lock 1 Eaton 111000 109351 NE 2 Zikopoulos 450321 SW 3 Sachedina 849291 NW 4 Huras 398122 SE SW Page 1001 Member 1 Member 2 SLS X_row4 P_1001 UPDATE T1 SET C4 = SE WHERE C1 = 4 26 © 2011 IBM Corporation Oracle RACの のメッセージフロー 2メンバー メンバーから メンバーから同 から同じページの ページの異なる行 なる行を更新 UPDATE T1 SET C3 = 111000 WHERE C1 = 1 Instance Instance11 Page X lock I’d like page 1001 for Update Page 1001 1 Eaton 109351 111000 NE 2 Zikopoulos 450321 SW 3 Sachedina 849291 NW 4 Huras 398122 SW Send page 1001 to Node 2 I’d like page 1001 for Update Got it Read it from disk Instance Instance33––master masterfor forpage page1001 1001 Got it Instance Instance22 Page X lock Page 1001 1 Eaton 111000 NE 2 Zikopoulos 450321 SW 3 Sachedina 849291 NW 4 Huras 398122 SW Send page 1001 to Node 1 Got it I’d like page 1001 for Update UPDATE T1 SET C4 = SE WHERE C1 = 4 27 © 2011 IBM Corporation Oracle RACの のメッセージフロー 2メンバー メンバーから メンバーから同 から同じページの ページの異なる行 なる行を更新 UPDATE T1 SET C3 = 111000 WHERE C1 = 1 Instance Instance11 Page X lock I’d like page 1001 for Update I’d like page 1001 for Update I’d like page 1001 for Update Send page 1001 to Node 2 Send page 1001 to Node 2 I’d like page 1001page 1001 to NodeGot Send 2 it for Update Send page 1001 to Node 2 Got it Got it Got it Read it from disk Page 1001 1 Eaton 109351 111000 NE 2 Zikopoulos 450321 SW 3 Sachedina 849291 NW 4 Huras 398122 SW Instance Instance33––master masterfor forpage page1001 1001 Got it Instance Instance22 Page X lock Page 1001 1 Eaton 111000 NE 2 Zikopoulos 450321 SW 3 Sachedina 849291 NW 4 Huras 398122 SW UPDATE T1 SET C4 = SE WHERE C1 = 4 28 Send page 1001 to Node 1 Send page 1001 to Node 1 Send Got it page 1001 to Node 1 Send Got it page 1001 to Node 1 Got it I’d like page Got 1001it for Update I’d like page 1001 for Update I’d like page 1001 for Update I’d like page 1001 for Update © 2011 IBM Corporation スケーラビリティの スケーラビリティの違い DB2 pureScaleでは では、 では、メンバー間 メンバー間のコミュニケーションを コミュニケーションを最小限に 最小限に抑えるこ とにより、 とにより、アプリケーション・ アプリケーション・パーティショニングに パーティショニングに依存しない 依存しないスケーラビリ しないスケーラビリ ティを ティを確保 – Oracle RACでは、更新意図を持ったスキャンの際に必ずページロックを 取得 – DB2 pureScaleでは、行を実際に更新する時点のみページロックを取得 29 © 2011 IBM Corporation まとめ DB2 pureScaleの の主要コンポーネント 主要コンポーネント – メンバー、CF(Cluster caching facility) – DB2 Cluster Service、GPFS、InfiniBand CFが が保持する 保持するストラクチャー するストラクチャー – データページを共有するためのGBP – ロック情報を共有するためのGLM – 各種コントロールブロックなどを共有するSCA DB2 pureScaleが がスケールする スケールする理由 する理由 – RDMAによる低レイテンシ・低コストなデータ転送 – ロックモデルの最適化によりメンバー間コミュニケーションを最小化 30 © 2011 IBM Corporation