技術部会ブログ


WG2の活動検討状況について


10月5日、ついにPostgreSQLの新しいメジャーバージョンである PostgreSQL 10がリリースされました。これまでのブログでも触れておりますが、技術部会のWGではPostgreSQL 10の新機能などを使用した検証も予定しておりますので、お楽しみに。

さて、先月のWG2(移行WG)の会合では、今後取り組んでいく具体的なテーマについて検討を行い、大きく3点挙がってきました。

● 見積り編の継続

2016年度の「DB移行開発見積り編」では、データベースオブジェクトの移行に関する作業見積もりの観点を提示しました。その内容をベースに実際の見積もりを行うための見積もりシートの作成や、オブジェクト移行以外の見積もりについても検討していきたいと考えています。

● ストアドプロシージャ編の強化

ストアドプロシージャの移行については、全体的な移行方針の提示、新しく得た移行ノウハウの追加、移行の具体例の追加などの強化案に加えて、現状移行方針が提示できていないポイントについて議論をしていきたいという話が挙がっています。

● 既存資料の更新

ストアドプロシージャ編を含め、WG2ではこれまで多くの成果物を公開してきていますが、WGの活動開始当初からPostgreSQLもバージョンアップを重ねており、それに合わせた内容のメンテナンスをどうしていくかという課題が常にありました。この点について、注目度が高い(良くダウンロードされている)資料、およびバージョンごとに内容の更新が入りやすい資料を中心に、順次対応していくことを検討しています。

これらのテーマについて、次回以降検討を進めていく予定です。

また、WG2ではPGConf.ASIAのday0(プレユーザカンファレンス)にて講演を行いますので、これからPostgreSQLの利用を検討されている方は是非ご参加ください。

(くろ)

WG1/WG3共通活動テーマの検討状況およびWG3活動テーマの決定


9月21日木曜日、新たな活動テーマを模索する中で、新技術検証WG(WG1)と課題検討WG(WG3)とで共通して挙がった活動テーマについて、進め方等を決めるための議論が行われました。

2つのWGで共通して挙がったテーマは以下の3テーマです。

・ロジカルレプリケーション
PostgreSQL 10の新機能であるロジカルレプリケーションを検証します。どのような場面で使用すると良いか、ストリーミングレプリケーションと比較してどの程度の性能が出るか、などを検証するテーマです。

・全文検索
特定の運用モデルにおける全文検索の性能を検証します。更新性能・検索性能がどの程度か、ストリーミングレプリケーションやロジカルレプリケーションと組み合わせることでどのような影響があるか、などを検証するテーマです。

・Windows対応
Linux環境と比較してノウハウの少ないWindows環境でのPostgreSQLの挙動を検証します。運用面でのLinux環境との違いはどこか、HA構成をどのように組むか、などを検証するテーマです。

主に、WG1では活動テーマを性能面から深掘りしていき、WG3では運用面・機能面から深掘りしていくことが決まりました。
共通のテーマを異なる観点から深掘りしていくことで、また新しい発見が得られることを期待しましょう。

上記決定を受けて、WG3では活動テーマが以下の3テーマに決まりました。
・レプリケーション
・Windows
・性能トラブルのノウハウ共有

次回以降、テーマごとのチームで検証に向けて動き出します!

またWG3では11/17(金)にPostgreSQLのレプリケーションに関する勉強会を実施しますので奮ってご参加ください。
詳細は後日発表させていただきます。

2017年度 WG1活動テーマの検討状況


8月10日、ちょうど PostgreSQL 10 Beta 3のリリース と時を同じくして、第2回 合同WG検討会が開催されました。各WGでは第1回に引き続き2017年度の活動テーマについて活発な議論が行われました。

WG1 (新機能検証WG) では、新バージョンの性能や新技術の検証を通じて有用性を明確化するという方針のもと、新バージョンPostgreSQL 10を中心にしながらも、それだけに縛られない、様々な活動テーマが議題に上がりました。

パラレルクエリの改善

パラレルクエリは、クエリを並列に実行することで性能を向上させる、PostgreSQL 9.6からの機能です。PostgreSQL 10では、Btreeインデックスによるインデックスキャンやマージ結合などにも対応し、より多くの状況で並列化できるように改善されています。
そうなると、巨大なデータに対して複雑なクエリを実行するOLAPのような用途で、どこまでPostgreSQLが性能を発揮できるようになったか気になりませんか?
WG1では、TPC-HやTPC-DSなどのベンチマークの特徴を見極めた上で、パラレルクエリの有無、バージョンの違いによるPostgreSQLの性能変化についての検証を検討しています。

ロジカルレプリケーション

ロジカルレプリケーションは、PostgreSQL 10の目玉となる新機能の1つで、トランザクションログを論理的な変更内容として転送し、レプリケーションする機能です。PostgreSQLのレプリケーションにはほかにもストリーミングレプリケーションがありますが、それとの大きな違いは、テーブル単位でレプリケーションしたり、レプリケーション先でデータを変更したり、異なるバージョン間でレプリケーションしたりできることです。
最近ではSNSの発展により誰もが情報を発信しつつ、検索もするという状況になっており、データの検索は静的なデータに対してだけでなく、頻繁に更新され続けるデータに対しても行われるようになっています。
そうした中、ロジカルレプリケーションを使用すると、レプリケーション先のみにインデックスを作成できます。それにより、レプリケーション元はインデックス更新のオーバヘッドがない更新用ノード、レプリケーション先はインデックス検索が可能で、複数ノード設置可能な検索用ノードとし、頻繁な更新の状況下での検索性能の向上が期待できます。
WG1では、更新のない場合と頻繁に更新され続ける場合における検索性能を比較するとともに、ロジカルレプリケーションによる性能向上への効果についての検証も検討しています。

そのほかにも、PostgreSQL 10の宣言的パーティショニングと従来のパーティショニングとの性能比較、Transparent Data Encryption for PostgreSQLによるデータ暗号化の性能検証、例年実施しているpgbenchによる前バージョンとの検索、更新性能の比較などの検証を検討しています。

活動テーマの選定はWG間で重複するテーマを調整する段階となり、ようやく終わりが見えてきました。次にWG1から報告する頃 (12月を予定) には、検証の途中経過について報告できると思います。

(tom-sato)