2026/02/14

複製(レプリカ)とは?

Notes/Domino の特徴的な機能として「複製」というものがあります。「レプリカ」とも呼ばれ、Notes の世界ではほぼ同じ意味で使われています。

管理者としてサーバを触っているときはもちろん、Notes クライアントを使っているときも、Designer で開発しているときも、気づけばどこかで必ず登場する機能です。

何年も Notes に触っているのに、実は仕組みはよく分からないまま使っている、という人も多いのではないでしょうか。私自身も、長い間そんな感じでした。

複製の基礎から設定、周辺知識、実運用での注意点まで、「複製」にはいろいろと語れるトピックがあります。思いつくままに、そのあたりを書いていこうと思います。まずは、いちばん基本的なところからはじめます。


複製とコピーの違い

「複製」と「コピー」、言葉の意味だけを見るとほぼ同じに思えますが、Notes の世界ではこの 2 つはまったく異なる動作をします。実際に Notes クライアントでは、どちらもメニューとして用意されています。

実行してみると、「コピー」の場合はワークスペースに新しいアイコンが追加されます。この挙動の通り、別の新しい器(データベース)に、設計と文書を丸ごとコピーして作成されます。この時点でコピー元との関連性はなくなり、以降は完全に別物のデータベースとして扱われます。これが Notes における「コピー」です。

一方、「複製」の場合はアイコンが重なって表示されます。右下のアイコンをクリックすると、複製メニューが表示され、重なっているデータベースの配置(サーバ名やファイル名)を確認できます。

複製メニューの[複製]を選択すると、複製相手のデータベースと文書を送受信する画面が表示されます。このように、「複製」で作成したデータベースは、作成後も双方の内容を同期し続けられる点が最大の特徴です。


複製とレプリカ ID

複製の関係にあるデータベースのプロパティを確認すると、同じレプリカ ID が設定されていることがわかります。

Notes/Domino では、このレプリカ ID を利用してデータベースを識別し、複製関係にあるかどうかを判定しています。そして、レプリカIDが一致する場合にのみ、データベース間での同期(レプリケーション)が行われます。

ちなみに、先ほど「コピー」で作成したデータベースでは、元のデータベースとは異なるレプリカ ID が割り当てられています。


文書 ID(ユニバーサル ID)

データベースのレプリカ ID と同様に、文書にもそれぞれを一意に識別するための ID が存在します。これをユニバーサル ID(UNID、ユニーク ID とも呼ぶ)といいます。文書のプロパティ画面の[文書 ID]タブに表示されている上 2 行がユニバーサル ID です。

ユニバーサル ID はデータベース全体で一意となる ID であり、複製先のデータベースでも同じ ID が維持されます。下図は複製関係にある文書のプロパティを比較したものです。他の ID には差がありますが、ユニバーサル ID は一致していることが確認できます。


複製が必要となった背景

Notes/Domino はインターネット黎明期から存在する製品です。当時のネットワークは通信速度が遅く、コストも高額でした。そのため、拠点ごとにサーバを配置し、LAN 内からアクセスさせることで、速度とコストの両立を図っていました。

拠点間の情報共有については、通信コストの安い時間帯を利用して後から複製(同期)を行う、という運用が一般的でした。

当時、複製は Notes の特徴的で先進的な機能でしたが、その後 Oracle など他のデータベース製品でも同様の仕組みが実装されていったと記憶しています。

現在ではネットワークが高速かつ安価になったため、純粋に通信コスト削減を目的として複製を利用するケースは少なくなりました。しかし、Notes/Domino において複製は今なお基本機能のひとつであり、Domino クラスタをはじめ、多くの機能の前提として使われています。そのため、動作原理は今でも知っておくべき重要な知識といえるでしょう。


0 件のコメント:

コメントを投稿