back to FAQ
1a.
about system-wide unique identifiers
Q: I already know that in order
to propagate record changes throughout any distributed database
system a methodology for creating system-wide unique identifiers
must exist. What methodology does Data Safety Corporation
recommend for implementing SyncSmart?
A: There are many ways to provide
system-wide unique identifiers. One way is to use meaningful
portions of the data as a unique identifier. With this approach,
the identifiers are created "naturally", and in a case where two
systems independently produce a record with the same unique
identifier, treating the records as the same record is
appropriate. For example, if a phone number is used as an
identifier for a record, and two users independently add a
record with the same phone number used as a unique identifier,
then the two records are considered to be the same. It would not
be prudent for the distributed database to have two different
records that describe the same information. Since the use of
naturally occurring unique identifiers avoids the problem of
generating "meaningless" system-wide unique identifiers, it is
recommended as a preferred approach to defining unique
identifiers for records in a distributed database.
Another way to provide system-wide unique identifiers within
application logic is to use a "sourcedb" column in each table,
which is populated with a unique identifier for the database
that the record was originally created in. Combining the
sourcedb column with a traditional sequential identifier column
generates a system-wide unique identifier for each record. The
sequentially numbered column must be able to support multiples
of the same numeric value for this method to be effective. This
may require applications to manage the sequential numbering,
instead of utilizing built-in dbms capabilities.
These are not the only two methods for generating system-wide
unique identifiers for records. The needs of your business data
and your distribution rules may require or allow other methods
for generating system-wide unique identifiers.