2011-01-02 13 views
0

私は2つのレールアプリケーションを持っています。 1つは内部的なもので、もう1つは外部クライアントのバージョンです。特定の列のMySQLレプリケーション

クライアントバージョンでは、私はデータベースのcuttedバージョンを持っています。だから、私はマスターMySQLデータベースを複製する必要がありますが、すべてのデータを複製する必要はありません:特定の列と特定のテーブルのみ。

このジョブを実装するにはどうすればよいですか?

ルビーのものがある場合(この方法でレプリケーションを行うための宝石)、それは素晴らしいでしょう。

+2

[異なるテーブルの複製](http://dev.mysql.com/doc/refman/5.1/en/replication-features -differing-tables.html) – ajreal

+0

ajreal - クール!これは新機能です – fl00r

答えて

1

通常、レプリケーションはデータベースレイヤーで行います。ここでは、Mysqlレプリケーションのドキュメントを示します。 http://dev.mysql.com/doc/refman/5.0/en/replication.html 通常、データベース全体がレプリケートされます。

もう1つの解決策は、1日数回実行され、目的のデータをコピーするジョブ(おそらくルビーで書かれている)を持つことです。

おそらく、できるだけ遅れなくマスターからスレーブにデータをプッシュしたいのですか?次に、ActiveRecordのsave()メソッドにフックをかけて、スレーブdbに変更をプッシュすることができます。

は、それまでには見ていないが、おそらくこれは何かである:http://www.rubyrep.org/

+0

はい、私は遅延したジョブまたはcronとして内部データベースをダンプすることを考えました。しかし、複製はより柔軟なソリューションです。特定の列の複製に問題がありました。データベースは異なるからです。しかし、_ajreal_がこれを投稿しました:http://dev.mysql.com/doc/refman/5.1/en/replication-features-differing-tables.htmlこれが私の必要です。ありがとう – fl00r

+0

ruby​​repは素晴らしいです! – fl00r

関連する問題