データは企業にとって非常に重要であり、それを保護することはさらに重要です。DBA(データベース管理者) は、データの継続的な可用性を確保するための方法の 1 つとして、データベースのバックアップを使用します。しかし、他のITプロセスと同様に、データベースのバックアップにはコスト、メリット、リスクが伴います。
目次
なぜデータベースをバックアップすることが重要なのでしょうか?
それは、”データ復旧 “です。データベースのバックアップがなければ、データを復旧することは不可能です。もし何か問題が発生し、データを復旧できなければ、ビジネスは大混乱に陥る可能性があります。また、復旧できないことは危険であることと間違いありません。
データのセキュリティも、データベースのバックアップ戦略が重要である理由の一つである。例えば、企業がランサムウェアの攻撃を受けた場合、攻撃前と攻撃後の重要なデータを明確に分けることが重要です。リカバリーを行えば、攻撃前の状態に戻すことができます。ランサムウェアの攻撃でデータが暗号化された場合、バックアップから新品のシステムにリカバリすることで攻撃を回避することができます。しかし、バックアップがなければ、組織は復旧することができず、復旧できなければ、ビジネスを継続することができません。
RTOとRPO
もちろん、データベースのバックアップは簡単なことではありませんし、バックアップとリストアの要件もビジネスによって異なります。ここでは、知っておくべき2つの重要なビジネス目標があります。
復旧時間目標(RTO: Recovery Time Objective): RTOとは、データを復旧するために必要な時間を指します。
復旧時点目標(RPO:Recovery Point Objectives): RPOとは、どの時点まで復旧できるようにしなければならないかということです。
例えば、DBAが1日以内にバックアップしたデータを復旧する必要がある場合(RPO)、災害発生から1時間以内に復旧する必要がある場合(RTO)などが考えられます。RPOは復旧すべきポイントであり、RTOは復旧に要する時間です。
ビジネス(BCP:Business Continuous Process)がこれらの要件を設定し、DBAはそれを実現しなければなりません。
しかし、企業がしばしば直面する問題の1つは、データベース内のデータの拡大が分からなくなることです。DBAが常にリストアのテストを行わないと、災害が発生したときにデータベースの復旧が間に合わず、蓄積されたデータによってリストアに時間がかかる可能性があります。ビジネスが妥当なRPOとRTOを設定し、DBAがそれを満たすためには、DBAは定期的にデータベースを復元する必要があります。そうしないと、RTOとRPOの目標が達成できず、重大なデータ損失や業務の中断を招く恐れがあります。
コストはどのように影響するか
データベースのバックアップに関わるコストは、人によって異なる意味を持ちます。
例えば、あるシステムを担当しているDBAが、今年の最初の3週間はバックアップを実行していないことを知ったとします。何か問題が発生した場合、DBAは企業に出向き、なぜ3週間分のトランザクションを再入力する必要があるのかを説明しなければならないかもしれません。DBAがバックアップ・コピーを用意していない場合、企業は膨大な量のデータを再入力するコストを考慮しなければならなくなります。
この同じことは、DBAにもコストがかかります。もし、データベースのバックアップを頻繁に取ることがDBAの責任であるならば、それを怠ると、悲惨な結果を招く可能性があります。データベースのバックアッププロセスを行わないことは企業にとっても代償は大きなものです。
もう一つ考慮すべきなのは、データベースのバックアップに使用するデータストレージのコストがあります。オフサイトストレージかクラウドストレージか、それぞれに関連コストがかかります。さらに、企業はRTO目標に関連するコストを考慮する必要があります。ビジネスの重要な部分が1時間ダウンした場合、ビジネスにどれだけのコストがかかるのでしょうかを考える必要があります。
これは微妙な作業になります。高性能ストレージを購入し、データベースのバックアップをより頻繁に取ることで、回復までの間にビジネスが失われる可能性は低くなりますが、それは初期コストに見合うだけの価値があるのでしょうか。これは、すべての企業が検討すべきことであり、特に保有するデータ量が増加するにつれて、重要になってきます。ありがたいことに、データベースのバックアップをコスト効率よく管理するために、企業が採用できる方法がいくつかあります。
バックアップからデータベースを復元する
DBAができる重要なことの1つは、データベースを定期的にリストアして、重要なときにそれを実行できるようにすることです。しかし、大量のデータベースを担当しているDBAはどうすればいいのでしょうか。すべてのデータベースを常にリストアすることは現実的ではありませんし、費用対効果も高くありません。
すべてのデータベースを復元することは不可能なので、DBAはコストを最小限に抑え、災害時にすべてのデータベースを復元できる可能性を最大化するために、定期的に復元するデータベースの数を割り出す必要があります。統計的サンプリングでは、ランダムに選んだ少数のデータベースを毎日リストアすることで、DBAはすべてのバックアップをリストアできると95%の確率で確信することができます。
このプロセスを理解し、定期的にランダムな復元をテストするためには時間がかかります。しかし、DBAがこのプロセスを構築しなかった場合、ビジネスにはどのようなコストがかかるのでしょうかです。バックアップが機能しないまま物事がうまくいかない場合、ビジネスに対するコストは莫大なものになる可能性があります。DBAにとっては、ビジネスの全データを失い、バックアップがないために何もできないことが最悪の事態なのです
データベースバックアップの一般的な実施方法とベストな実施方法
一般的なデータベースバックアップのやり方は、ベストプラクティスとは言えない場合があります。しかし企業が採用できるいくつかのベストプラクティスはあります。
暗号化/パスワード保護
DBAが採用できるベストプラクティスの1つは、データベースのバックアップファイルを暗号化したり、パスワードで保護したりすることです。しかし、これはDBAが一般的に行うことではありません。バックアップを行うITプロフェッショナルのほとんどは、単にネイティブなバックアップで十分だと考えているでしょう。
しかし、バックアップデータの暗号化は非常に重要です。もし誰かがバックアップにアクセスしたら、すべてのデータを取り出し、別のシステムに復元することができます。少なくとも、ファイルをパスワードで保護することは、データをより安全に保つのに役立ちます。もちろん、バックアップ・ファイルの暗号化にはコストがかかります。今このコストを支払うことが、後にバックアップを盗まれるという頭痛の種を避けることに値するかどうか、企業は判断しなければなりません。
ワークロードのバランス
もう一つのベストプラクティスは、バックアップが他のワークロードの邪魔にならないようにすることです。理論的には、バックアップはエンジン内で行われている他のオペレーションに影響を与えるべきではありません。しかし、バックアップはファイルにも書き込まれます。このファイルが他の共有システムと一緒に保管されている場合、この書き込み作業が大きなボトルネックとなる可能性があります。
帯域幅の制限を回避する
バックアップはネットワーク帯域幅も消費します。DBAが毎日同じ時間にバックアップを実行すると、他の人の処理速度が低下する可能性があります。あるサーバは午前1時に、別のサーバーは午前2時にバックアップを取るなど、バックアップの時間をずらすことで、DBAはネットワークの速度低下を防ぎ、他のシステムに問題を引き起こすのを防ぐことができます。
バックアップの利点とコストおよびリスクの比較検討
他のIT分野と同様に、データベースのバックアップには常にコスト、メリット、リスクが伴います。バックアップを取り、定期的にリストアすることにはコストがかかりますが、バックアップを全く取らないことはビジネスに大きな影響を与える可能性があります。バックアップの重要性を理解することは、すべてのビジネスが考慮しなければならないコストとリスクのバランスを取ることなのでしょう。
関連したトピックス
- イニシャル・リフレッシュを行った時のリフレッシュとミラーリングでのトランザクション管理【DBMoto】
- Stambia Component for SAPの機能紹介
- Oracle Standard Editionのためのリーズナブルなディザスタリカバリ・ソリューション [Accelario]
- Quadrate ERP² 2011年11月9日リリース版について
- SQL SERVER 2005 64bitとHiT OLEDB/400 64bitの使用
- Oracle DB起動時にエラーORA-01034・ORA-27101が出て起動しない際の対処法
- Amazon Web Service(EC2/RDS)へオンプレミス(自社)データべースをリアルタイムにレプリケーション[DBMoto]
- レプリケーション設定手順(各DB別)【リアルタイムレプリケーションツールDBMoto】
- かゆいところに手が届く、レプリケーション結果比較機能[Syniti DR]
- 双方向レプリケーションでデータベースのBCPを【リアルタイムレプリケーションツールDBMoto】
データベース・バックアップの重要性:そのリスク、有益性、そしてコストについて:
https://www.climb.co.jp/blog_veeam/veeam-backup-20929
ExaGrid and Oracle RMAN:Tiered Backup Storage(階層型バックアップ・ストレージ)
オラクルDBAはExaGridを追加してバックアップ環境のストレージ経済性を改善
https://www.climb.co.jp/blog_veeam/exagrid-24070