2

私の会社では現在、Sql Server 2005 で実行されているトランザクション データベースがあります。MySql (Linux で実行) レポート データベースを追加する予定です。MS-Sql db から MySql db へのレプリケーションを実行する必要があります。リアルタイムである必要はありませんが、数分以内である必要があります。

私はかなり優れた MSSql Dev スキルとまあまあの dba スキルを持っていますが、MySql のバックグラウンドはありません。私たちのチームの MySql 担当者は、MSSql の経験がありません。

誰かが似たようなものをセットアップしていて、いくつかの提案があるのではないかと思っていました。2 つの間でデータを移行することについていくつか見てきましたが、進行中のレプリケーションについてはあまり見られませんでした。現時点では、SSIS で何かをセットアップし、Sql Agent で実行するのが最善の方法だと思います。今のところ、SSIS のアイデアに取り組みますが、提案を歓迎します。

4

4 に答える 4

4

ほぼ同じケースの私の友人 (彼は MSSQL から MySQL にいくつかのテーブルからいくつかのデータをコピーします) は、そのようなものを構築しました:

  • レプリケートされる各テーブルにトリガーを追加しました。主キーの保存、操作の種類 (i)insert/(u)pdate/(d)elete、および特殊なテーブルのソース テーブル名 (less または more) をトリガーします。
  • 小さな .NET アプリは、この特殊なテーブルを数分ごとにスキャンして新しいキーを探し、ソース MSSQL テーブルからデータを読み取り、MySQL の宛先テーブルに保存します (それ以下またはそれ以上)。

これは次の理由で正常に機能します。

  • テーブルはあまり変わりません。
  • 彼はほんの数列をコピーします。

長所:

  • 迅速かつ簡単に実装および変更できます。

短所:

  • 自家製のツールは完璧ではありません:)。
于 2008-10-09T21:41:19.617 に答える
2

それは、MySQL データベースの上で使用するレポート ソフトウェアによって異なると思います。Pentaho を使用している場合、この状況を処理するためのソフトウェアがあります。レポートがアドホックで、構造がまったく同じままである場合は、別の MSSQL インスタンスをセットアップしてそれを使用することを真剣に検討します。既に MSSQL を使用している場合は、この 2 つを互いに友好的にしようとはしないでください。2 番目の MSSQL インスタンスを限られたリソースのみに結び付けて、トランザクション データベースが同じマシン上にある場合でも影響を受けないようにする必要があります。

于 2008-10-09T22:04:07.480 に答える
0

サードパーティのアプリケーションは、これを行う機能を主張しています:DaffodilReplicator。オープンソースとエンタープライズの両方で利用できると思います。

于 2008-10-04T00:40:53.657 に答える
0

SSIS ETL は、最も簡単な方法のようです。実際にステージング領域 (CSV ファイル) にエクスポートしてから、MySQL にインポートすることができます。これにより、さまざまな形式の問題が処理されます。創造力を働かせれば、MySQL は CSV ストレージ エンジン (こちらを参照) をサポートしているため、SSIS での読み込みステップを節約できます。

于 2009-10-27T16:41:56.507 に答える