PostgreSQL初心者が勉強会で体験した、バックアップとリカバリの重要性
適切なバックアップとリカバリを!第29回しくみ+アプリケーション勉強会
去る5月31日(土)、秋葉原の産業技術大学院大学にて、日本PostgreSQLユーザ会主催の第29回しくみ+アプリケーション勉強会が開催されました。
本記事では、今年IT企業に入社したばかりの新人がPostgreSQLの勉強会に参加した様子を、初心者の視点からお伝えしていきます。
日本PostgreSQLユーザ会(JPUG)とは
日本PostgreSQLユーザ会(以下JPUG)は国内でのPostgreSQLの普及と発展を主な目的とした特定非営利活動(NPO)法人です。主な活動は以下の通りです。
- メーリングリストの運営
- PostgreSQL全般についての「pgsql-jp」と、PostgreSQL開発コミュニティ内の議論について情報交換する「hackers-jp」というメーリングリストが運営されています。
- ポータルサイト Let's Postgres の運営
- Let's Postgresは、PostgreSQLの情報を提供するポータルサイトです。PostgreSQLのインストール方法といった初心者向けの内容から、PostgreSQLの内部構造、ソースツリーといった上級者向けの内容まで、PostgreSQLを利用する上で有用な記事が幅広く公開されています。
参考:Let's Postgres - イベントの運営
- オープンソースカンファレンスの様なイベントで PostgreSQL に関する講演を行ったり、PostgreSQL Conference、PgDay といったイベントの開催、運営を行っています。
- PostgreSQL文書の翻訳
- PostgreSQLマニュアル等のドキュメント(英語)を日本語に翻訳しています。
- 勉強会の運営
- ソースプログラムやドキュメントを活用してPostgreSQLの内部構造やアーキテクチャを研究し、PostgreSQLへの理解を深めることを目的とした「しくみ分科会」が活動しています。活動の主体はPostgreSQLの知見を共有する勉強会で、年3、4回程度の頻度で開催されています。
勉強会当日の様子
今回行われた勉強会の講演内容は
- PostgreSQLのリカバリ超入門(鈴木啓修氏)
- バックアップ ことはじめ(佐藤千佳氏)
- PostgreSQLのデータ構造と内容を知る(笠原辰仁氏)
の3本です。いつもは深い内容の講演が多いそうですが、今回は入門的な内容も盛り込まれており、今後もこうした初心者向けの講演を増やしていくようです。
PostgreSQLのリカバリ入門
一本目はJPUGアプリケーション分科会座長の鈴木氏によるPostgreSQLのリカバリについての講演でした※1。
PostgreSQLはINSERTやUPDATEといったデータ操作をメモリ上で行いますが、サーバーがクラッシュしてしまうと更新データが失われてしまうため、そのような障害に備えてWAL(Write Ahead Logging)というファイルを作成します。WALにはデータの更新状況が書かれており、たとえサーバークラッシュがあってもWALに記録された更新データを再実行(REDO)することで、クラッシュ直前の状態までデータのリカバリが可能になります。
このWALを実際にどのように使用してリカバリを行うのか、またcheckpoint処理とリカバリの関係や、checkpointを生かしてオンラインバックアップを実行する方法などについての解説がされました。
この講演はPostgreSQLの処理の仕組みからバックアップ・リカバリを取得する方法までを、図をふんだんに盛り込んだスライドで解説されており、リカバリがどのように行われるのか、そのために必要なものは何かが、データベース初心者でも大変わかりやすく解説されていました。
※1)なんと講演資料のスライド100枚を約25分(!)で説明されていました。