スライド タイトルなし



Similar documents
CSV_Backup_Guide


目 次 機 能 運 用 上 の 注 意 処 理 手 順 画 面 説 明 ログイン 直 送 先 選 択

iStorage ソフトウェア VMware vSphere Web Client Plug-in インストールガイド

4 応 募 者 向 けメニュー 画 面 が 表 示 されます 応 募 者 向 けメニュー 画 面 で [ 交 付 内 定 時 の 手 続 を 行 う] [ 交 付 決 定 後 の 手 続 を 行 う]をクリックします 10

もくじ はじめに 本 書 はスマートフォンやタブレットのアプリ LINE の 設 定 を 行 うためのマニュアルとなります 詳 しい 操 作 方 法 については メーカーホームページ 上 の 基 本 的 な 使 い 方 を 参 照 ください LINE 基 本 的 な 使 い 方

                                         2008

文化政策情報システムの運用等

目 次 目 次 1 ログイン ログアウト ログインする...1 ログイン 画 面 が 表 示 されないときは?... 1 初 めてログインするときのパスワードは?... 2 初 期 パスワードを 忘 れてしまったときは?... 2 変 更 したパスワードを 忘 れてしまったときは?.

スライド 1

MetaMoJi ClassRoom/ゼミナール 授業実施ガイド

V-CUBE One

R4財務対応障害一覧

私立大学等研究設備整備費等補助金(私立大学等

<4D F736F F D F8D828D5A939982CC8EF68BC697BF96B38F9E89BB82CC8A6791E52E646F63>

Microsoft Word - 【第17期】有価証券報告書(課税上の取り扱い)

4 参 加 資 格 要 件 本 提 案 への 参 加 予 定 者 は 以 下 の 条 件 を 全 て 満 たすこと 1 地 方 自 治 法 施 行 令 ( 昭 和 22 年 政 令 第 16 号 ) 第 167 条 の4 第 1 項 各 号 の 規 定 に 該 当 しない 者 であること 2 会 社

は 固 定 流 動 及 び 繰 延 に 区 分 することとし 減 価 償 却 を 行 うべき 固 定 の 取 得 又 は 改 良 に 充 てるための 補 助 金 等 の 交 付 を 受 けた 場 合 にお いては その 交 付 を 受 けた 金 額 に 相 当 する 額 を 長 期 前 受 金 とし

の と す る (1) 防 犯 カ メ ラ を 購 入 し 設 置 ( 新 設 又 は 増 設 に 限 る ) す る こ と (2) 設 置 す る 防 犯 カ メ ラ は 新 設 又 は 既 設 の 録 画 機 と 接 続 す る こ と た だ し 録 画 機 能 付 防 犯 カ メ ラ は

大田市固定資産台帳整備業務(プロポーザル審査要項)

購買ポータルサイトyOASIS簡易説明書 b

17 外 国 人 看 護 師 候 補 者 就 労 研 修 支 援 18 看 護 職 員 の 就 労 環 境 改 善 運 動 推 進 特 別 20 歯 科 医 療 安 全 管 理 体 制 推 進 特 別 21 在 宅 歯 科 医 療 連 携 室 整 備 22 地 域 災 害 拠 点 病

全設健発第     号

介護保険制度改正にかかる事業所説明会

文科省様式3-2集計オプションマニュアル

●幼児教育振興法案

<819A955D89BF92B28F BC690ED97AA8EBA81418FA48BC682CC8A8890AB89BB816A32322E786C7378>

データコピーとは データコピーは 古 い NAS のデータを 新 しい HDL-Z シリーズに 簡 単 にコピーできます 環 境 例 本 製 品 は 以 下 の 用 途 の 際 に 最 適 です 古 い HDL-Z シリーズから 新 しい HDL-Z シリーズへのコピー 古 い HDL-Z シリーズ

Transcription:

pgpool-ii 2.0について SRA OSS, Inc. 日 本 支 社 石 井 達 夫

pgpool-iiとは? pgpool Global Development Groupが 開 発 BSDライセンスで 配 布 される 多 彩 な 機 能 コネクションプーリング,レプリケーション, 負 荷 分 散, パラレルクエリ 設 定 が 容 易.GUI 管 理 ツールも 附 属 PostgreSQLに 手 を 入 れていないので,バージョン 追 従 が 容 易 使 用 言 語 を 選 ばない 2

GUI 管 理 ツール:pgpoolAdmin 3

pgpool-iiのアーキテクチャ 問 合 わせ 問 合 わせ DBノード1 クライアント pgpool-ii DBノード2 pgpool-haを 使 うと,pgpool-II 自 体 の 二 重 化 も 可 能 DBノード3 4

pgpool-iiの 機 能 コネクションプーリング データベースへの 接 続 オーバヘッドを 軽 減 PostgreSQLへのコネク ションを 保 持 しておき, 再 利 用 する Webシステムのように, 頻 繁 に 接 続 / 切 断 を 繰 り 返 すシステムで 効 果 あ り アプリケーション pgpool-ii PostgreSQL 5

pgpool-iiの 機 能 レプリケーション SQL 文 を 複 製 してデータベー スのコピーをリアルタイムに 作 る 片 方 のDBが 障 害 を 起 しても 自 動 的 に 切 り 離 して 運 用 を 継 続 障 害 復 旧 後 は 運 用 を 停 めず にDBを 同 期, 復 帰 させること が 可 能 (オンラインリカバリ) オンラインリカバリの 手 法 をユーザが 選 択 可 能 なので,PITRを 利 用 して 高 速 リカバリ 可 能 アプリケーション pgpool-ii PostgreSQL PostgreSQL 6

pgpool-iiの 機 能 負 荷 分 散 検 索 問 合 わせをランダ ムに 決 めたPostgreSQL に 振 り 向 ける 負 荷 をPostgreSQL 間 で 分 かち 合 うので, 検 索 性 能 が 向 上 TPC-Cなどの, OLTP(On Line Transaction Processing) 系 の 負 荷 に 向 いている アプリケーション pgpool-ii PostgreSQL PostgreSQL 7

pgpool-iiの 機 能 パラレルクエリ データを 分 割 してPostgreSQL 間 で 分 担 検 索 問 合 わせを 複 数 の PostgreSQLで 一 斉 に 実 行, 結 果 をpgpool-IIでまとめる 問 合 わせを 並 列 に 処 理 する ので 高 速 TPC-H/DBT-3などOLAP(On Line Analitical Processing) 系 の 負 荷 に 最 適 アプリケーション pgpool-ii PostgreSQL PostgreSQL 8

pgppool-ii 2.0 2007/11/16 2.0 リリース その 後 マイナーバージョンアップして2.0.1がリリース 済 http://pgfoundry.org/frs/download.php/1521/pgpool-ii-2.0.1.tar.gz 様 々な 改 良 を 追 加 レプリケーション 信 頼 性 向 上 高 速 化 オンラインリカバリ パラレルクエリ 高 速 化 全 般 他 のシステムとの 連 携 9

レプリケーションの 信 頼 性 向 上 : 多 数 決 方 式 の 採 用 アプリケーション 更 新 系 問 合 わせの 結 果 チェック pgpool-ii このサーバは 結 果 が 少 数 派 なので エラー! PostgreSQL PostgreSQL PostgreSQL 結 果 =A 結 果 =A 結 果 =B? 10

レプリケーションの 信 頼 性 向 上 : 明 示 的 なトランザクション 発 行 DB1 内 部 ロック 発 行 UPDATE SET a = a +1 内 部 ロックリリース DB2 内 部 ロック 発 行 内 部 ロック 発 行 UPDATE SET a = a *2 内 部 ロックリリース UPDATE SET a = a *2 内 部 ロックリリース 時 間 11 ロックをリリース しているので, 次 のUPDATEが 実 行 できてしまう ノード 間 で 実 行 順 が 違 う! 内 部 ロック 発 行 UPDATE SET a = a +1 内 部 ロックリリース

レプリケーションの 信 頼 性 向 上 : 明 示 的 なトランザクション 発 行 DB1 トランザクション 開 始 UPDATE SET a = a +1 DB2 トランザクション 開 始 DB2の 処 理 が 終 わる までロックを 保 持 UPDATE SET a = a +1 トランザクション 終 了 トランザクション 終 了 トランザクション 開 始 UPDATE SET a = a *2 トランザクション 開 始 UPDATE SET a = a *2 トランザクション 終 了 時 間 明 示 的 なトランザクションを 使 うことでノード 間 の 実 行 順 を 保 証 12 トランザクション 終 了

レプリケーションの 信 頼 性 向 上 : 更 新 行 数 の 確 認 pgpool-ii 1.xでは 更 新 の 成 功, 失 敗 のみを 判 断 pgpool-ii 2.0では, 加 えて 更 新 件 数 もチェック 件 数 が 一 致 していない 場 合 はエラー 扱 い 回 復 はオンラインリカバリで 13

レプリケーションの 高 速 化 pgpool-ii 1.xでは, 更 新 性 能 はノード 数 に 比 例 して 低 下 ノード 数 が2なら1/2,3な ら1/3,4なら1/4... pgpool-ii 2.0では, 更 新 性 能 はノード 数 に 関 わ らず1/2 12 10 8 6 4 更 新 性 能 の 比 較 pgpool-ii 1.x pgpool-ii 2.x PostgreSQL 2 0 PostgreSQL ノード 数 2 ノード 数 3 ノード 数 4 14

pgbench によるベンチマーク 結 果 4ノードでの レプリケーション 処 理 テスト 検 索 比 率 が60% 越 えると pgpool-ii が 速 い 15

オンラインリカバリとは? pgpoolを 停 止 させずにデータを 同 期 させてノード を 復 帰 させる 機 能 pgpool pgpool-ii 1.xは すべてを 停 止 させて データを 同 期 pgpool-ii 2.0は 停 止 させずに データを 同 期 pgpool PostgreSQL PostgreSQL PostgreSQL PostgreSQL データ 同 期 データ 同 期 16

オンラインリカバリの 仕 組 み 2 段 階 に 分 けてデータを 同 期 ファーストステージ 並 行 して DB の 参 照 更 新 が 可 能 セカンドステージ すべての 接 続 が 終 了 するまで 待 機 接 続 リクエストをすべてブロック リカバリ 方 法 ユーザ 自 身 でどのようにリカバリするかを 決 めることができる pgpool-iiのソースコードにサンプルスクリプトを 同 梱 17

オンラインリカバリの 実 行 例 PITRを 使 ったオンラインリカバリ 差 分 バックアップにより 接 続 をブロックする 時 間 を 短 時 間 にすることが 可 能 ブロックする 時 間 はpostmasterがアーカイブログからリカバリする 時 間 ファーストステージ ベースバックアップを 取 得 し ダウンしたホストへコピー セカンドステージ SELECT pg_switch_xlog() を 実 行 し 最 新 のWALログをアーカイブさせる 18

オンラインリカバリ 設 定 pcp.conf pcp_recovery_node コマンドを 使 うので 設 定 は 必 須 pgpool.conf recovery_user リカバリ 中 にPostgreSQL(template1データベース)へ 接 続 するためのユーザ 名 recovery_password recovery_userのパスワード recovery_1st_stage_command ファーストステージで 実 行 するコマンド コマンドは$PGDATA 以 下 におく 必 要 がある(セキュリティ 上 の 問 題 ) recovery_2nd_stage_command セカンドステージで 実 行 するコマンド コマンドは$PGDATA 以 下 におく 必 要 がある(セキュリティ 上 の 問 題 ) backend_data_directoryn(nは 数 字 ) データベースクラスタディレクトリ 名 19

オンラインリカバリ 実 行 方 法 管 理 ツール 上 から 実 施 20

オンラインリカバリの 応 用 ノードの 動 的 追 加 2.0 から pgpool.conf のリロードが 可 能 backend_* を 追 加 し オンラインカバリすることで 負 荷 状 況 に 応 じてノードを 追 加 ができる(スケールアッ プ) リロードするとノードは ダウン 状 態 で 追 加 される PostgreSQL pgpool PostgreSQL 稼 動 中 にノードを 追 加 PostgreSQL 21

パラレルクエリとは? 複 数 のノードでリクエスト(SELECT)を 処 理 1つのテーブルを 複 数 サーバに 分 割 (テーブルパー ティショニング)しておき SELECTの 結 果 をpgpool-II でまとめることで 仮 想 的 に1つのテーブルとして 扱 う クライアント pgpool-ii 並 列 にSELECTが 実 行 される PostgreSQL PostgreSQL PostgreSQL PostgreSQL 22

パラレルクエリの 変 更 点 1.xの 挙 動 すべてのテーブルを 分 割 する 必 要 がある 中 間 データが 大 きくなるのでJOINが 遅 い 2.0 レプリケーションテーブルとパーティショニングテー ブルを 混 在 させることが 可 能 クエリをより 並 列 に 動 かすことが 可 能 23

pgpool-ii 1.xの 動 作 中 間 データが 大 きく なってしまう! 1 3 5 7 2 4 6 8 1 2 3 取 得 したデータを 結 合 1 3 2 1 3 5 7 2 4 6 8 1 3 2 ノード1のa ノード2のa ノード1のb 全 体 のデータを 取 得 ノード2のb 24

pgpool-ii 2.0の 動 作 中 間 データが 小 さい ので 高 速 1 2 3 結 果 をまとめるのみ 1 3 2 1 3 5 7 1 2 3 2 4 6 8 1 2 3 ノード1のa ノード1のb ノード2のa ノード2のb 25

DBT-3によるベンチマーク 単 体 実 行 時 間 /3 台 分 散 実 行 時 間 7 6 5 4 3 2 1 0 PostgreSQLと3 台 並 列 処 理 の 実 行 時 間 の 比 較 1 2 3 4 5 6 7 8 9 10111213 141516 17181920 2122 Query 番 号 line_itemとordersをテーブル 分 割 PostgreSQL 3 ノード(3 分 割 ) 青 線 :パーティションテーブルとレプリケー ションテーブルの 結 合 赤 線 :レプリケーションテーブル 同 士 の 結 合 パラレルクエリの 弱 いクエリは 未 測 定 (13,15,17,20,22) scale factor=10 インデックス 含 めてトータルで30GB 最 大 で6 倍 のパフォーマンス 改 善 (クエリ9 番 ) 26

他 のシステムとの 連 携 failover_command ノードを 切 り 離 した 時 に 指 定 したコマンドを 実 行 Slony-I の 連 携 やアラートメールを 送 ることが 可 能 failback_command ノードを 戻 した 時 に 指 定 したコマンドを 実 行 pgpool-iiから 必 要 な 情 報 を 渡 すことも 可 能 ( 特 殊 文 字 を 置 換 ) %d: 対 象 ノード 番 号 %h: 対 象 ノードのホスト 名 %p: 対 象 ノードのポート 番 号 %D: 対 象 ノードのデータベースクラスタパス 27

クライアントの 強 制 切 断 client_idle_limit クライアントからクエリが 届 くまでの 最 大 待 ち 時 間 を 指 定 可 能 秒 単 位 で 指 定 TCPのタイムアウト 待 ち 防 止 などに 有 効 28

pgpoolファミリの 今 後 pgpool-iは 今 後 pgpool-iiに 移 行 してもらう pgpool-ii 1.xは 今 後 メンテを 終 了 予 定 pgpool-ii 2.xへ 一 本 化 pgpool-haはpgpool-iiでも 利 用 可 能 29

まとめ pgpool-ii 2.0の 特 長 レプリケーションの 信 頼 性 向 上 更 新 処 理 の 高 速 化 (4ノードなら 従 来 の2 倍!) オンラインリカバリ ノード 追 加 部 分 レプリケーションによるパラレルクエリの 高 速 化 SRA OSSでは,pgpool-IIの 商 用 サポートを 提 供 す る 予 定 です! 30

参 考 URL pgpool-ii 開 発 サイト http://pgfoundry.org/projects/pgpool/ pgpool Wiki http://pgpool.sraoss.jp/ pgpoolメーリングリスト http://www.sraoss.jp/mailman/listinfo/pgpool-general-jp マイコミジャーナルでのpgpool-IIの 解 説 記 事 http://journal.mycom.co.jp/articles/2007/11/08/pgpool/index.html 31

pgpool-ii デモシステムの 構 成 Apache 2.2.6 FireFox PHP 5.2.4 pgpooladmin pgpool-ii (9999) PostgreSQL 8.2(5432) PostgreSQL 8.2(5433) psql/pgbench Vine Linux 4.1CR 32