accessレプリカ

レプリカとは?


データベース レプリケーション ソリューション
データベース レプリケーション ソリューションは通常、ネットワークに断続的に接続するユーザー (ラップトップ ユーザーなど) や低速の広域ネットワーク (WAN) に接続しているユーザーの間で Access データベース (.mdb) を共有するために使用します。データベース レプリケーションは、複数の場所にある Access データベースのすべてのコピーに対して、変更されたデータやデータベース設計への変更のみを配布するという処理です。レプリケーションでは、"デザイン マスター" と呼ばれる単一のオリジナル データベースの、"レプリカ" と呼ばれる 1 つまたは複数のコピーが作成されます。デザイン マスターとそのレプリカを合わせて "レプリカ セット" と呼びます。"同期" と呼ばれる処理を実行すると、オブジェクトやデータへの変更がレプリカ セットのすべてのメンバーに配布されます。

データベース レプリケーション ソリューションにおけるデータの信用性は、同期の頻度とユーザー間の接続速度によって制限されます。データベース レプリケーション ソリューションは通常、低速または断続的な接続を常とする状況で使用します。したがって、データベース レプリケーションは、割り当てられた地域のいくかの地区を扱う外回りの営業担当者など、ユーザーどうしで競合が起きる可能性が低い場合に最適に機能します。Access/Jet レプリケーション ソリューションは、レプリケーション セットのメンバーをローカル エリア ネットワーク (LAN) 上の複数のファイル サーバーに配置することで、ネットワーク間の負荷分散として使用することもできます。
      • -

レプリカの実例




DAO3.5の新機能
―部分レプリケーション―
● レプリケーションとは?
例えば複数のパソコンから同じMDBを共有する方法として、共有ディレクトリ上にMDBを置いて、ネットワークを通して使う方法があります。しかし、この方法では、MDBを使うときにネットワークがつながっていなければいけません。
レプリケーションは、あるMDBを元にレプリカと呼ばれるコピーを作成し、その複数のコピー間で、データやオブジェクトの更新内容を交換して、内容を同期します。そして、同期処理中以外はネットワークがつながっていなくてもレプリカが使えるので、結果的に1つのMDBを共有しているのと同じようにアプリケーションから扱えます。

レプリカ上のレコードへの追加、削除および変更は、次回のレプリケーション実行時に相手側に反映されます。もし、同じレコードが両方で更新されたときは、レプリケーションの競合が発生します。このときDAO3.5は、バージョン番号の多い(変更が多い)レプリカの内容を採用し、バージョン番号も同一のときは、ReplicaIDの小さいレプリカの内容を採用します。採用されなかったレプリカは、競合テーブルにレコードの情報が格納されるので、競合の解消方法をプログラムで変更できます。

● 部分レプリケーション
レプリケーションは、Visual Basic 4.0のDAO3.0でも使うことができました。しかし、DAO3.0では、フルレプリケーションといって、テーブルやオブジェクトごとのレプリケーションのみサポートしていました。RDO3.5からは、部分レプリケーションといって、MDBに含まれるレコードの一部分のみレプリケーションが行えるようになりました。
部分レプリケーションを使えば、レプリカの配付先ごとに、必要な部分のみを同期するので同期処理のパフォーマンスが向上します。さらに、重要データを関係ない部署に配付したレプリカに転送しないように指定できます。

部分レプリケーションを行うためには次のような手順が必要です。

デザインマスターの作成(リスト2) 
部分レプリカの作成(リスト3) 
レプリケーションの実施(リスト4) 

サンプルで(1)を行うとデザインマスターにs_Generationフィールドが追加されます。このフィールドはレプリケーションの管理に使うフィールドで、レコードが変更されると0に設定されます。

なお、Microsoft Access 97 Developer Editionにはレプリケーションマネージャーというレプリカデータベースの作成や維持をするユーティリティが含まれていますが、Visual Basic 5.0には含まれていません。Visual Basic 5.0でも、DAO3.5を使って同様のものを作れますが、受託開発でレプリケーションを使うときは、最低でも開発環境と実行環境のそれぞれ1台づつにAccess97 Developer Editionを導入しておくのが得策かもしれません

  • 最終更新:2008-07-29 08:55:07

このWIKIを編集するにはパスワード入力が必要です

認証パスワード