Oracleサーバーに依存せず、Standard Editionでも高可用性構成
レプリケーションとは、データベースのデータを二重、三重にコピーする機能。多くのデータベースには標準で実装されている。レプリケーションを使ってデータベースを二重化しておけば、マスターデータベースに障害が起きてもスレーブサーバーで処理を代替えできる。また、データ分析のための参照処理をスレーブサーバーで行なえば、マスターサーバーでのトランザクション処理に影響を及ぼさずに重たい検索用SQLの処理も可能だ。
標準のレプリケーション機能の多くは、マスターデータベースの更新をSQLを使ってスレーブデータベースに反映する。この方法の弱点は、データコピーの際にマスター側でサーバーリソースを消費することだ。なので、大量に更新がある場合は、データベースの負荷が増える。また、サーバー間を流れるデータ量も増え、ネットワークに十分な帯域がなければスレーブへの反映が遅延してしまう。
標準のレプリケーション機能では、マスターとスレーブは同じ規模のハードウェアを用意し、データベースの種類もバージョンも統一する必要がある。他にもファイルシステム・ベース、ストレージのブロックベースでデータベースの複製はできる。これらはデータベースサーバーに負荷は与えないが、トランザクションレベルでの更新ができないのが弱点となる。
一方で論理レプリケーションは、データベースのトランザクション内容をキャプチャしてスレーブサーバーのデータベースに反映させる機能だ。
「論理レプリケーション機能の元祖はSharePlexです」と語るのは、デル・ソフトウェア システム&インフォメーションマネージメント技術部 ソリューションコンサルタントの青木浩朗氏だ。
SharePlexは、デル・ソフトウェアの前身のQuest Softwareが1999年、Oracle Databaseのバージョン7の頃から提供を開始し、現在も機能向上の開発が続けられている。すでに世界中で2万3,500越えるインストールベースがあり、金融、通信、公共、eビジネスなど幅広い企業で採用されている。
SharePlexでは、Oracle DatabaseのREDOログを用い、トランザクションレベルでレプリケーションを行う。
「同様の機能には、Oracle GoldenGateがあります。こちらは2005年くらいに登場し、2009年にOracleが買収しました。SharePlexは、それより5年以上前から論理レプリケーション機能を提供しています。歴史があり、海外でも各種アワードを獲得するほど評価の高い製品です」(青木氏)
SharePlexは、OracleのREDOログからデータベースが変更されたところだけを抜き出す。そのための独自ログ分析エンジンを持っており、データベースとは別プロセスでキャプチャして変更点だけを抜き出す。データ複製の際にマスターサーバーにはほとんど負荷を与えず、REDOログ生成量の約1/3のネットワーク転送量で複製できる。レプリケーションツールの中には、ログ分析にOracleのLogMinerを使うものもある。しかし、これはレプリケーション用ではないので、SharePlexのエンジンより効率は良くない。
SharePlexが対応するOracle Databaseのバージョンは9i、10g、11g、12cと幅広い。バージョンが異なっていても、ハードウェアやOSが異なっていてもレプリケーションができる。また、Standard Edition、Enterprise Editionなど、Oracleのエディションが異なっていても問題はない。
「Oracleサーバーに依存しない疎結合のアーキテクチャを持っています。なので安価なStandard Editionでも高可用性構成が構築できます」(青木氏)
SharePlexでは、複製先はOracle Database以外でもいい。従来のMicrosoft SQL Server、SAP Adaptive Server Enterpriseに加え、SAP HANA、Teradata、EnterpriseDB Postgresのサポートも2016年5月から開始した。その他のデータベースも、ODBC経由で複製可能だ。またSQLデータベース以外のHadoopやApache Kafkaなどの新たなデータストアも、サポート対象に入っている。
データベース移行時のダウンタイムを最小限に!
大規模なOracle移行作業の合理化に成功し、ミッションクリティカルな顧客向けシステムのダウンタイムを20時間からわずか40分に短縮!