自己紹介 石井 達夫 Pgpool-IIコミュニティリード PostgreSQLコミッタ SRA OSS, Inc. 日本支社支 社長 長田 悠吾 Pgpool-II開発者 SRA OSS, Inc. 日本支社で PostgreSQL関連のサポー ト コンサル業務に従事 2

Similar documents
pgpool-ii で PostgreSQL のクラスタを楽々運用しよう OSC Tokyo 2014/12/12 SRA OSS, Inc. 日本支社マーケティング部 OSS 技術グループ 長田 悠吾

自己紹介 長田悠吾 ( ナガタユウゴ ) SRA OSS, Inc. 日本支社 マーケティング部 OSS 技術グループ pgpool-ii 開発者 PostgreSQL 関連の技術調査 OSS の技術サポート PostgreSQL の開発にも参加 Copyright 2015 SRA OSS, In

スライド 1

Zabbix で PostgreSQL を監視! pg_monz のご紹介 Zabbix Conference Japan 年 11 月 20 日 SRA OSS, Inc. 日本支社マーケティング部

PostgreSQL による クラスタ構成の可能性 SRA OSS, Inc. 日本支社 取締役支社長 石井達夫

PostgreSQLによる クラスタ運用および負荷分散術 SRA OSS, Inc. 日本支社 OSS事業本部 星合 拓馬

別紙 : 検証環境の構築手順 ( 章 ) 1. サーバ設定 1.1 IP アドレス設定 サーバは以下の 6 台を用いる pgpool-ii サーバ 2 台 DB サーバ 3 台 上位サーバ 1 台 OS は全サーバで CentOS 6.4 x86_64 とする pgpool-ii のサー

スライド 1

PostgreSQL 10 で作るクラスタ構成 SRA OSS, Inc. 日本支社 取締役支社長 石井達夫

アジェンダ はクラウド上でも十分使えます 1. の概要 とは の導入事例 で利用される構成 2. をクラウドで使う クラウドサービスの分類 Amazon Web Services による構成例 2

スライド 1

pg_monz 監視アイテム一覧 :Template App PostgreSQL Template App PostgreSQL アプリケーション LLD アイテムトリガー監視タイプ更新間隔ヒストリトレンドデフォルト説明ステータス pg.get pgsql.get.pg.bgwriter Zabb

スライド タイトルなし

メール全文検索アプリケーション Sylph-Searcher のご紹介 SRA OSS, Inc. 日本支社技術部チーフエンジニア Sylpheed 開発者 山本博之 Copyright 2007 SRA OSS, Inc. Japan All right

CLUSTERPRO MC ProcessSaver 2.3 for Windows 導入ガイド 第 5 版 2018 年 6 月 日本電気株式会社

JPUG 仕組み分科会 テキスト pgpool-ii のオンラインリカバリの概要 本稿は 2008 年 12 月発売の 技術評論社 WEB+DB PRESS vol. 48 の 特集 3 PostgreSQL 大規模運用 の草稿を 編集したものである

CLUSTERPRO MC ProcessSaver 1.2 for Windows 導入ガイド 第 4 版 2014 年 3 月 日本電気株式会社

Microsoft PowerPoint - 4-MySQL50_JDBC_failover.ppt

Si 知識情報処理

PowerPoint プレゼンテーション

商用監視ソフトウェアユーザの Zabbix 移行へ朗報 Zabbix Event Viewer のご紹介 【本邦初公開】

PowerGres Plus V9.1 のご紹介 PostgreSQL をベースに信頼性とセキュリティをプラス SRA OSS,Inc. 日本支社マーケティング部 2015/10 Copyright 2015 SRA OSS, Inc. Japan All rights reserved. 1

2D/3D CAD データ管理導入手法実践セミナー Autodesk Vault 最新バージョン情報 Presenter Name 2013 年 4 月 2013 Autodesk

日本 PostgreSQL ユーザ会第 28 回しくみ + アプリケーション勉強会 Zabbix を使って PostgreSQL を監視してみよう 2014 年 2 月 1 日 TIS 株式会社中西剛紀 (Yoshinori Nakanishi)

【Cosminexus V9】クラウドサービスプラットフォーム Cosminexus

PostgreSQL Plus 管理者ガイド

Automation for Everyone <デモ で実感できる、組織全体で活用できるAnsible Tower>

Microsoft PowerPoint - OSS運用管理勉強会資料_ a.pptx

新バージョン! Zabbix 2.2 と検証結果のご紹介 SRA OSS, Inc. 日本支社山本博之 Copyright 2013 SRA OSS, Inc. Japan All rights reserved. 1

TFTP serverの実装

HAクラスタで PostgreSQLを高可用化 (後編) ~ レプリケーション編 ~


高速 軽量メールクライアント Sylpheed の応用ソリューション 高速全文検索機能 (Sylph-searcher) メールライブラリ (LibSylph) OpenSource Conference 2009 Tokyo/Spring SRA OSS, Inc. 日本支社山本博之 Copyri

Sylpheed とは オープンソースのメールソフト ライセンスは GPL+LGPL 高速 軽量 高機能 高い操作性 高い信頼性 導入が容易 マルチプラットフォーム Windows, Linux, etc. 多言語対応 ( 約 30 ヶ国語 )

Exam : 1z0-882 日本語 (JPN) Title : Oracle Certified Professional, MySQL 5.6 Developer Vendor : Oracle Version : DEMO 1 / 4 Get Latest & Valid 1z0-882-JP

PostgreSQLのセキュリティを極める

◎phpapi.indd

10th Developer Camp - B5

勉強会の流れ Google API の概要 デモ curl で実際に体験 Copyright 2010 SRA OSS, Inc. Japan All rights reserved. 2

第6回 2014/04/15 OSSユーザーのための勉強会 PostgreSQLの優位性 株式会社アシスト データベース技術本部 喜田 紘介 Copyright 2014 K.K.Ashisuto All Rights Reserved. 1

24th Embarcadero Developer Camp

データセンターの効率的な資源活用のためのデータ収集・照会システムの設計

Postgres Plus Advanced Server 9.3パーティションテーブルの特徴と性能検証レポート

Source Insight

利用者

DataKeeper for Windows リリースノート

FUJITSU Software Systemwalker Centric Manager Lite Edition V13.5 機能紹介資料

Cuoreテンプレート

Microsoft Word - tutorial3-dbreverse.docx

データベースアクセス

Oracle Database In-Memory 高可用性ベスト・プラクティス

スライド 1

PostgreSQL 9.4 評価検証報告 SRA OSS, Inc. 日本支社高塚遙 :55 ~ 16:30 PostgreSQL 9.4 最新情報セミナー Copyright 2014 SRA OSS, Inc. Japan All rights reserved. 1

1.SqlCtl クラスリファレンス SqlCtl クラスのリファレンスを以下に示します メソッドの実行中にエラーが発生した場合は標準エラー出力にメッセージを出力します (1)Connect() メソッド データベースへ connect 要求を行います boolean Connect(String

クラスタ環境でのデータベースのアップグレード手順

スライド 1

PowerGres on Linuxマニュアル

GresCube で快適 PostgreSQL ライフ 2013 年 11 月 8 日 NTT データ藤井雅雄 PostgreSQL カンファレンス 2013 Copyright 2013 NTT DATA Corporation

Sharing the Development Database

スライド 1

クラスタ環境でのデータベースのアップグレード

JPexam 最新の IT 認定試験資料のプロバイダ IT 認証であなたのキャリアを進めます

変更履歴 項番版数内容更新日 版新規作成 2013 年 11 月 18 日 1

CLUSTERPRO for Linux PostgreSQL HowTo

<MW-400k > InterSec/MW400k アップデート適用手順書 2017 年 8 月 1 版

Microsoft Word - XOOPS インストールマニュアルv12.doc

今さら聞けない!? Oracle入門 ~後編~

付録

2. saccess saccess SQL SQL SQL saccess SQL SQL PHP 3. saccess saccess saccess Web *1 [5] saccess * saccess saccess, SQ

2015年10月24日 OSC 2015 Tokyo/Fall Linuxシステムをもっと安全で便利に 冗長化システムのご紹介 PowerDNSも冗長化しました 株式会社デージーネット OSS研究室 大野 公善

目次 1. 動作環境チェック 動作必要環境 Java のインストール Java のインストール Firebird のインストール Firebird のインストール Adobe Reader のインストール

使える! IBM Systems Director Navigator for i の新機能

ライセンスの注意事項 サーババンドル版のライセンスについてサーババンドル版では 通常のサーバライセンスおよび 4 コアライセンスを ベースライセンス 追加サーバライセンスおよび追加 2 コアライセンスを 追加ライセンス と呼びます 1 台の物理サーバに対してベースライセンスは 1 つしか購入すること

目次 はじめに 4 概要 4 背景 4 対象 5 スケジュール 5 目標点 6 使用機材 6 第 1 章 C# 言語 7 C# 言語の歴史 7 基本構文 8 C 言語との違い 9 Java 言語との違い 10.Netフレームワーク 10 開発資料 10 第 2 章 Mono 11 Monoの歴史 1

スライド 1

VB実用Ⅲ⑩ フリーデータベースⅡ

XAMPP で CMS のお手軽 テスト環境を手に入れよう 2011/5/21 上村崇 1

クラスタ構築手順書

はじめに PostgreSQL/PowerGres サポート & 保守サービス でサポート対象になっているサードパーティ製のソフトを紹介 pgfouine pgbadger( 今後サポート対象にする予定 ) PgFincore pg_reorg pg_rman pg_bulkload pg_stat

PostgreSQL カンファレンス 2013 証券取引バックオフィスにおける Oracle から PostgreSQL への マイグレーション SBI ジャパンネクスト証券株式会社 イアン バーウィック

PowerPoint Presentation

ArcGIS Pro 1.1 SDK for .NET インストール ガイド

Transcription:

Pgpool-IIの過去 現在 未来 SRA OSS, Inc. 日本支社 石井 達夫 長田 悠吾

自己紹介 石井 達夫 Pgpool-IIコミュニティリード PostgreSQLコミッタ SRA OSS, Inc. 日本支社支 社長 長田 悠吾 Pgpool-II開発者 SRA OSS, Inc. 日本支社で PostgreSQL関連のサポー ト コンサル業務に従事 2

SRA OSS, Inc.のご紹介 1999年よりPostgreSQLサポートを中心にOSS ビジネスを開始 2005年に現在の形に至る 主なビジネス PostgreSQL, ZabbixなどのOSSのサポー ト コンサルティング 導入構築 Postgres Plusの販売 PowerGresファミリーの開発 販売 PostgreSQL用の各種トレーニング 3

2003年6月27日: pgpoolの誕生 コネクションプーリング フェイル オーバのみ サポートするPostgreSQLサーバ は2台まで Version 2プロトコルのみサポー ト(まだVersion 3プロトコル =PostgreSQL 7.4はリリースさ れていなかった) C言語で4,719ステップの規模 2003年6月27日(金) 22:54:46 JST [pgsql-jp: 30256] PostgreSQL用コネクションプール サーバ pgpool 石井です PHPをはじめ Perlなど 言語を問わず使える pgpool と いPostgreSQL用のコネクションプールサーバを作ったの で公開します できたなのでまだアルファ版程度のクォリ ティですが よろしかったらお試し下さい ftp://ftp.sra.co.jp/pub/cmd/postgres/pgpool/pgp ool-0.1.tar.gz # もちろんpgpoolはオープンソースで ライセンスは PostgreSQLのBSDライセンスと同様のものにしていま す pgpoolを作った動機は PHPでコネク ションプールが使えないことに不満を 持ったからです ナ ウ マ ン 象 古 代 の 象 ( 一応PHPには パーシスタントコネクション というものが あってDBへの接続への接続をキャッシュできますが 少な くともapacheのプロセスの数だけコネクションができるの で DBへ過大な負荷がかかりがちです pgpoolを使うとコネクションをキャッシュできるだけでなく DBへの接続数を適切な数に制限できるので DBの性能 を引き出すことができます ) 4

2004年4月:pgpool 1.0の誕生 現在の ネィティブ レプリケー ションモード に相当する機能 を実装した(まだPostgreSQL にはレプリケーション機能がな かった) クエリキャンセル対応 ラージオブジェクトのレプリケー ション対応 C言語で5,890行 この頃は マイナーリリース(x.x) の際にも平気で機能を追加し ていたりして かなりいい加減 なリリース管理がされていた 5 現代の象になったがまだまだよちよち歩き

pgpool 2.0へ進化 2004年6月リリース 1.0のわずか2ヶ月後にリリース かなり頑張って開発していたよう だ V3プロトコルにネィティブ対応 C言語で7,750行 この後2.5を2005年2月にリ リース ヘルスチェックや マス タースレーブモードへの対応を 追加 これでpgpoolとしてのリリースは 完了 6

その頃のPostgreSQL PostgreSQL 7.4(2003 年11月) V3プロトコルが導入され プロトコルレベルの prepared queryが使える ようになった autovacuumの導入 全文検索機能がcontrib に導入された まだWindows未対応 レプリケーション未対応 7

2006年9月:Pgpool-II 1.0の誕生 開発手法の変更 個人プロジェクトから チーム作業へ IPAの援助で開発 機能の大幅追加 現在の姿にほぼ近づ く サーバ台数の制限撤廃 SQLパーサを搭載して精密な構文解析 管理コマンド(pcp)の実装 GUI管理ツール(pgpoolAdmin)の実装 パラレルクエリモードの実装 C言語で73,511行と 一気に10倍近い規 模に増えた(bison, flexコード行数を含む) 8

その頃のPostgreSQL PostgreSQL 8.2(2006年) Windows対応(8.0) PITR(8.0) save point(8.0) テーブルスペース 二相コミット(8.1) ビットマップインデックスス キャン(8.1) 行ロック(8.1) レプリケーション未対応 9

2011年11月pgpool.netへの引っ越し それまでホスティングさせ てもらっていた pgfoundry の不安定さに手を焼く 新しいホストティングサイト pgpool.net を作ることを 決意 pgpool.netをオープン ソースコード管理も CVS から git に移行した gitへの移行にあたって フ ランスのコミュニティのご支 援をいただきました 10 引っ越しはなかなか大変でした pgpool.netでは 英語の情報と 日本語の情報を同時発信するこ とにした

その頃のPostgreSQL PostgreSQL 9.1(2011 年) ストリミーングレプリケー ション(9.0) Windows 64bit対応 (9.0) pg_upgrade(9.0) 同期レプリケーション(9.1) 外部テーブル(9.1) 再帰問い合わせ(8.4) 11

query cache watchdog (2012) Exception manager (2014) PGPOOL SET SGML docs Enhaced failover (2016) 180,000 160,000 failover Streaming SERIAL failback replication command data type (2010) (2009) (2007) 140,000 120,000 100,000 pgpool-ii was born (2006) Lines of code 80,000 60,000 40,000 pgpool was born (2003) 20,000 0 p0.0 p1.0 p2.0 12 V1.0 V2.0 V2.1 V2.2 V2.3 V3.0 V3.1 V3.2 V3.3 V3.4 V3.5 V3.6

現在の開発体制 石井(日本) Ahsan Hadi(パキスタン) watchdogを中心に担当 コミッタ 安齋(日本) watchdogやその他幅広く担当 コミッタ 長田(日本) ユーザニーズの取り込み ベンチマーク Muhammad Usama(パキスタン) 全体のとりまとめ コードも書きます pgpooladminとインストーラを中心に担当 コミッタ 彭(中国) 安齋さんの後を引き継いでリリース作業やRPM作成を実施 コミッタ 13

Pgpool-IIの現在 PostgreSQLのクラスタの総合管理ツールに進化 pgpool 1.0 (5,890行)からPgpool-II 3.6.0 (177,948行)へ と 30倍の規模に成長 ストリーミングレプリケーションの管理ツールとして クエリをプライマリとスタンバイに振り分けるツールとして スタンバイに対するread onlyクエリの負荷分散 フェイルオーバの管理 クエリキャッシュ Pgpool-II自体のHA化 watchdog 14

Pgpool-IIの現在の主な機能 性能向上 コネクションプーリング 検索負荷分散 クエリキャッシュ 高可用性 自動フェイルオーバ フェイルオーバスクリプト フォローマスタスクリプト watchdog クラスタ管理 クラスタとアプリケー ションの親和性 オンラインリカバリ クエリの自動振り分け 15

Pgpool-IIのご紹介と使いどころ 16

PostgreSQLの群れ 象はパワフル 象が群れになればもっ とパワフル でも群れになれば管理 が大変なのでは 17

象の群れ管理問題 の一例 群れにはリーダが必要です(プライマリサーバ) もしリーダが引退したら 新しいリーダを立てなければならな い(フェイルオーバ 昇格) その際 他の象は新しいリーダに追従しなければならない リーダ以外の象は 働けなくなったら引退する スタンバイの フェイルオーバ 新しい象が群れに加わるときはスムーズに行われなければな らないI 群れの象はお互いに助けあわなければならない (負荷分散) リーダにしかできない仕事がある (更新クエリ) 18

Pgpool-IIで 象の群れ管理問題 を解決 Pgpool-IIを使うことにより 象の 群れは単独の象のように見える ユーザ定義のフェイルオーバスクリ プトにより フェイルオーバ時にど のスタンバイが昇格するかのポリ シーを決められる フォローマスターコマンド で新し いプライマリへの自動追従も可能 スタンバイがダウンしたら 自動的 に群れからそのスタンバイは外さ れるので クラスタとしての運用を 継続できる クエリが検索クエリなら 負荷分散 の対象となる クエリが更新クエリなら プライマリ サーバに送る 19 Pgpool-II 象の群れは単独の 象のように見える

クエリのディスパッチ/ルーテイング 既存のDBアプリケーションの 変更は最小限 参照または更新 クエリ 参照 更新 クエリ 参照クエリ プライマリ スタンバイ スタンバイ 20 スタンバイ

負荷分散 参照クエリ プライマリは 更新処理に 専念する 参照クエリのうち0% 参照クエリのうち 30 % 参照クエリのうち 40 % プライマリ スタンバイ スタンバイ 21 アプリケーション名や データベース名で分散 させることも可能 参照クエリのうち 30 % スタンバイ

スタンバイサーバがダウンした時 スタンバイサーバがダウンしたら Pgpool-IIがそのことを検知し クラスタリングの対象から取り除く 既存のセッションは再接続が 必要なこともある プライマリ スタンバイ 22 X

プライマリサーバがダウンした時 プライマリ X スタンバイ 23 プライマリがダウンすると スタンバイの 一つが昇格し 新しいプライマリになる 他のスタンバイは新しいスタンバイに 追従するようになる

新しいスタンバイの追加 新しい象 新しいサーバは簡単に追加できる Pgpool-IIは新しいサーバにプライマリ からデータをコピーし 他のサーバに 影響を与えずにクラスタに新しい サーバを追加できる 既存のセッションは切断されない プライマリ スタンバイ 24

Watchdog: Pgpool-II組み込みの 高可用性機能 X アクティブPgpool プライマリ 昇格 スタンバイPgpool アクティブPgpool-IIがダウンすると, スタンバイPgpool-IIが昇格する スタンバイ 25

Watchdog: 仮想IPの切り替え クエリ アクティブ Pgpool X 仮想IP 仮想IP 仮想IPの切り替え スタンバイ Pgpool スタンバイPgpool-IIが昇格時に 仮想IPが移動する 26

Watchdogによる協調動作 相互監視 スタンバイPgpool アクティブPgpool 情報共有 プライマリ X 相互に死活監視を行う ダウンしたサーバの情報を 他のPgpool-IIに伝える スタンバイ 27

インメモリクエリキャッシュ Pgpool-IIはクエリキャッシュを使ってクエ リの結果を再利用する クエリキャッシュはメモリ上に置かれるので 非常に高速 その際にPostgreSQLアクセスは一切なし キャッシュ用のストレージは 共有メモリか memcachedから選べる テーブルが更新されると そのテーブルを 参照したクエリキャッシュはすべて廃棄さ れる タイムアウトベースのキャッシュ更新も可能 28 クエリ キャッシュ PostgreSQLへの アクセスなし

最新バージョンPgpool-II 3.6の ご紹介 フェイルオーバの改善 PostgreSQL 9.6対応 その他 29

フェイルオーバの改善 30

フェイルオーバにおける問題点 複数のPostgreSQL サーバを使ったクラス タ構成で そのセッショ ンが使用していないDB サーバがダウンした時 にもセッションが一旦切 断される 31 フェイルオーバ時に 再起動指示 X X X X X X X

Pgpool-II 3.6では切断されるセッショ ンを最小化 前提条件 ストリーミングレプ リケーションモード ダウンし たDBサーバはスタンバイ ダウンしたサーバを使ってい るセッションに関連した Pgpool-II子プロセスのみ再 起動指示 それ以外のセッションに関連 したPgpool-II子プロセスは 現在のセッションが終了後 自動的に再起動してダウン 情報を反映する 32 フェイルオーバ時に 再起動指示 X X X

PostgreSQLの計画停止が容易に あらかじめ 停止予定の DBサーバに対する負荷 分散の重みを0に設定 し 設定ファイルを再 ロード 新しいセッションでは停 止予定のDBを使わなく なる DBを停止しても影響を 受けるセッションなし 33 フェイルオーバ時に 再起動指示 X X

使用しているDBサーバの確認がセッ ションごとに可能に 使用しているDB 負荷分散ノード はセッションごとのプロパティ なので PCPコマンドなどでは確認ができない そこで show pool_nodes で 現在のセッションの負荷分散 ノードを確認可能に そのほか レプリケーション遅延も確認可能に psql -p 11000 -c "show pool_nodes" test node_id hostname port status lb_weight role select_cnt load_balance_node replication_delay ---------+----------+-------+--------+-----------+---------+------------+-------------------+------------------0 /tmp 11002 up 0.333333 primary 0 false 0 1 /tmp 11003 up 0.333333 standby 0 true 0 2 /tmp 11004 up 0.333333 standby 0 false 0 (3 rows) 34

PostgreSQL 9.6対応 35

PostgreSQL 9.6 SQLパーサの移植 Pgpool-IIでは SQL文を正確に解析するためにSQLパーサを 持っている SQLパーサは 最新のPostgreSQLから移植 以下の新しい構文をサポート COPY FROM INSERT RETURNING TO ALTER FUNCTION DEPENDS ON EXTENSION ALTER TABLE ADD COLUMN IF NOT EXISTS など 36

Pgpool-II 3.6その他の改良 37

PGPOOL SET PostgreSQLの SET コマンドに相当するもの Pgpool-IIの一部の設定変数をセッション内で変更可能 セッション終了後に自動リセットされる 構文は PGPOOL SET 変数名 TO 値 SETできる変数 client_idle_limit client_idle_limit_in_recovery log_statement log_per_node_statement log_min_messages client_min_messages log_error_verbosity allow_sql_comments check_temp_table check_unlogged_table 38

PGPOOL SHOW Pgpool-IIの設定変数を個別に表示 PGPOOL SHOW 変数名 変数グループ ( logical group )別の表示も可能 backend, other_pgpool (他のwatchdogノード) heartbeat postgres=# pgpool show backend; item value description -------------------------+-------------------------------+----------------------------------------------backend_hostname0 127.0.0.1 hostname or IP address of PostgreSQL backend. backend_port0 5434 port number of PostgreSQL backend. backend_weight0 0 load balance weight of backend. backend_data_directory0 /var/lib/pgsql/data data directory of the backend. backend_flag0 ALLOW_TO_FAILOVER Controls various backend behavior. backend_hostname1 192.168.0.1 hostname or IP address of PostgreSQL backend. backend_port1 5432 port number of PostgreSQL backend. backend_weight1 1 load balance weight of backend. backend_data_directory1 /home/usama/work/installed/pg data directory of the backend. backend_flag1 ALLOW_TO_FAILOVER Controls various backend behavior. (10 rows) 39

pg_terminate_backend対応 pg_terminate_backendとは Pgpool-IIにとっての問題点 DBのシャットダウンと同じエラーコードがpg_terminate_backendの実行でもPostgreSQL から返るため Pgpool-IIはDBがシャットダウンされたと解釈してフェイルオーバしてしまう 解決策 PostgreSQLの組み込み関数の一つ プロセスIDを指定して 特定のバックエンドプロセスを 終了することができる 主に 無限ループに入ってしまった ロックを掴みっぱなしになってい る などの状態になったバックエンド終了させるための機能 pg_terminate_backendの引数を調べ 指定プロセスIDがどれかのセッションで使われて いるバックエンドである場合には 該当エラーコードがPostgreSQLから返ってきたとしても フェイルオーバを起こさず 該当セッションを切断するだけにする 制限事項 pg_terminate_backendの引数は単純整数でなければならない SELECT pg_terminate_backend(pid) from strange_table; とかは駄目 拡張プロトコル未対応 40

SELECT結果が多い時の 性能改善 検索結果をクライアントに返すときのオーバヘッドを改善し 特定のケースでは47%から62% の性能改善 従来1行返す毎にシステムコールを読んでいたのを 行単位でバッファリングを行い 最後に一 括でシステムコールを呼ぶようにして性能改善 41

ドキュメントフォーマットの変更 今までは 手打ちのHTML を使用 メインテナンスが大変 索引や目次などを自動的に 作れない Pgpool-II 3.6で は PostgreSQLと同 様 SGML HTMLという 仕掛けを採用 最初はSGMLファイルを作 るのが大変だが 保守は楽 になるはず と信じてます 42

Pgpool-IIの今後 PostgreSQLのレプリケーション技術の進化に合わせてPgpool-IIも進化して いきます クラスタ全体の状態管理を容易に クラスタ全体の状態を見渡し 管理するのは難しい Pgpool-IIがその作業を容易にする 自動フェイルバック 同期レプリケーション カスケードレプリケーション マルチマスタレプリケーション 自動的に復旧したスタンバイや 新しく追加されたスタンバイを認識してクラスタに追 加する プラグインアーキテクチャ 例 負荷分散ロジックをユーザが定義できるように 43

まとめ Pgpool-IIはコネクションプーリングソフトから出発し て 多機能なクラスタ管理ソフトに成長 個人プロジェクトから 集団開発のOSSプロジェクトへ 独自のレプリケーション機能に加えて ストリーミング レプリケーションに対応するなど PostgreSQLの進歩 に合わせて進化 今後も PostgreSQLに寄り添う というコンセプトを 維持しつつ PostgreSQLの進化に歩調を合わせて行 きます 44

URLなど Pgpool-II公式サイト http://www.pgpool.net Twitter ダウンロード Gitリポジトリ RPM @pgpool2 GitHub https://github.com/pgpool/pgpool2 単なるミラーです PRやIssuesへの反応は遅いかもしれません 45

Thank you! 46