2012年2月26日日曜日

PostgreSQL Conference 2012のユルい参加レポ

仕事でPostgresqlのホットバックアップを組もうとして色々調べていたところ、偶然カンファレンスの告知を見かけたもので、これはちょうどいい機会と参加してきた。
午前中のセッションの内容については、以下のログが分かりやすい。(有り難く拝見)
PostgreSQL Conference 2012-02-24 at 品川−そこはかとなく書くよ。

ランチセッションは外で食べてて聞いてないので、ここでは午後に聞いた話しの自分なりのポイントを残しておく。

#難しい話しはよく分からないので、ずっとチュートリアルセッションにいたw

■参加したセッション

【 C1 】「OSS-DB 標準教科書」を活用した PostgreSQL 初心者教育を考える
(標準教科書開発プロジェクト 宮原 徹)

【 C2 】PostgreSQL アーキテクチャ入門
(アップタイム・テクノロジーズ合同会社 永安 悟史)

【 C3 】PostgreSQL 運用テクニック・レベルアップ編
(NTT OSS センタ 坂本 昌彦)

【 C4 】安全な SQL の呼び出し方
(HASH コンサルティング株式会社 徳丸 浩)

■各セッションの自分なりのポイント

【 C1 】「OSS-DB 標準教科書」を活用した PostgreSQL 初心者教育を考える
(標準教科書開発プロジェクト 宮原 徹)

・初心者にOSSの技術を教える際の良い教科書がない。
・良い強化書とは、、基礎の基礎を解説/実行例や実習が多め/講義の時間や回数などを考慮→無いので作った。
・LPI Japanの全面バックアップの元にプロジェクト始動。
(Linux標準教科書などに続く4冊目としてリリース)
・入力関係はすべてコピペできるよう配慮している。
(2行目のプロンプトをあえて表記していない等)
・章構成もいきなりSQLを実行するところから。
(現場で講師役が環境構築をしているという前提で。環境構築手順は巻末)
・EPUB版も興味本位で作ってみたものの、日本語対応にはまだ難がある。
・基本情報処理試験などとのマッピングは考慮していない。
(質疑応答の中で、現役の講師の方からこの辺りのリクエストがあった。)
・正規化は諦めた。
・応用編もいずれ作りたい。


【 C2 】PostgreSQL アーキテクチャ入門
(アップタイム・テクノロジーズ合同会社 永安 悟史)

・PostgreSQLの基本構造(プロセス、メモリ領域、ファイル)
・発生する3種類のI/O
RW:テーブルファイル
R:インデックスファイル
W:トランザクションログ(WAL)
・クエリプランの確認方法
EXPLAIN
−最適であると判断された「クエリプラン」を表示
EXPLAIN(ANALYZE)
−「クエリプラン」に加えて、「実行結果」を表示
−実際に、どのアクセスにどの程度の時間がかかっているのか、何件の処理をしたのかなどを表示
EXPLAIN(ANALYZE,BUFFERS)
−上記2つに加え、「バッファアクセス」を表示

GUIツールで確認(pgAdminⅢ)
−「クエリー解釈」=EXPLAIN
−「アナライズ解釈」=EXPLAIN(ANALYZE)
・シーケンシャルアクセスとランダムアクセスについて
・パフォーマンス改善手法(可視化→分析→対策)
−可視化のツール:pg_statinfo、pg_reporter
−分析のツール:pgFouine
・バックアップの手法
・冗長化の手法


【 C3 】PostgreSQL 運用テクニック・レベルアップ編
(NTT OSS センタ 坂本 昌彦)
pg_rmanがすごい!
−簡単にオンラインバックアップが可能。
−簡単にリストア(PITR前準備)
−複数世代管理
−増分バックアップ

・紹介ツール(デモ)
pg_statinfo
−性能情報・各種統計情報をWeb画面より確認可能
−内部状態をチェックし、アラート発出が可能
pg_reorg
−参照、更新を妨げずに、表、索引を再作成する。 
※VACUUM FULLしたいけど、止められない時や、
REINDEXしたいけど、止められない時に有効。

pg_rman
−コマンド一つでオンラインバックアップを取得する。
−コマンド一つでPITRの前準備を実施する。
※商用環境での導入実績はまだゼロとか。

pg_bulkload
−データを高速にロードする。
※データロード時間を少しでも早くしたい時、
ロードするデータに何らかの加工をしたい時。(ETLツール)
最近は、本体だけでも随分速くなってきたので、後者の方がメリット大きい。


【 C4 】安全な SQL の呼び出し方
(HASH コンサルティング株式会社 徳丸 浩)
・内容は、IPAの「安全なSQLの呼び出し方」や、 徳丸本を参照されたし