データベースのバックアップ設計

前回まではディスク障害に備えたRAIDという仕組みを見てきました。RAID技術を適切に利用すればディスク障害によるデータ消失はほぼ防ぐことはできるでしょう。しかし、データベースのデータを保護することはそれだけでは不完全です。

そもそもデータ消失が発生する原因は、大きく分けて以下の2種類あります。

論理障害 機器自体は故障していないにもかかわらず、内部の電磁的記録に障害が発生したもの。
物理障害 サーバーやストレージなどのハードウェア機器自体の障害。

物理障害に対する対策としてサーバーの二重化や上述のRAID技術などがありますが、それらは、論理障害にはまったく効果がありません。論理障害の具体例として、OSの不具合、プログラムの欠陥、ウイルス感染によるデータクラッシュなどがあります。運用者のオペレーションミスなどの人的ミスもこれにあたります。

現在稼動しているシステムのほとんどは、それら障害が発生してもデータを失わないよう様々な手段を講じていますが、それでもデータ消失が起こってしまう可能性を0にすることは不可能と言えます。

そのため、もし万が一、データが消失してしまっても、元のデータを復旧できるようバックアップを取っておくことは、どんなにお金をかけて高信頼性を実現したシステムにおいても必要なのです。

バックアップの種類

一口にバックアップといっても、その方法はたくさんあります。そこでまずは、主要な3つのバックアップ方法について見てみましょう。

  • フルバックアップ
  • 差分バックアップ
  • 増分バックアップ

バックアップの方法がいくつも存在する理由は、それぞれの方法についてメリット・デメリットがあるからに他なりません。データベースのバックアップはこの3つの方法を組み合わせて運用するのが一般的です。

次回はそれらのバックアップ方法についてひとつずつ詳しく見ていきます。