ORACLEデータベースのバックアップ方法
データベースのバックアップ手法は大きくは2通りある。1つ目はバックアップソフトを使用する方法だ。
バックアップソフトを使用するメリットについて、八木下氏は「複数サーバのバックアップを一元管理できる点の他に、ストレージのスナップショットとの連携やバックアップデバイスの管理もバックアップソフトを介して一元管理できる点にある」と語る。
ただし、この手法を採用するには、サーバ、ストレージ、ネットワーク、デバイス管理といった広いインフラの知識が必要となり、業務に近い立場であるOracle管理者が長けている領域ではない。また、当然ながらバックアップソフト、バックアップ用のサーバ、バックアップストレージやテープ装置をデータ量に合わせ潤沢なリソースが搭載されたハードウェアを準備、投資する必要がある。
一方、もう1つの手法としては、Oracle管理者が容易に使用することが可能なRMANを使ってのバックアップである。
「RMANはOracleの標準機能であるため追加ラインセスは不要。バックアップソフトを使ったバックアップに比べ、コストを抑えることが可能です。また、インフラの知識に長けたバックアップ管理者よりもOracle管理者の方が精通しているケースが多いんです」(八木下氏)
ただし、RMANを使用して増加し続ける大容量のデータベースをバックアップする場合、想定外の追加コストが生じるのではないだろうか。
八木下氏は想定される追加コストとして、下記の4つを挙げる。
- バックアップターゲットの総容量×世代数分のバックアップストレージを用意する必要があること
- バックアップを高速化するために10GやInfinibandといったインターフェースをサーバとバックアップストレージ間に敷設する必要があること
- 大容量のバックアップストレージやテープメディアの管理が必要になること
- 災害対策でリモートサイトにレプリケーションしたくても転送量が多くWANの帯域では現実的に転送することができないこと
ORACLEデータベースの効率的なバックアップとは?
これら全ての問題を解決するのが、重複排除技術を搭載するバックアップ専用ストレージとして、市場で大きな実績を誇るEMC Data Domainだ。
従来のバックアップストレージであれば、バックアップ容量に世代数を積算した容量を用意する必要がある。本来であれば業務要件に合わせて決まる世代数が、ストレージの容量に合わせて世代数を決めるケースも多かったのではないか。Data Domainに書き込まれるデータは、重複するデータを取り除くことで格納されるサイズを何十分の一もに圧縮できるので、業務や事業継続に合わせて、本来必要とされる世代数を確保することが可能だ。しかも、他社のように一度ディスクにデータを格納しバックグラウンドで重複排除するのではなく、Data Domainはディスクに書き込む前にメモリ上でリアルタイムに重複排除するので、ディスクの効率化、バックアップスループットを追求したストレージである点も大きな特徴の一つといえるだろう。
「また、Data Domainはデータの信頼性に優れたバックアップストレージでもあります。NVRAMやRAID6といったハードウェアレベルでの信頼性の他に、ディスクに書き込むと同時に、ファイルシステムレベルでデータを読み込むという独自の機能を搭載しているのです。ディスクに格納したあとは、定期的にデータの整合性をチェックし、不整合が起きている場合には管理者にアラートをあげ、リストア時にエラーが判明するのではなく、未然に対処することができます」(八木下氏)
このようにデータの信頼性という点に関しても、何重にも確実にリストアするための機能が実装されていることが市場で評価されている点の一つでもある。
Data DomainでORACLEの高速バックアップを実現するには?
では増大し続けるデータベースのバックアップ時間を縮めるにはどうしたらよいのだろうか。
「Data DomainはRMANと連携可能なDD Boostというプラグインを提供しています」(八木下氏)
通常RMANからストレージに書き込まれる場合、バックアップ対象となる全てのデータがクライアントとストレージ間を流れ、高速化する為には10GやInfiniBandをクライアントストレージ間に敷設する必要がある。
しかし、DD Boostを使用すれば状況を一変することができるという。
「DD Boostというプラグインをクライアント上に配置すると、RMANからデータを受け取ったDD Boostはそのままクライアント上で重複排除処理を行い、メタデータと重複排除したデータブロックのみをネットワークを介しData Domainへ転送することが可能になります。
つまり、Data Domainへのネットワークトラフィックを最大限に削減し、既存のインターフェースでバックアップの高速化を実現することができるというわけです」(八木下氏)
とりわけ、Oracleのように巨大なDBであっても日々の更新量が一部に限られるシステムであれば、Oracle管理者は容易にその効果をイメージできるのではないだろうか。
さらにData Domainはレプリケーション機能も有しており、リモートサイトへは重複排除されたデータブロックしか転送しない。
巨大なデータベースのディザスタリカバリの実現に当たって、高コストのかかる太い帯域を必要とせずに現実的な回線を敷設することで事業継続のサービスレベルを向上させることができるのだ。
Data Domainで変わる!バックアップの常識
さらに、八木下氏によれば、DD Boostも改善しているという。DD OS 5.2までは、仕様上RMANのMultiplexing:1を推奨としていたため、スループットを重視の大規模環境での適用は難しかった。
「最新のDD OS 5.3では、Multiplexingに対する改良が加えられ多重度を上げることが可能となり、データ削減の効果を得ながら大規模環境にも耐えうるスループットをあげることができるようになりました」(八木下氏)
大規模なデータベースのバックアップは時間がかかるものだ、とあきらめている管理者も多いだろう。結果的にバックアップウィンドウの時間内に可能な範囲での世代数のバックアップしかとれないと思い込んでしまう。しかしその状況は、Data Domainを使うことで大きく変えられるかもしれない。
「今後もデータが増加し続ける中で、将来的に、今のサービスレベルが維持可能なのか、追加の要件に耐え得るバックアップ環境なのか、今一度考えてほしい」(八木下氏)。
確かに、ビッグデータ時代が到来している現在において、既に課題を抱えている、近い将来に運用の限界がくる管理者は一度、Data Domainの重複排除の世界を検討してみる価値はありそうだ。