先日、PostgreSQLカンファレンス2014に行ってきたのでメモ。
NTTデータと PostgreSQL が挑んだ総力戦
大規模案件にPostgreSQLを投入した話。
- 案件
- 開発者1000人規模
- 10M step
- DB規模 1インスタンス/〜10TB
- DBアクセス 200TPS〜
- ミドルウェア
- RHEL 6.2
- PostgreSQL 9.2
- Tomcat
- PostgreSQLの拡張
- pg_statsinfo
- pg_stat_statement
- auto_explain
- pg_hint_plan
- pg_dbms_stats
- pg_bigm
- pg_reolg
- pgfincore
- DR対策で、SRの仕様策定者がいたりしたのでSR採用
- 十分実用的とのこと
- SQLの性能を担保
- コーディング規約を作ったり
- pg_dbms_statsを使って本番を模した実行計画に固定してSQLを検証したり
実際に起きたトラブルの紹介など
使っている拡張を聞けただけでも聞く価値あった
- 拡張を使いまくるのはMySQLと趣が違う感じ
- 実行計画の固定ってすごい発想
- SRの導入事例を聞けたのがよかった
- SQLのテストについて「こういうツールでユニットテストやってます」とかいう話が聞けたらよかったなー(手動、目視確認な気がする…)
WITH
便利そう
pgpool-II 3.4 の新機能のご紹介
pgpool-IIの話。
- PostgreSQLをバランシングしたり、振り分けに重みをつけられたり、アプリごとに接続先を変えられたり、単体で冗長化できたり、マスタの昇格ができたり、WebUIあったり…
- 夢のツール過ぎる
- Dockerでパッケージ作ってます、CIやってますとのこと
- いきなり「Docker便利」という話が出てきて面白かった
PostgreSQL のパラメータチューニングの基本
名前の通り、パラメーターチューニングの話。
PGCon 2014 Tokyo【D2】PostgreSQL のパラメータチューニングの基本(山田 達郎)
- パラメーターについて定石的なことを勉強できた
- PostgreSQL初心者にはものすご〜くありがたい
- 「OSのページキャッシュは全体の50%に設定する」という話が興味深かった
- shared_buffersをあんまり取り過ぎるとメモリの書き出しでIOの負荷になるとか
- キャッシュを2段にすることの明確な効果がよく分からなかったなー。ページキャッシュの先読み機能を使いたいという話なのだろうか?
PostgreSQL SQL チューニング入門
実行計画の読み方の話。
PGCon 2014 Tokyo【D3】PostgreSQL SQL チューニング入門 入門編(下雅意 美紀)
- こちらもPostgreSQL初心者にはすごくありがたい
- コストの算出の仕方が明快だった。EXPLAINもすごく細かくでる
- MySQLに比べてJOINの処理が豊富
- 追記型でのインデックスの内部が面白かった
PostgreSQL SQL チューニング入門 実践編
D3の話を実際のクエリを踏まえながら解説した話。
PGCon 2014 Tokyo【D4】PostgreSQL SQL チューニング入門 実践編(山田 聡)
- こちらもすごいわかりやすかった。
- 実行計画の強制が
force index
どころじゃなく、柔軟にできる感じ - JOINをふくむクエリの実行計画、わかりやすくてよいなー
- 部分インデックス便利そう。機能豊富だ…
- auto_explain、使ってみよう
Treasure Data での PostgreSQL 活用方法
- S3のインデックスにPostgreSQLを使ってる話
- RDSでActive 1インスタンスとのこと(typeはいえないとのこと)
- 10億件のレコード
- MySQLより早かったから最近(今年?)移行したらしい
- Prestoの話面白かった。便利!でもニーズに合った話だったのだろうか…
- prestogres使ってみたい
- BIでTD使えると便利そうだけど、実例どこかにあるのかな?
- 資料公開してほしい…
PostgreSQL 9.4 の新機能 JSONB 型を使ってみよう
みてないけど、資料が勉強になりました。
所感
- 全体的にえんたーぷらいじーな雰囲気。スーツ率高し
- 「PostgreSQLはなんと高機能なんだ」という気分になった
- まあ、実際使ってみないことにはなんともだけど、どれもこれも便利そう
- 賢いプランナー、よい
- 拡張機能が豊富なのもよい
積極的に案件で使っていきたいなー