Your SlideShare is downloading. ×
0
PostgreSQL9.0アップデート レプリケーションがやってきた!
PostgreSQL9.0アップデート レプリケーションがやってきた!
PostgreSQL9.0アップデート レプリケーションがやってきた!
PostgreSQL9.0アップデート レプリケーションがやってきた!
PostgreSQL9.0アップデート レプリケーションがやってきた!
PostgreSQL9.0アップデート レプリケーションがやってきた!
PostgreSQL9.0アップデート レプリケーションがやってきた!
PostgreSQL9.0アップデート レプリケーションがやってきた!
PostgreSQL9.0アップデート レプリケーションがやってきた!
PostgreSQL9.0アップデート レプリケーションがやってきた!
PostgreSQL9.0アップデート レプリケーションがやってきた!
PostgreSQL9.0アップデート レプリケーションがやってきた!
PostgreSQL9.0アップデート レプリケーションがやってきた!
PostgreSQL9.0アップデート レプリケーションがやってきた!
PostgreSQL9.0アップデート レプリケーションがやってきた!
PostgreSQL9.0アップデート レプリケーションがやってきた!
PostgreSQL9.0アップデート レプリケーションがやってきた!
PostgreSQL9.0アップデート レプリケーションがやってきた!
PostgreSQL9.0アップデート レプリケーションがやってきた!
PostgreSQL9.0アップデート レプリケーションがやってきた!
PostgreSQL9.0アップデート レプリケーションがやってきた!
PostgreSQL9.0アップデート レプリケーションがやってきた!
PostgreSQL9.0アップデート レプリケーションがやってきた!
PostgreSQL9.0アップデート レプリケーションがやってきた!
PostgreSQL9.0アップデート レプリケーションがやってきた!
PostgreSQL9.0アップデート レプリケーションがやってきた!
PostgreSQL9.0アップデート レプリケーションがやってきた!
PostgreSQL9.0アップデート レプリケーションがやってきた!
PostgreSQL9.0アップデート レプリケーションがやってきた!
PostgreSQL9.0アップデート レプリケーションがやってきた!
PostgreSQL9.0アップデート レプリケーションがやってきた!
PostgreSQL9.0アップデート レプリケーションがやってきた!
PostgreSQL9.0アップデート レプリケーションがやってきた!
PostgreSQL9.0アップデート レプリケーションがやってきた!
PostgreSQL9.0アップデート レプリケーションがやってきた!
PostgreSQL9.0アップデート レプリケーションがやってきた!
PostgreSQL9.0アップデート レプリケーションがやってきた!
PostgreSQL9.0アップデート レプリケーションがやってきた!
PostgreSQL9.0アップデート レプリケーションがやってきた!
PostgreSQL9.0アップデート レプリケーションがやってきた!
PostgreSQL9.0アップデート レプリケーションがやってきた!
PostgreSQL9.0アップデート レプリケーションがやってきた!
PostgreSQL9.0アップデート レプリケーションがやってきた!
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

PostgreSQL9.0アップデート レプリケーションがやってきた!

1,113

Published on

@オープンソースカンファレンス2010 Kansai@Kyoto …

@オープンソースカンファレンス2010 Kansai@Kyoto
http://www.ospn.jp/osc2010-kyoto/modules/eguide/event.php?eid=48

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,113
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
5
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. PostgreSQL 9.0 アップデートレプリケーションがやってきた!日本PostgreSQLユーザ会NTT OSSセンタ藤井 雅雄OSC2010 Kansai@Kyoto
  • 2. お品書き• レプリケーション以外の新機能• レプリケーション
  • 3. 9.0は5年ぶりの「記念リリース」 • レプリケーションをぜひ使って欲しい!Ingress Ingress 9.0 PostgreSQL PostgreSQL 8.1 6.0 6.0 (2010/8予定)1977 7.4 7.4 •パーティショニング •パーティショニング 8.3 1986 •2相コミット •2相コミット •HOT: 更新性能向上 •HOT: 更新性能向上 1996 2000 2003 •バッファ管理改良 •バッファ管理改良 •VACUUM自動化 •VACUUM自動化 •レプリケーション 2004 •全文テキスト検索 •全文テキスト検索 •列 / 条件付きトリガ •列 / 条件付きトリガPOSTGRESPOSTGRES 2005 •排他制約 2006 •排他制約 7.3 7.3 •Windows 64bit対応 2007 •Windows 64bit対応 2008 2009 8.0 2010 •Windows対応 8.2 •Windows対応 •セーブポイント •セーブポイント •CPUスケール •CPUスケール •メディア故障対応(PITR) •メディア故障対応(PITR) •オンライン索引作成 •オンライン索引作成 8.4 •テーブルスペース •テーブルスペース •GIN: 汎用転置索引 •GIN: 汎用転置索引 Window関数・再帰クエリ Window関数・再帰クエリ •VACUUM用メモリ自動管理 •VACUUM用メモリ自動管理 •他DBMS互換性向上 •他DBMS互換性向上
  • 4. レプリケーション以外の新機能
  • 5. 1. VACUUM FULLの刷新
  • 6. VACUUM 進化し続けるVACUUM FULL刷新 9.0 autovacuum 8.4 コア統合 8.3VACUUM 8.2 自動メモリ管理遅延設定 8.1 HOT 8.0 7.4 XID周回 複数プロセス 管理改善 autovacuum REINDEX インデックスの 参照クエリでの ほぼ不要化 VACUUM改良 XID消費抑制
  • 7. VACUUM vs. VACUUM FULLid name id name id name1 京都 VACUUM 1 京都 VACUUM FULL 1 京都 2 東京 3 兵庫 3 神奈川 2 大阪 UPDATE2 大阪 2 大阪3 兵庫 3 兵庫
  • 8. VACUUM FULLは使ってはならない (~8.4)• 時間がかかる• 排他ロック• 順序性が壊れる• インデックスのゴミが増える
  • 9. VACUUM FULLの改善 ~8.4 9.0~
  • 10. VACUUM FULLの利用価値UP (9.0~)• 高速• 排他ロック• 順序性はそのまま• インデックスのゴミも掃除※基本的にはVACUUMで十分
  • 11. 2. 排他制約
  • 12. 範囲や地理データ型の“重なり”を制限 • 一意性制約 (UNIQUE) – “点” の “一致” を禁止N • 排他制約 (EXCLUDE) E W – “広がり” を持つ型の “重なり” を禁止 地理データ型の重なり 予約時間の重なり
  • 13. 空間を占めるオブジェクトの重なりを避ける例 CREATE TABLE placement ( object text, location box, -- 矩形 EXCLUDE USING gist (location WITH &&) );
  • 14. 3. application_name
  • 15. コネクションに名前を付与できる chat blog shopping活動状況 サーバログ [blog] LOG: unexpected EOF on client connectionSELECT * FROM pg_stat_activity [chat] ERROR: deadlock detected WHERE application_name = ‘blog’ ...
  • 16. その他
  • 17. • 条件付き 及び 列単位のトリガ• アクセス制御のデフォルト設定 / 一括変更• LISTEN/NOTIFY の高速化 / メッセージ送信• Windows 環境での 64-bit 版サポート※新機能は Let’s postgres で紹介中!• http://lets.postgresql.jp/documents/technical/9.0/
  • 18. レプリケーション
  • 19. ウォームスタンバイの発展系 アーカイブ・ リカバリ 9.0オンライン・バックアップ 8.3 レプリケーション 8.0 ウォーム・ スタンバイ
  • 20. 9.0 レプリケーション = クライアント ホット・スタンバイ SQL SQLマスタ スタンバイ 変更 ストリーミング・レプリケーション
  • 21. なぜレプリケーションが必要?高可用性 負荷分散 クライアント クライアント SQL SQL SQLマスタ スタンバイ マスタ スタンバイ
  • 22. 特徴
  • 23. マスタ / 複数スタンバイ クライアント 更新SQL 参照SQL 複数スタンバイマスタ 変更
  • 24. カスケード NG クライアント 参照SQL 複数スタンバイ 更新SQLマスタ スタンバイ 変更 変更
  • 25. ログシッピング クライアント 更新SQL マスタ スタンバイ WAL リカバリ WAL WAL データベース
  • 26. メジャーバージョンとアーキテクチャの一致 クライアント スタンバイ OS: 32bitマスタ PG: v9.1.0OS: 64bitPG: v9.0.0 OS: 64bit PG: v9.0.2
  • 27. 既存APをそのままレプリケーションに移行可能クライアント クライアント マスタ スタンバイ 単独
  • 28. DB全体をレプリケーションDB全体 テーブルごと マスタ スタンバイ マスタ スタンバイ
  • 29. WALが書かれないものはレプリケーションされない• サーバログ• パラメータの設定変更
  • 30. シェアード・ナッシングシェアード・ナッシング 共有ディスク マスタ スタンバイ マスタ スタンバイ
  • 31. 非同期レプリケーション クライアント COMMITマスタ “成功” スタンバイ fsync WAL
  • 32. ホット・スタンバイ実行OK 実行NG SELECT INSERT / UPDATE / DELETE SET CREATE / DROP / ALTER BEGIN / COMMIT / ROLLBACK VACUUM / ANALYZE バックアップ 一時テーブル
  • 33. 最新の変更が見えない SELECT count(*) = 3件 SELECT count(*) = 2件 参照 参照マスタ スタンバイ 挿入 挿入 INSERT リカバリ
  • 34. 参照SQL vs. リカバリ SELECT 参照マスタ 競合 スタンバイ 掃除 掃除 VACUUM リカバリ
  • 35. 手動フェイルオーバ 自動切り離し クライアント クライアントマスタ スタンバイ マスタ スタンバイ
  • 36. 自動フェイルオーバ+ Pacemaker + pgpool-II クライアント クライアント SQL 仮想IP pgpool-II SQL SQL マスタ スタンバイ マスタ スタンバイ
  • 37. オンライン再組み込み クライアントマスタ スタンバイ
  • 38. PostgreSQL組み込み• 簡単なインストール & 使い方• マルチプラットホーム• 日本語ドキュメント• 活発な開発
  • 39. 9.0は5年ぶりの「記念リリース」 • レプリケーションをぜひ使って欲しい!Ingress Ingress 9.0 PostgreSQL PostgreSQL 8.1 6.0 6.0 (2010/8予定)1977 7.4 7.4 •パーティショニング •パーティショニング 8.3 1986 •2相コミット •2相コミット •HOT: 更新性能向上 •HOT: 更新性能向上 1996 2000 2003 •バッファ管理改良 •バッファ管理改良 •VACUUM自動化 •VACUUM自動化 •レプリケーション 2004 •全文テキスト検索 •全文テキスト検索 •列 / 条件付きトリガ •列 / 条件付きトリガPOSTGRESPOSTGRES 2005 •排他制約 2006 •排他制約 7.3 7.3 •Windows 64bit対応 2007 •Windows 64bit対応 2008 2009 8.0 2010 •Windows対応 8.2 •Windows対応 •セーブポイント •セーブポイント •CPUスケール •CPUスケール •メディア故障対応(PITR) •メディア故障対応(PITR) •オンライン索引作成 •オンライン索引作成 8.4 •テーブルスペース •テーブルスペース •GIN: 汎用転置索引 •GIN: 汎用転置索引 Window関数・再帰クエリ Window関数・再帰クエリ •VACUUM用メモリ自動管理 •VACUUM用メモリ自動管理 •他DBMS互換性向上 •他DBMS互換性向上
  • 40. ご清聴ありがとうございました
  • 41. レコード単位のレプリケーション レコード単位 スタンバイ マスタ ファイル単位 スタンバイ
  • 42. スタンバイ起動直後は接続できないマスタ スタンバイバックアップ開始 接続NG 1バックアップ完了 2 接続OK 3
  • 43. 使いどころ• 参照スケールアウト• データ損失を許す高可用• ディザスタ・リカバリ

×