リレーショナルデータベースの同期

リレーショナルデータベースの同期

同期の1)、全額

MySQLへのデータテーブルOracleデータベースの同期から、通常の練習は、ソーステーブルを照会ページングされ、次いで(JDBCなど)データベースエンジン量がターゲットテーブルに挿入され、例えば、この場所は、クエリをページングするとき、ことに留意すべきです、繰り返し挿入を回避するために、次ソートキーIDページングに従ってください。

2)同期の全量のファイルベースのデータのエクスポートおよびインポートを、一般的にこの方法で同期データベース間の同期の同じ種類にのみ適用と、異なるデータベースの場合、このアプローチは問題となり得ます。

3)、トリガーベースの増分同期

増分同期は一般的に、リアルタイムの同期で行われ、データの同期が実行する多くの初期のトリガートリガーベースのリレーショナルデータベースです。

データのステップトリガのリアルタイム同期を使用します。

、トリガーインサートを含むトリガを作成元のテーブルに基づいて、変更、操作の三種類を削除し、サブデータベースは、および2例の後、一方は挿入で発生する前に、変更する操作の3種類の削除トリガ(典型的には前に、このようなロギング・オペレーションとして)トリガする前に、一方を挿入した後、変更する操作の3種類の削除トリガされます。

B、まったく同じフィールドに、元のテーブルに増分テーブル、デルタテーブルとフィールドを作成しますが、もう一つの操作タイプのフィールドを必要とする(サブテーブルの挿入の代わりに、変更、の3種類の操作を削除)、および独自の自己を要求しますIDを高めるためには、テーブルのデータ操作の元のデータ、非常に重要なこのインクリメントID、そうでなければ、データが同期される疾患を表します。

インサートは、操作のC三種類生じ、元のテーブルを削除、変更すると、フリップフロップ自動インクリメントによって生成されたデータは、デルタテーブルを挿入しました。

Dは、データ処理デルタテーブルは、取り扱い、インクリメントIDに対応するために存在する必要があり、この効率は、そうでなければデータが文字化けする、一括操作を行うには方法、非常に低いです。いくつかは、操作が合流し、バッチ処理が、私はデータへの追加や削除が合併した後、順番にあるので答えは、ノーです与え、削除、マージを変更し、マージ操作を挿入することはできませんと言うかもしれませんそこには秩序がなく、一度間違って同じデータへの追加や削除のためには、それは確かに間違ったデータの同期になります。

データ交換の市場は、多くの製品を行うには、この考え方に基づいています。

4)、同期タイムスタンプインクリメントに基づきます

最初我々はたびに読み取られる同期するデータにアクセスするための一時テーブルTEMPを必要とする、すなわち、第1の一時テーブルに挿入されたタイムスタンプに応じて、元のデータから読み出されるテーブル毎に、各挿入する前に、まずデータの一時テーブルを空にする

Bは、我々はまた、たびに、最終的なタイムスタンプを読んされ処理されたデータを格納するためのタイムスタンプ構成テーブルを作成する必要があります。

C、データは元のテーブルから読み込まれるたびに、まず時に元のクエリテーブルを知っているタイムスタンプを開始し、タイムスタンプの割り当て表をご確認ください。

Dは、元のテーブルの読み出しデータのタイムスタンプによれば、一時テーブルへ、及びターゲット・テーブルに一時テーブルにデータを挿入します。

Eは、最大のタイムスタンプデータのキャッシュテーブルから読み出され、構成テーブルにタイムスタンプを更新しています。キャッシュテーブルの役割は、それぞれが最大のデータのタイムスタンプを読んでもらうためにSQLを使用することで、当然のことながら、これらは、やかんで一時的なテーブルのための唯一の必要性を設定するには、SQL文に完全に基づいています。

 

おすすめ

転載: www.cnblogs.com/hnxxcxg/p/11782346.html