Frequently Asked Questions...

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.