TOPサーバ構築・運用> 差分バックアップ
徹底比較!! PostgreSQL vs MySQLパート2
徹底比較!! PostgreSQL vs MySQLパート2

第5回:バックアップとリストア
著者:NTTデータ   藤塚 勤也   2007/7/9
前のページ  1  2  3
差分バックアップ

   コールドバックアップにせよホットバックアップにせよ、データベースの容量が大きくなるとバックアップを取得する時間が長くなってきます。また、取得したバックアップを格納するために必要なメディアの容量も大きくなります。そこで、考えなければならないのは一定期間内の変更データのみをバックアップする差分バックアップです。

   差分バックアップの取得には注意しなければならないことがあります。それは差分バックアップだけではデータベースを復旧できないことです。あくまでも差分バックアップが有効となるのは、その差分バックアップのベースとなるデータベース全体のベースバックアップが存在している場合に限られます。

   図2の通り、差分バックアップを用いてデータベースを復旧するためにはベースバックアップをリストアし、そこに対して差分バックアップを適用しなければなりません。
差分バックアップを使用したデータベースの復旧
図2:差分バックアップを使用したデータベースの復旧

   差分バックアップは取得するデータ容量がベースバックアップに比べて小さいので、バックアップを取得する時間は短くて済みます。しかし、データベースを復旧する際には、ベースバックアップをリストアした後、いくつもの差分バックアップをリストアすることになりますので、復旧までの時間が長くなります。

   要するにデータベースを復旧する時のことを考慮すると、「差分バックアップだけを取得していれば良い」ということはなく、一定周期でベースバックアップを取得しておく必要があります。

   PostgreSQLにて差分バックアップを取得する場合は、アーカイブログをバックアップすることになります。アーカイブログとは、トランザクションログであるWALログをバックアップできるように抽出したファイルです。このアーカイブログ内には、データベースへの更新情報がすべて含まれているため、差分バックアップとして活用できます。ただし、この差分バックアップのベースバックアップにはpg_dumpを使用したバックアップは使用できません。

   一方MySQLにて差分バックアップを取得する場合は、バイナリーログをバックアップすることになります。バイナリーログは、MySQLのレプリケーションでも使用される、データベースへの更新処理のみを記録したログファイルのことです。


運用手順の確立が重要

   ディスクが高価であった時代は、RAID構成を適用し、ディスク障害によるデータベースの損傷を防ぐためには多大なる費用が必要でした。

   しかし、最近ではディスクも価格が下がったため、データベースサーバにて重要なデータベースファイルを格納するディスクには、複数のディスクを使用したRAID構成を適用し、単純なディスク障害などからデータを保護する仕組みを用いていることと思います。よって、バックアップを活用して障害を復旧する場面は非常に少なくなっていると思います。

   しかし、だからといって、データベースの運用からバックアップがなくなることはありません。

   さらに「いざというときにバックアップからデータベースを復旧できなくては何の意味もない」ことから、事前にしっかりとバックアップの手順とそのバックアップをどのようにリストアしてデータベースを復旧するかの手順を確立させておくことも重要です。

   なお今回説明した通り、データベースのバックアップといっても、いくつかの種類があります。もちろん、PostgreSQLとMySQLでは、バックアップしなければならないデータやバックアップを取得するための手順が異なります。

   対象となるシステムの特徴や使用しているデータベースサーバの特徴をよく捕らえ、最適なバックアップ運用の手順を組み立てて下さい。

前のページ  1  2  3


NTTデータ  藤塚 勤也
著者プロフィール
株式会社NTTデータ   藤塚 勤也
基盤システム事業本部 オープンソース開発センタ シニアスペシャリスト。
日本タンデムコンピューターズ(現日本HP)を経て、2003年よりNTTデータにてOSS分野に参画。日頃はオリジナルOSSの開発や、OSSを用いたシステム構築への技術支援に従事。「RDBMS解剖学」(翔泳社)を共著。

INDEX
第5回:バックアップとリストア
  考え方は同じでもツールや対象が違う
  コールドバックアップ
差分バックアップ