株式会社コーソル

コーソルDatabaseエンジニアのブログ

技術ブログ

データベース災害対策(Disaster Recovery)に物理レプリケーションをお勧めする理由

Oracle ACE Proの渡部です。災害対策(DR, Disaster Recovery)目的のデータベースレプリケーション方式に、Dbvisit StandbyやData Guardに代表される物理レプリケーションを推奨する理由について説明します。

内容の骨子はデータベース製品一般に適用可能ですが、 説明の表現・用語としては一旦Oracle Databaseを前提とします。

災害対策目的のデータベースレプリケーションに求められること

データベースレプリケーションとは、あるデータベースから別のデータベースに変更を伝搬することで、複数のデータベースの状態(データの内容)を同一にする技術のことです。

データベースレプリケーションを使うことで、状態(データの内容)が同一のデータベースを別の場所にもう1つ(または複数)作ることができますので、1つのデータベース(=本番DB、稼働系DB)が災害に罹災しても、別に正常のデータベース(=災対DB, 待機系DB)が生き残るかたちになります。すなわち、データベースレプリケーションを「災害対策に使える」わけです。

ただ、データベースレプリケーションが「災害対策に使える」からといって、すべてのデータベースレプリケーション方式が「災害対策に最適である」とは限りません。

一般に、災害対策目的のデータベースレプリケーションには、以下の要件が求められます。

  • 災害発生時に確実に使えること : いざ災害が発生したときに、必ず待機系データベースを使えること。
  • データの同一性を実現できること : 信頼できる技術を使用しており、正確に状態(データの内容)の同一性を実現できること。
  • 日々の運用の手間が少ないこと : データベース管理者によるメンテナンス作業やきめ細やかな監視が不要であること。運用時にトラブルが発生しにくいこと。
  • 日々の使用への制約が少ないこと : アプリケーションによるデータベースの更新や、データベース管理者による運用作業に特別な配慮が不要または少ないこと。言い換えると、データベースレプリケーションが構成されていない「普通の」データベースと同じように使えること。

物理レプリケーションは、上記の技術的な要件を満たしています。このため、データベースの災害対策(DR, Disaster Recovery)には、Dbvisit StandbyやData Guardに代表される物理レプリケーションが推奨されます。

また、技術的な要件以外で、

  • 比較的安価に導入できること : 製品価格+導入のためのエンジニアリングコストが比較的少ない

も重要でしょうね。「コストは災害対策特有の論点ではない」といえばそうなのですが、災害対策は「おまけ」的に捉えられることも多く、災害対策のためだけに大きなコストがかかるのは避けたいケースが多いハズです。物理レプリケーションは比較的低いコストで導入可能です。

なぜ物理レプリケーションは災害対策の要件を満たせるのか?

なぜ、物理レプリケーションは、上に記載した災害対策の要件を満たせるのでしょうか?

データベースの基盤/基礎レベルで同一性を実現

Dbvisit StandbyやData Guardに代表される物理レプリケーションは、バックアップ/リカバリの技術を利用して、物理的なレベルでデータベースの同一性を実現します。

Oracleおよびデータベース製品においてバックアップ/リカバリは非常に重要な機能です。そして、この機能は、長年の実績の中で露見した不具合の修正などを経て、非常に信頼性がある技術に磨き上げられています。 バックアップ/リカバリの技術を利用する物理レプリケーションも、同様に信頼性があると言えます。

また、物理レプリケーションは、物理的なレベルでデータベースの同一性を実現します。 すなわち、データベースを構成するすべてのデータブロックにおいて、物理的な同一性(バイナリレベルの同一性)が保たれるということです。 「データベースの基盤/基礎となる機構」のレベルで、同一性を実現している。と言えるかもしれません。

物理的なレベルの同一性を損なうような振る舞いをしていないかどうかは、Oracleの内部機構で厳密にチェックされています。物理レプリケーションはバックアップ/リカバリを基礎としているため、不具合やトラブルが発生する可能性は低いですが、万が一、同一性を損なう動作があった場合は、チェック機構によりエラー等の形で管理者に通知され、問題を未然に防止できるようになっています。管理者が知らないうちに、データに不整合が紛れ込んでいた…というような事態は発生しえません

チェック機構を含めた同一性の保証

上記の説明でも触れましたが、チェック機構を含めたバックアップ/リカバリ由来の技術を用いて、物理的なレベルの同一性が高いレベルで実現されているのが、物理レプリケーションの大きな特徴の1つです。データベースのレプリケーションにチェック機構が内包されているわけです。これにより、単に変更を伝搬するだけではなく、変更した結果が(物理的なレベルで)同一であることが保証されます。

一方、一般的な論理レプリケーションでは、レプリケーション処理にチェック機構が内包されていません。論理レプリケーションが担うのは、同一相当の処理を実行するまでで、結果が同一になることは保証されません。下のイメージ図のように、責任範囲が異なるとも言えます。

論旨からは離れますが、この特徴のため、論理レプリケーションを使用する場合は 日々の運用にデータ整合性チェックを組み込むことが推奨されます。

運用コストや制約が少ない

データベースレプリケーションのために、データベース管理者によるメンテナンス作業が必要だったり、データベースレプリケーションが正常に実行されているかをチェックするために、きめ細やかな監視が必要だと、運用がとても面倒になります。 また、データベースレプリケーションでトラブルが発生すると、その問題解決に工数を割く必要があります。

物理レプリケーションは、バックアップ/リカバリの技術を利用しているためトラブルが発生する可能性がとても低いです。また、仕組みが比較的シンプルであるため、「レプリケーションが実行されているか/いないか」程度の監視で十分用を成します。

なお、Dbvisitには、レプリケーション状態をメール通知する仕組みがあるため、エラーを示すメールの有無をチェックするだけで監視が可能です。

また、物理レプリケーションは、アプリケーションによるデータベースの更新や、データベース管理者による運用作業に特別な配慮が不要または少ないです。データベースレプリケーションが構成されていない「普通の」データベースとほぼ同じように使えます。

一方、論理レプリケーションの場合、製品や設定に応じて、伝搬できる操作/できない操作が存在します。誤って本番DB(複製元DB)で、伝搬できない操作を実行すると、本番DB(複製元DB)と災対DB(複製先DB)の間でデータのズレが発生し、災害対策の意味をなさないことになります。

参考のため、以下に論理レプリケーション製品Oracle GoldenGateの制限事項に関するマニュアル記載を示します。

1 サポート対象の理解
  1.1 サポートされるOracleデータ型およびオブジェクトの詳細
   1.1.1 特別なデータ型の処理
    1.1.1.1 マルチバイト・キャラクタ型
    1.1.1.2 Oracle Spatialオブジェクト
    1.1.1.3 TIMESTAMP
    1.1.1.4 ラージ・オブジェクト(LOB)
    1.1.1.5 XML
    1.1.1.6 ユーザー定義型
   1.1.2 サポートされていないOracleデータ型
  1.2 各種Oracleエディションのサポートの詳細
  1.3 Oracle DMLのオブジェクトと操作のサポートの詳細
   1.3.1 マルチテナント・コンテナ・データベース
   1.3.2 表、ビューおよびマテリアライズド・ビュー
    1.3.2.1 標準の表のサポートの制限
    1.3.2.2 ビューのサポートの制限
    1.3.2.3 マテリアライズド・ビューのサポートの制限
    1.3.2.4 クラスタリング表のサポートの制限
   1.3.3 システム・パーティション化
   1.3.4 順序およびIDENTITY列
    1.3.4.1 順序のサポートの制限
   1.3.5 Oracle DMLでサポートされていないオブジェクトおよび操作
   1.3.6 DML自動取得
  1.4 Oracle DDLのオブジェクトと操作のサポートの詳細
   1.4.1 Oracle DDLでサポートされているオブジェクトおよび操作
   1.4.2 サポートされていないOracle DDLのオブジェクトおよび操作
    1.4.2.1 除外されるオブジェクト
    1.4.2.2 サポートされていないその他のDDL

論理レプリケーションでは、使用者はマニュアルの記載を理解したうえで、伝搬されない操作を実行しないように配慮する必要があります。

比較的低コストで導入可能

コストは災害対策特有の論点ではないかもしれませんが、災害対策は「おまけ」的に捉えられることも多く、「災害対策のためだけ」に大きなコストがかかることが許されないケースが多いように感じられます。

Oracle Standard Editionを想定した、物理レプリケーションと論理レプリケーションの導入コストのイメージ図を以下に示します。なお、以下の製品および機能の使用を想定しています。

  • 物理レプリケーション : Dbvisit Standby
  • 論理レプリケーション : Oracle GoldenGate or Qlik Replicate or SharePlex

上記はあくまでもイメージです。具体的な価格をお知りになりたい方はご連絡ください。とはいえ、ざっくりとした費用感を掴むことはできるかと思います。

論理レプリケーションの利点は?

災害対策の観点から物理レプリケーションの長所を書いてきましたが、災害対策以外などで論理レプリケーションにはいくつかの大きな利点があります。

  • 複製元DBと複製先DBの構造やデータ構成を異なるものにできる
  • 構成が柔軟: レプリケーション時のデータ変換、一部のデータのみのレプリケーション、異なるデータベース製品間のレプリケーション、異なるバージョン間のレプリケーションなどが可能
  • 上位バージョンへのアップグレードの停止時間を極小化するためのソリューションに使用可能(異なるバージョン間のレプリケーションが可能な利点を活用)

物理レプリケーションと論理レプリケーションと比較については、以下の記事も参考にしてください。

データベース レプリケーションの分類(物理 or 論理)

[PR] Oracle Standard Editionの災害対策にはDbvisit Standby !

Oracle Standard EditionでDR構成を実現するには、Dbvisit Standbyを使用します。

Dbvisit Standby は歴史が長く、全世界および日本での導入実績も多数ある製品で、安心してご利用いただけます。 2023年4月時点での国内での最新バージョンはDbvisit 11.2.1 です。

Oracle Standard Edition 2 およびMicrosoft SQL Serverに対応したバージョン11以降では、正式な製品名称がDbvisit Standby MP (Multi Platform)となりました。

特徴は以下の通りです。

  • 全世界および日本での導入実績が多数あり、安心してご利用いただけます。
  • Oracle Standard Edition 2 および Microsoft SQL ServerのDR構成に対応しています。
    • 将来的には、PostgreSQLのDR構成への対応も予定されています。
  • Web管理コンソールがとても使いやすいです
    • DB構成をとった多数のデータベースの一元管理が可能です。多数のデータベースのすべてをフェイルオーバーするときなどに、便利さを実感できると思います。
    • バージョン10から引き続きですが、管理コンソールの日本語(多言語)表示に対応しています。

コーソルでは、以下のような点でお困りのお客様にDbvisit Standbyをお勧めしています。

  • Oracle 災害対策環境を低コストで実現したい
  • Oracle Database Standard EditionでData Guard相当の機能を実現したい
  • YDC社 Standby Expressの後継製品を探している
  • カスタムスクリプトで実装した基本スタンバイを止めたい

Dbvisit Standbyは バージョン11以降でMicrosoft SQL Serverに対応 し、製品名称が"Dbvisit Standby MP (Dbvisit Standby Multi Platform)"に変更されました。 これにより、以下のような点でお困りのお客様にもお勧めできる製品になっています。

  • Microsoft SQL Serverで「簡単に」DR構成を実現したい
    • WSFC (Windows Failover Clustering) の導入は不要です。
  • DR構成をとっている多数のデータベース(Oracle Database および Microsoft SQL Server)を一元的に管理したい

コーソルのDbvisitサービス

なぜコーソルからDbvisit Standbyを購入すべきなのか

コーソルはDbvisit Standbyの一次代理店で、Dbvisit Standbyの製品販売を行います。 加えて、Dbvisitの導入およびサポートを行います。

コーソルのDbvisitSIer様、販社様がDbvisit Standbyを販売および導入することも可能です。

コーソルのOracle DatabaseおよびDbvisit Standbyの技術力は日本随一です。

コーソルからDbvisit Standbyを購入いただけると、Dbvisit Partner of the Year Award 2021受賞、認定資格Dbvisit Standby Certified Associate取得者数12名、ORACLE MASTER Platinum 単年取得者数7年連続No.1(2014年度~2020年度)、計11冊のOracle関連書籍執筆という指標に裏付けされた高い技術力により責任もって製品を導入いたします。また、導入後も品質の高い製品サポートをご提供いたします。

コーソルのDbvisitサービス

弊社お客様のDbvisit Standby採用事例

東京フード様の課題はハードウェア障害が起きても業務継続できることでした。他社はHAクラスタを提案する中、弊社ではHAクラスタの弱点であるディスク障害が発生しても業務継続が可能な災害対策用環境、ならびに環境を簡単に構築・運用できるDbvisit Standbyをご提案し、採用いただきました。

「ハードウェア障害が起きても業務継続できる」点を重要視いただき、東京フード株式会社様にDbvisit Standbyを採用いただきました。 これは、構成要素が完全に二重化されているDR構成(Dbvisit Standby)の強みです。

Dbvisit Partner of the Year Award 2021を受賞

Dbvisit Standbyの2021年ライセンス販売で販売数国内No.1を達成したパートナーに送られる『Dbvisit Partner of the Year Award 2021』を受賞しています。

総勢12名のエンジニアが認定資格Dbvisit Standby Certified Associateを取得

Dbvisitに関わる総勢12名のエンジニアが認定資格Dbvisit Standby Certified Associateを取得しました!

Dbvisitに関する技術的な知見をセミナーおよび技術ブログで発信

Dbvisit関連ブログ記事を多数公開

Dbvisit関連ブログ記事一覧

[宣伝] データベースレプリケーションでお困りの際にはコーソルにご相談ください!

コーソルはデータベースの技術力を強みとしています。なかでもOracle Database技術力は日本随一です。MySQL、PostgreSQL、MS SQL Serverの資格や実績を持つエンジニアも多数在籍しております。

コーソルが取り扱うデータベースレプリケーション製品

多数のOracle関連書籍を執筆

ORACLE MASTER Platinum取得者数 No.1

  • 単年度ORACLE MASTER Platinum取得者数7年連続No.1

7年連続ORACLE MASTER Platinum取得者数No.1! Oracle Certification Award 2020

プロフィール

On7tWW6m1Ul4

渡部 亮太

・Oracle ACE
・AWS Certified Solutions Architect - Associate
・ORACLE MASTER Platinum Oracle Database 11g, 12c 他多数

カテゴリー

アーカイブ