GresCube で快適 PostgreSQL ライフ 2013 年 11 月 8 日 NTT データ藤井雅雄 PostgreSQL カンファレンス 2013
今日お話ししたいこと GresCube とは GresCube はお客様の声にどのように応えているのか? 可用性性能安定性構築運用故障解析アップデートサポート GresCube が見つめる未来 2
藤井雅雄と申します twitter: @fujii_masao PostgreSQL エバンジェリスト @NTT データ 社内 PostgreSQL 営業 技術支援 GresCube 開発 サポート PostgreSQLコミッタ非同期レプリケーション同期レプリケーションカスケードレプリケーション pg_bigm( 全文検索モジュール ) 3
GresCube とは 4
GresCube とは 様々なツールやサポートを詰め込んだオールインワン PostgreSQL 性能安定化 pg_hint_plan 運用管理独自 GUI DB 操作 phppgadmin 故障情報収集 sosreport オンラインパッチ適用 SystemTap 性能監視 pg_statsinfo バックアップ pg_rman Pacemaker Corosync PostgreSQL HA 制御 同期レプリケーション Pacemaker Corosync PostgreSQL 全文検索 pg_bigm Oracle 互換 orafce アップデートレポート 長期サポート オプション ノウハウ OSS 技術者 ツール 5
まもなくお手元へ! NTT データは GresCube を本格的に販売開始いたします 公式サイト http://oss.nttdata.co.jp/grescube/ お問合せ grescube@kits.nttdata.co.jp Twitter @grescube 6
思いは もっと PostgreSQL 使おう! NTT データは 最も PostgreSQL を利用している企業のひとつ 10 年以上の実績! 累積 500 以上のシステムで PostgreSQL 採用! とはいえ 商用 DB を利用するシステムの方が圧倒的に多い ( ω `) ショホ ーン もっとお客様の声に応えたい! もっと PostgreSQL ファンを増やしたい! PostgreSQL のひとつの提供形態として GresCube を開発 99.999%( 年間停止時間 5 分 15 秒 ) の 可用性 を実現したい SQL 実行性能を 安定化 させたい 突然の性能劣化は困る故障は 確実に そして短時間に原因究明してほしい 7
お客様の声にどのように応えているか? 8
9 99.999%( 年間停止時間 5 分 15 秒 ) の可用性を実現したい 共有ディスク型の HA 構成ではフェイルオーバに時間がかかる GresCube はレプリケーションベースの HA 構成で 99.999% の可用性を実現! 共有テ ィスク 故障検知 共有テ ィスク切替 リカバリ チェックポイント 故障検知 リカハ リ チェックポイント ~9.2 故障検知 リカ 9.3 ハ リ
10 99.999%( 年間停止時間 5 分 15 秒 ) の可用性を実現したい レプリケーションベースの HA 構成をミスなく設定する自信ありますか? たったひとつの設定ミスが深刻なトラブルに ( Д`lli) GresCube は 各製品 ツールのスペシャリストが設定した HA 構成を提供 性能安定化 pg_hint_plan スタンバイ監視 運用管理独自 GUI DB 操作 ノード phppgadmin VIP pingd diskd pgsql RA STONITH... 故障情報収集 sosreport オンラインパッチ適用 SystemTap 性能監視 pg_statsinfo バックアップ pg_rman Pacemaker Corosync スタンバイからのバックアップ PostgreSQL Linux HA 制御 同期レプリケーション マスタ スタンバイ 認証 アーカイブ Pacemaker Corosync PostgreSQL Linux 全文検索 pg_bigm Oracle 互換 orafce ネットワーク...
実行性能を安定化させたい 突然の性能劣化は困る 基幹系システムでは性能の安定性が重要 実行計画の変化による突然の性能向上 / 劣化を避けたい 実行計画の選択は PostgreSQL のプランナ任せ プランナが突然不適切な実行計画を選んで性能劣化のリスク GresCube は HINT 機能 (pg_hint_plan) を標準搭載! プランナに HINT を与えて どの実行計画を選ぶかユーザが思い通りに制御 HINT の種類 説明 /*+ IndexScan(hoge) */ SELECT * FROM hoge WHERE id = 9999; スキャン方法テーブルをどの方法でスキャンするか? 結合順序テーブルをどの順序で結合するか? 結合方法テーブルをどの方法で結合するか? 11
12 PostgreSQL 初心者だけど短期間に DB サーバを構築したい GresCube は わずか 3 ステップで構築 ヒアリングシートから最適な設定を組み込み項目数 1000 以上の基盤試験を提供ごとに実施 Selenium serverspecで試験自動化 試験完了までお待たせしない! インストールDVDからKickStartベースの簡単インストール 通常の DB サーバ構築 機器調達基盤設計インストール 設定 チューニンク 基盤試験 GresCube の構築 機器調達 ヒアリンク インストール
13 ミスなく簡単に DB サーバを運用したい 様々なツールの様々な操作インタフェース バラバラ ( Д`lli) phppgadmin で DB 操作 CUI で Pacemaker 操作 pg_stats_reporter で性能レポート GresCube は 各操作インタフェースの統合的な GUI を提供!
14 ミスなく簡単に DB サーバを運用したい フェイルオーバからの復旧 ミスなく行う自信ありますか? GresCube は 面倒な操作をミスなく簡単に行うための GUI を提供 # /etc/init.d/corosync stop # su postgres $ rm rf /db/data $ rm rf /wal/pg_xlog $ pg_basebackup h 192.168.52.100 U grescube D /db/data-xp $ mkdir p /wal/pg_xlog $ mv /db/data/pg_xlog/* /wal/pg_xlog/ $ rmdir /db/data/pg_xlog $ ln s /wal/pg_xlog /db/data/pg_xlog $ rsync av --delete 192.168.52.100:/archive/archivelog/ /archive/archivelog $ exit # rm /var/lib/pgsql/tmp/pgsql.lock # /etc/init.d/corosync start 面倒な操作がボタンひとつ! オペミス自動防止!
故障は確実にそして短時間に原因究明してほしい 故障解析に必要な情報をいかに確実に早く収集するか? GresCube では 解析情報の収集もボタンひとつ! NTT グループのサポート経験から厳選した情報 お客様 問合せ回答解析結果 ダウンロードファイルを転送 サポート 15
サービスを止めずに手間なくアップデートしたい 月一でアップデートレポートを配信 緊急時には号外レポート 膨大なアップデート情報から 本当に必要な情報だけを解決策とともに配信 毎月大量のアップデート情報が GresCube は必要な情報だけ届く 毎月 200 件超の情報 ( Д`lli) PostgreSQL リリースノート OS 脆弱性情報 Corosync リリースノート... 深刻で GresCube に関係ある問題だけ詳細な説明 ソースレベルの解析結果解決策 一時対処策... 16
17 サービスを止めずに手間なくアップデートしたい 片系ずつ停止させながらアップデート 面倒じゃないですか? GresCube では わずか 4 ステップでアップデート PostgreSQL や Pacemaker など GresCube を構成するすべてのソフトウェアに対応 2 1 3 4
18 サービスを止めずに手間なくアップデートしたい ソフトウェアのアップデートがシステムに与える影響を見極めるのは難しい アップデート後の動作を保証するためにシステム全体を再試験 ( Д`lli) 深刻なバグだけを修正して 再試験の範囲を限定できないか? GresCube では 特定のバグだけをオンラインでパッチ修正できる Relation CreateFakeRelcacheEntry(RelFileNode rnode) {... rel->rd_lockinfo.lockrelid.dbid = rnode.dbnode; rel->rd_lockinfo.lockrelid.relid = rnode.relnode; PostgreSQL9.1.6アップデートレポート ( リリース日 :2012/9/24) インデックスおよびVisibility Mapが破損する可能性がありました } rel->rd_smgr = NULL; return rel; SystemTap で差し込み rel->rd_rel->relpersistence = 'p';
19 高レベルでトータルなサポートを長期間提供してほしい GresCube を構成する様々な製品 ツールをトータルサポート どんな故障にもコア開発者が徹底対応 コミュニティサポート終了後も安心の長期サポート 性能安定化 pg_hint_plan 性能監視 pg_statsinfo バックアップ pg_rman トータルサポート 運用管理独自 GUI Pacemaker Corosync PostgreSQL Linux DB 操作 phppgadmin HA 制御 同期レプリケーション 故障情報収集 sosreport Pacemaker Corosync PostgreSQL Linux オンラインパッチ適用 SystemTap 全文検索 pg_bigm Oracle 互換 orafce
GresCube が見つめる未来 20
さらにお客様からの声 ( 期待 ) に応えるために! お客様からの期待は止まらない GresCube と PostgreSQL をよりよく! レプリケーションの運用が面倒なんだけど 楽にするパッチをコミュニティ提案中です! 性能情報まだ足りない 実行計画も取得したい 実行計画の定期収集ツールを開発中です! 仮想環境上でもクラウド上でも GresCube 使いたいんだが VMware KVM には対応実施中! AWS などクラウドへの対応を計画中です! 21
22 レプリケーションの運用性向上 フェイルバック時にバックアップが不要に! 両系稼働 両系稼働 マスタ レプリケーション スタンバイ スタンバイ レプリケーション マスタ マスタ故障によりフェイルオーバ マスタ単独稼働 9.3 旧マスタの再組込み ( フェイルバック ) バックアップ転送 停止 マスタ 停止 マスタ バックアップ 面倒! 大変! 時間かかりすぎ!
23 レプリケーションの運用性向上 フェイルバック時にバックアップが不要に! 両系稼働 両系稼働 マスタ レプリケーション スタンバイ スタンバイ レプリケーション マスタ マスタ故障によりフェイルオーバ 9.4 マスタ単独稼働 停止 マスタ 旧マスタの再組込み ( フェイルバック ) 楽チン! 時間もかからない!
GresCube ご興味をお持ちいただけましたでしょうか? 24
GresCube 本格販売開始! 25 がっちり 高可用 すごい サポート 性能 安定化 トラブル 徹底追及 らくらく 運用 短時間 構築
Copyright 2011 NTT DATA Corporation http://oss.nttdata.co.jp/grescube/ grescube@kits.nttdata.co.jp @grescube