Empressマルチマスタレプリケーション
Empressマルチマスタレプリケーションは従来のレプリケーションの様にレプリケーションの対象となるテーブルにマスタ、スレーブ、レプリカという区別を付けてPULL、PUSHでデータを連携させるのではなく、以下の様なレプリケーションをいいます。
マルチマスタレプリケーションとは?
- テーブルにマスタ、スレーブ、レプリカの区別がなく、すべてのテーブルに対して登録、更新、削除、検索が可能なレプリケーションです。
- 個々のテーブルにデータの変更が発生すると変更のあったテーブルが他のテーブルに変更のあったデータを転送しすべてのテーブルが同期されます。
- データを一元管理するため採番マスタサーバをオプション提供します。フェイルセーフのためセカンドマスタの設置も可能です。クライアントは採番マスタ から採番値(最大値)を取得します。最大値はデバイス間をレプリケートされ同期します。
マルチマスタレプリケーションの特長
- プロファイルによりマルチマスタを制御しますのでプログラムの作成は必要ありません。マルチマスタの制御はプロファイルとデータベースエンジンがすべてを管理します。APIも提供します。
- レプリケーション時に差分データのみ転送され、更新基準はソフトウエアタイムスタンプによる後勝ちになりますので、ネットワークとデバイスの負荷が大変に低くなります。テーブル間の全データを比較し、同期することはありません。
- 1つのテーブルが更新されると、そのテーブルは他のテーブルのその更新を待たずにそれぞれの新しいデータの更新を可能とするレプリケーションです。断電、断線があっても復旧すれば、レプリケーションも自動的に回復します。
- Empressのマルチマスタレプリケーションは採番マスタを提供しレプリケーション全体のIDを管理します。採番テーブルもマスタから各クライアントにレプリケートされ、マスタに不具合が発生した場合でもセカンドマスタが代行することが可能です。その際、各デバイス内の各採番テーブルから最大値をとるAPIも提供しています。
現在、EmpressマルチマスタレプリケーションはPOSの分野で最も使用されいて、以下の様な構成になっています。