Databases Synchronization Proposal
Cengiz Alaettinoglu
Fri Mar 3 21:34:03 CET 1995
Laurant,
We discussed several methods to syncronise registries in the IRR
meeting in San Jose. We have talked about daily ftp's, true
syncronisation via atomic updates, maintaining diff like files as
explained last week by Daniel. I am glad that someone take this one
step further and looked at the issues in detail. However, there are
couple of important issues that were missing in your proposal.
I think the most important issue is guaranteed syncronisation at a
certain time. When you ftp the copy of x.db created at 8am from the
master registry for x.db, you know that the copy of the x.db is as
recent as 8am this morning. With the diffs, one can guarantee
syncronisation upto the time of last diff in the ftp.
I think having a guaranteed time on the syncronisation is very
important. For example, RA configures route servers using the
information received untill 2pm the previous day. With the diffs, one
can syncronise all databases to 2pm, previous day.
With what you suggest, no such guarantees are possible (or I missed
it:-). In other words how can I get a copy of ripe database at 2pm
yesterday even if the ripe database have not received all updates till
2pm yesterday because they were sent to all sorts of registries all
around the world.
On another point, you suggest that once a week whole ftp copies of the
databases can be made to guarantee robustness for syncronisation.
Where do I get a copy of ripe.db? Ripe? In your scheme they themselves
do not have the most up to date data. The most up to data data is in
all registries plus mail queues in all sorts of places, plus mail
messages in transit between the registries. To clarify here is an
example:
7:50 am RA receives add object banana to ripe database
7:51 RA adds the object and forwards it to ripe, network is down
and the message is queued.
8:00 am RA ftp's ripe's copy of ripe.db.
8:05 Ripe receives mail from RA and adds object banana
Are the databases syncronised? No. RA's copy of the ripe.db is missing
the object banana. Also RA can not tell this, as perhaps object banana
was actually deleted by sending a delete request to the registry foo.
Do you want to keep track of all these transactions? That is not a
simple job and perhaps two phase commit and true syncronisation is
simpler.
I think having a master registry is a good idea. A record should not
be registered anywhere if it is not registered at the master
registery. I think master registry should issue both serial numbers
and time stamps. That is records of the sort:
database serial-number timestamp operation object
These records can be stored for future ftp as diffs or sent around via
email (or both). Different registries can choose different options as
well. But I think, one needs diffs and a concept of master registries
to guarantee syncronisation.
My 1000 Turkish Liras:-) which is only 2 cents:-(
Cengiz
--
Cengiz Alaettinoglu Information Sciences Institute
(310) 822-1511 University of Southern California
-------- Logged at Fri Mar 3 22:27:44 MET 1995 ---------
[ rr-impl Archive ]