技術ブログ
目次
渡部です。Oracle Database関連のレプリケーション技術について整理します。
Oracle Database本体のレプリケーション機能の多くが、サポートが終了していることに注意してください。
データベースのレプリケーション技術は、物理レプリケーションと論理レプリケーションに大別されます。
物理レプリケーションは、データベース全体に対する物理的な更新を伝搬することで、 データベースを複製します。レプリケーション元のデータベース(プライマリDB)と レプリケーション先のデータベース(スタンバイDB)の物理的な構造が同じになります。
メカニズムがシンプルで運用しやすいため、災害対策に向けたDR構成/HA構成によく使用されます。
論理レプリケーションは、指定したテーブル群に対する論理的な更新を伝搬することで、 データベース内の指定したテーブル群を複製します。 レプリケーション元のデータベース(ソースDB)と レプリケーション先のデータベース(ターゲットDB)は異なる構成でも対応可能です。
製品によっては、異なるDBMS製品間でもレプリケーションが可能です。
メカニズムは比較的複雑ですが、柔軟なデータ連携が可能です。
論理レプリケーションは、指定したテーブル群に対する論理的な更新を伝搬することで、 データベース内の指定したテーブル群を複製する技術です。
Oracle Database関連の論理レプリケーション技術は、 Oracle Database本体に含まれるレプリケーション機能と Oracle Databaseには含まれない、独立した論理レプリケーション製品に大別されます。
論理レプリケーションの伝搬の基礎となる、論理的な更新の実体は、基本的にDMLやDDLです。 しかし、Oracle本体のレプリケーション機能の場合は、その機能独自の形式である場合があります。
Oracle Databaseは、様々なレプリケーション機能があります。
正確には「ありました」かもしれません。というのも、最近のバージョンではいくつかの レプリケーション機能のサポートが終了し、使えなくなっているためです。
読取り専用MVIEWレプリケーション(読取り専用マテリアライズドビューを用いたレプリケーション、マテリアライズドビューレプリケーション)は、 DBリンクをまたいだ読取り専用MVIEWを作成し、MVIEWリフレッシュの機能を用いることで、マスターサイト内のテーブル→MVIEWサイト内のMVIEWの方向のレプリケーションを行うものです。
ライセンス上は基本レプリケーションに分類され、Oracle Database Standard Edition 2でも使用できます。
更新可能MVIEWレプリケーション(更新可能マテリアライズドビューを用いたレプリケーション)は、 読取り専用MVIEWレプリケーションの逆方向のレプリケーションを可能にしたものです。
読取り専用MVIEWレプリケーションでは、MVIEWリフレッシュの機能を用いることで、マスターサイト内のテーブル→MVIEWサイト内のMVIEWの方向のレプリケーションを行います。 更新可能MVIEWレプリケーションでは、これにくわえて、遅延トランザクションの機能を用いることで、逆方向(MVIEWサイト内のMVIEW→マスターサイト内のテーブル)のレプリケーションを行うことができるようになっています。
なお、更新可能MVIEWレプリケーションはOracle Database 12c R2でサポートが終了しており、Oracle Database 18c以降では使用できません。
マルチマスターレプリケーションは、遅延トランザクションの機能を用いることで、双方向のレプリケーションを可能にする機能です。
この例では、データベースA(マスターサイトA) → データベースB(マスターサイトB)のレプリケーションの動作を説明していますが、逆方向のレプリケーションも可能です。
また、3つ以上のサイト以上が双方向レプリケーションする構成も可能です。
なお、マルチマスターレプリケーションはOracle Database 12c R2でサポートが終了しており、Oracle Database 18c以降では使用できません。
Oracle Streamsは、オンラインログファイルに記録された更新情報から、論理的な更新を抽出し、これを元にレプリケーションを行う機能です。オンラインログファイルから論理的な更新を抽出するという動作の仕組みが、後述する論理レプリケーション製品に似ています。
Oracle Streamsレプリケーションは、Oracle Database 18cでサポートが終了しており、Oracle Database 19c以降では使用できません。Oracle GoldenGateと機能が重複しており、かつ、Oracle GoldenGateの方が多くの機能を持っているためだと思われます。
Data Guardロジカルスタンバイは、論理レプリケーション技術を活用したData Guardです。 Data Guardは、災害対策目的でデータベース全体を複製する技術で、フィジカルスタンバイとロジカルスタンバイの2種類があります。
主に使用されるのはフィジカルスタンバイで、ロジカルスタンバイの採用例はかなり少ないです。
Oracle Databaseには含まれない、独立した論理レプリケーション製品について説明します。
これらの論理レプリケーション製品は、1vs1構成のレプリケーションにくわえて、多DB構成のマルチマスタレプリケーションにも対応しています。
Oracle GoldenGateはオラクル社が提供する論理レプリケーション製品です。
以下の特徴があります。
優れた製品ですが、少し価格がお高めです。
SharePlexはクエスト・ソフトウェア社が提供する論理レプリケーション製品です。
以下の特徴があります。
Oracle→Oracleのレプリケーションにおいて、コスト面でOracle GoldenGateの採用が難しい場合の代替ソリューションとして採用されるケースが多いです。
SharePlexのソースDBとターゲットDBのデータ比較&修復機能を評価されるお客様が多いです。
物理レプリケーションとは異なり、論理レプリケーションではソースDBとターゲットDBのデータ整合性が崩れる場合があります。もちろん、意図的にデータ整合性を崩すことはないでしょうが、意図せずターゲットDBで更新SQLを実行してしまうことはありうることです。 しかし、データ整合性が崩れた状態でもOracleでエラーは発生しませんから、データ整合性が崩れていることに長期間気づかない恐れがあります。データ比較&修復機能を使うと, この問題に簡単に対処できます。
Qlik Replicateは、Qlik社が提供する論理レプリケーション製品です。 Attunity Replicateと呼ばれていましたが、Qlik社がAttunity社を買収したことにともない、 製品名が変更されました。
以下の特徴があります。
Qlik Replicateの使いやすさは特筆すべきものがあります。
また、多くのDBMS製品に対応しているため、様々なDBMS製品が使用されている環境で、様々な組み合わせのデータ連携を行いたい場合に向きます。
Qlik Replicateが対応するDBMS製品(および各種データストア)は以下の通りです。
コーソルでは、以下のレプリケーション製品の設計・導入・販売・サポートを行っています。Oracle Databaseのレプリケーションをご検討の際はぜひコーソルにお声がけください。
物理レプリケーションは、データベース全体に対する物理的な更新を伝搬することで、 データベースを複製する技術です。レプリケーション元のデータベース(プライマリDB)と レプリケーション先のデータベース(スタンバイDB)の物理的な構造が同じになります。
物理レプリケーションが基礎とする技術は、データベースのバックアップおよびリカバリです。 このため、技術の安定性/信頼性はお墨付きです。
Oracle関連の物理レプリケーション技術には、Data Guardフィジカルスタンバイと基本スタンバイ の2つがあります。
Data GuardはOracle Database Enterprise Edition限定の機能であるため、 Oracle Database Standard Editionで物理レプリケーションを行いたい場合は、基本スタンバイを使用することになります。
Data Guardフィジカルスタンバイは、物理レプリケーション技術を活用したData Guardです。
Data Guardには、フィジカルスタンバイとロジカルスタンバイの2種類がありますが、フィジカルスタンバイの採用例が圧倒的に多いため、単に"Data Guard"と呼ぶ場合、Data Guardフィジカルスタンバイを指すことが多いです。
Oracle Database Enterprise Editionを使用していれば、追加費用なしでData Guardを使用できます。 ただし、読取り専用OPEN中の更新伝播や、スタンバイDBでの更新処理の実行などの拡張機能を利用したい場合は、有償のActive Data Guardオプションを追加購入する必要があります。
基本スタンバイは、ひとことでいうと「Oracle Database Standard Editionで使用できるData Guardフィジカルスタンバイ機能の簡易版」になります。全てのEditionのOracle Databaseで追加費用なしで使用できます。
基礎とするメカニズムはData Guardフィジカルスタンバイと同等ですが、ファイル単位(アーカイブログファイル単位)で更新を伝搬する点、自動化されていない点が異なります。
支援ツールなしで基本スタンバイを運用することは非常に大変なため、基本スタンバイを使用する場合は、原則的にDbvisitなどの基本スタンバイを支援するツールを併用します。
Dbvisit Standbyは、Dbvisit社が提供する基本スタンバイの支援ツールです。
Dbvisit Standbyのコア技術は基本スタンバイですが、 Dbvisit Standbyを活用すると基本スタンバイの導入・管理・運用の作業コストを大幅に削減できます。
最新バージョンのv9で、スタンバイDBをレポート生成やテストに活用できる機能強化がなされています。
Standby Expressはワイ・ディ・シー社が提供していた基本スタンバイの支援ツールです。 Dbvisit Standbyと同等の位置づけの製品です。
ただし、Standby Expressは2019年で販売が停止されました。このため、 Standby Expressを利用していたユーザーには、後継製品としてDbvisit Standbyをお勧めしています。
コーソルでは、以下のレプリケーション製品の設計・導入・販売・サポートを行っています。Oracle Databaseのレプリケーションをご検討の際はぜひコーソルにお声がけください。