PostgreSQL におけるマテリアライズドビューの高速更新技術(Incremental View Maintenance)の提案

SRA OSS は PostgreSQL 関連サービスを提供しているだけではなく、PostgreSQL の開発にも参加しています。過去には再帰SQLの実装や、ラージオブジェクトの64bit化などを行ってきました。

そして、最近は Incremental View Maintenance という機能の実装を提案することを検討しています(2018年12月末にPostgreSQL開発MLにて議論開始)。これはマテリアライズドビューの更新を高速に行うための技術です。PostgreSQLが大規模システムの採用が増加する中、マテリアライズドビューの利用は増えていると考えており、またその高速リフレッシュは喫緊の課題であると考えています。

これに関する発表を昨年の10月にポルトガルのリスボンで開催された PostgreSQL Conference Europe (PGConf.EU) 2018 で発表してきました(レポートはこちら)。本記事では、その内容について解説します。

続きを読む

Barman(PostgreSQL PITR 補助ツール)

Barman とは PostgreSQL のPITR(ポイントインタイムリカバリ)を簡単に管理してくれるツールです。

PITRとはバックアップ/リストア方式の一つで、過去の指定した時点の状態に復元することが可能です。PITRは、データベースクラスタの物理コピー(ベースバックアップと呼びます)を取得し、以降のデータ変更が書き出される WALファイルを継続的に保存する(保存したものをWALアーカイブやアーカイブログと呼びます)ことで実現されます。現在稼働しているデータベースクラスタを障害やオペレーションミスから復旧したい場合には、保存していたベースバックアップにWALアーカイブを適用することで、ベースバックアップ取得時点からWALアーカイブが適用できる限りの任意の時点に復元することができます。

続きを読む

PostgreSQL 11.1 に関する技術情報

このリリースは 11.0 からの修正リリース(2018年11月8日リリース)です。

11.x からのアップデートではダンプ、リストアは不要です。
しかしながら、pg_stat_statements拡張を使っている場合は修正を適用するための操作が必要です。
以下の関連する項目を参照してください。

続きを読む

PostgreSQL 10.6 に関する技術情報

このリリースは 10.5 からの修正リリース(2018年11月8日リリース)です。

10.x からのアップデートではダンプ、リストアは不要です。
しかしながら、pg_stat_statements拡張を使っている場合は修正を適用するための操作が必要です。
以下の関連する項目を参照してください。
また、10.4 より前のバージョンからアップデートを行う場合は 10.4 に関する技術情報を参照してください。

続きを読む

DRBD9 の 3台構成クラスタ

DRBD9では、以前のバージョンに比べて3台以上のクラスタをより簡単に構築できるようになりました。DRBD8では、2台構成のクラスタを階層化するスタック構成を使用して3台以上のクラスタを組むことができましたが、構成が複雑になり、柔軟性にも欠けるものでした。
また、drbdmanageにより簡単にDRBDクラスタの管理ができるようになりました。
本記事では、drbdmanageを使用して3台構成のDRBDクラスタを構築する方法について紹介します。

なお、新しい管理ツールとしてLINSTORが現在開発されており(2018年11月現在β版)、将来はLINSTORへの移行が予定されています。LINSTORを用いたDRBDクラスタの構築については後日改めて公開する予定です。

1. 導入手順

本記事では以下の手順で導入を行います。

  1. 必要なソフトウェアのインストール
  2. ssh、LVMの設定
  3. クラスタの初期化
  4. 2台目のノードの追加
  5. ボリュームの追加
  6. 3台目のノードの追加およびボリュームのアサイン

続きを読む