PostgreSQL による クラスタ構成の可能性 SRA OSS, Inc. 日本支社 取締役支社長 石井達夫
SRA OSS, Inc. のご紹介 PostgreSQLを中心とした OSSへの様々なサービスを提供 サポートサービス コンサルティング パッケージ製品 PowerGres, libtextconv, Sylpheed Pro 教育サービス トレーニング 技術者認定制度 (PostgreSQL CE) Http://www.sraoss.co.jp 私自身は経営の立場とエンジニアの二足のわらじ Twitter: @tatsuo_ishii Copyright(c)2010 SRA OSS, Inc. Japan 2
10 年以上の歴史を持ち機能 信頼性 安定性に定評のあるデータベース CPU スケーラビリティにも定評 (12 CPU 程度までスケール ) TB 級の大規模データベースの事例もある PostgreSQL とは Copyright(c)2010 SRA OSS, Inc. Japan 3
ソースコード行数 1200000 1000000 急速に成長を続ける PostgreSQL マルチプロセッサ最適化 再帰 SQL Window 関数 組み込みレプリケーション 800000 600000 400000 200000 0 トリガ 副問い合わせマルチバイト PL/pgSQL 行ロック MVCC WAL ログ TOAST Concurrent Vacuum Windows 対応 HOT 全文検索 autovac uum 6.1 6.2 6.3 6.4 6.5 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3 8.4 9.0 2010 2009 2008 2006 2005 2003 2002 2001 2000 1999 1998 1997 Copyright(c)2010 SRA OSS, Inc. Japan 4
PostgreSQL の機能 アプリケーション可搬性の向上 レプリケーション 性能向上 標準 SQL の利用 コストベースオプティマイザ 行ロック MVCC ストアドプロシジャトリガユーザ定義データ型 XML 全文検索 付加機能 可用性向上ディザスタリカバリ負荷分散 データ保全運用性向上 パーティショニング オンラインバックアップバイナリ /SQL Copyright(c)2010 SRA OSS, Inc. Japan 5
クラスタ構成で注目される OSS DBの利用 コスト節約効果が顕著 製品グレードによってクラスタ機能が使えないなどの心配がない 必要な分だけ有償保守を利用可能 ライセンス管理の煩わしさから解放 ビジネスの成長に合わせて手軽にクラスタ規模を拡大可能 Copyright(c)2010 SRA OSS, Inc. Japan 6
PostgreSQL 9.0 以前に利用可能だった代表的なレプリケーション Slony-I トリガを使って更新データを転送してレプリケーション ( トリガベースレプリケーション ) 非同期レプリケーション / 更新性能の劣化が少ない Pgpool-II SQL 文をコピーして転送してレプリケーション ( クエリベースレプリケーション ) 同期レプリケーション / 更新性能の劣化が多い Copyright(c)2010 SRA OSS, Inc. Japan 7
Slony-I によるレプリケーション PostgreSQL マスタ 更新 / 検索問合わせ 更新行転送 DB クライアント 検索問合わせ PostgreSQL スレーブ Copyright(c)2010 SRA OSS, Inc. Japan 8
pgpool-ii によるレプリケーション PostgreSQL 更新問合わせ DB クライアント 問合わせ pgpool-ii 更新問合わせ 検索問い合わせはどちらかに転送 PostgreSQL Copyright(c)2010 SRA OSS, Inc. Japan 9
Slony-I と pgpool-ii の組み合わせ pgpool-ii でクエリ切り分け 死活監視負荷分散を実施 問合わせ 更新 / 検索問合わせ 更新行の転送 PostgreSQL DB クライアント pgpool-ii 検索問合わせ PostgreSQL Copyright(c)2010 SRA OSS, Inc. Japan 10
大規模クラスタシステム事例 オープンドア様事例 国内最大級規模の携帯電話向け SNS/ ゲームサイト 月間 4 億 PV, トランザクションの 2 割が更新系 pgpool-ii + Slony-I で 20 台以上の PostgreSQL を管理. スケールアウトする大規模システムを構築 http://members.techtarget.itmedia.co.jp/tt/members/0802/28/news01.html ITMedia techtarget 記事より引用 Copyright(c)2010 SRA OSS, Inc. Japan 11
Slony-Iによるレプリケーションの問題点 運用が煩雑 レプリケーションできないデータがある レプリケーションの遅延が多い Copyright(c)2010 SRA OSS, Inc. Japan 12
PostgreSQL 9.0のストリーミングレプリケーション 運用が容易 すべてのデータをレプリケーション可能 レプリケーションの遅延が少ない レプリケーションが本体に組み込みなので導入しやすい Copyright(c)2010 SRA OSS, Inc. Japan 13
ストリーミングレプリケーションの プライマリサーバ 仕組み スタンバイサーバ 検索 更新 コミット ロールフォワード トランザクションログ ログ送信プロセス 0.2 秒毎に連続的に ( ストリーミング ) ネットワーク転送 トランザクションログ ログ受信プロセス Copyright(c)2010 SRA OSS, Inc. Japan 14
Streaming Replication+ Hot Standby と pgpool-ii の組み合わせ pgpool-ii でクエリ切り分け 死活監視負荷分散を実施 更新 / 検索問合わせ PostgreSQL 問合わせ トランザクションログの転送 DB クライアント pgpool-ii 検索問合わせ PostgreSQL Copyright(c)2010 SRA OSS, Inc. Japan 15
PostgreSQL によるクラスタリングの 現在の到達点 可用性は充分確保できている 検索性能はスケールアウト可能 更新性能の向上は対価が必要 非同期レプリケーション データ分割戦略 妥協の必要がない更新性能の向上は PostgreSQL に限らずすべての DBMS の課題 Copyright(c)2010 SRA OSS, Inc. Japan 16
PostgreSQLにおけるレプリケーションクラスタソリューションの今後 ストリーミングレプリケーションの改良 同期レプリケーションの実装 PostgreSQL-XC プロジェクト NTTが中心になって実施しているOSSプロジェクト 検索だけでなく 更新もスケールするクラスタシステム Copyright(c)2010 SRA OSS, Inc. Japan 17
Postgres-XC のアーキテクチャ SQL の解析 グローバルトランザクションマネージャ コーディネータコーディネータコーディネータ SQL の実行 データノードデータノードデータノード Copyright(c)2010 SRA OSS, Inc. Japan 18
参考 URL PostgreSQL http://www.postgresql.org Slony-I http://www.slony.info/ Pgpool-II http://pgfoundry.org/projects/pgpool/ Postgres-XC http://postgres-xc.sourceforge.net/ Copyright(c)2010 SRA OSS, Inc. Japan 19
ご清聴ありがとうございました Copyright(c)2010 SRA OSS, Inc. Japan 20