web-dev-qa-db-ja.com

OracleからMySQLへのデータの複製

私はデータ分析を行うベンダーと協力しており、現在、Goldengate(非常に高価)と呼ばれる製品を使用して、一部のデータベースからレプリケーションストリームを受信して​​います。 Goldengateは素晴らしく、Tandem-NSKソースからのトランザクションを複製し、サポートされている任意のデータベースに変更を適用できます。リモートエンドでMySQLを使用しています。課金システムをOracleに切り替えています。引き続き、Goldengateを使用してこれらのログを移動できますが、別のオプションがあるかどうかを確認したいと思います。

タンデムNSKからデータを取得できるものが他にないため、最初はゴールデンゲートを選択しましたが、現在はOracleに移行しているため、よりネイティブな(または少なくともより単純な)選択肢がある可能性があります。私は彼らに対して何も持っていません-私が言ったように、それはうまくいきます-しかし私は2つのmainstremデータベースがNSKよりも簡単に複製できることを望んでいます。

OracleシステムからMySQLデータベースにトランザクションデータを取得するのに役立つメソッドの製品はありますか?この種のレプリケーションをネイティブに実行する方法があるかどうか(ネイティブレプリケーションを使用してOracle-> MSSQLを実行できることはわかっていますが、私が知っているMySQLをターゲットにする方法はありません)、または誰かが知っているかどうかはわかりませんこれを容易にすることができる(そしてGoldengateよりも安価な)製品。

提案をありがとう!

1
SqlRyan

あなたの質問から、あなたが本当のトランザクションセマンティクスを必要としているようには思えません、そしてその非同期レプリケーションは問題ないでしょう。

その場合、Oracle内のトリガーを使用してデータの変更を追跡するレプリケーションシステムを構築し、Perl(または他のスクリプト言語)などを使用して両方のシステム間で通信するためのグルーコードとしてそれらの変更をMySQLに再生するのは非常に簡単です。 SQL。

これは多くのオーバーヘッドになるように聞こえるかもしれませんが、クライアントのためにこのようなシステムを多数構築しており、Oracleの観点からはオーバーヘッドはかなり低くなっています。トランザクションワークロードが大きい上位1000のWebサイトに電力を供給するいくつかのOLTPシステムで実行し、Oracleはそれをチャンピオンのように処理しました。

2
xzilla