back to FAQ2b. about
data-subsetting and partitioning rules in SyncSmart
Q: What approach does DataSafety
Corporation recommend to define 'data sub-setting' or
'partitioning rules' within SyncSmart?
A: since each database within a
distributed system serves a particular business need, the data
partitioning needs for each database tend to be different. In
general, there are two approaches to data partitioning rules.
One is the "internal" partitioning approach, where rules are
created based on pre-existing information in the database. An
example of this is geographic partitioning of data, with each
remote database assigned all of the data for a particular region
of the country or world. The second approach is the "external"
partitioning approach, where data structures are created
explicitly to allow assignment of pre-existing data to remote
databases. An example of this would be a usercustomer table that
stores the user id for a remote client and the customer id for a
record in the customer table. This table has no purpose except
to "assign" the customer data to the appropriate remote
database. The approaches can be combined to create a hybrid
approach to partitioning of data. This flexibility is one of the
key features of SyncSmart.
Each approach has benefits and drawbacks that you must consider
when defining your partitioning rules. When you use internal
partitioning, there is no need to change your database schema or
any applications to support partitioning rules. However,
internal partitioning does not provide as much fine-grain
control over partitioning rules as external partitioning. Remote
users tend to demand high levels of control in the partitioning
rules, and internal partitioning often falls short of these
requirements. External partitioning can provide nearly unlimited
detailed control of partitioning rules. However, all external
partitioning by definition is being added to the database, so
application changes must be made to support the additional
structures. Also, external partitioning is generally a more
complex way of defining partitioning rules, and so requires
higher levels of effort in configuration and maintenance. Issues
of cost and delivery time need to be considered when developing
partitioning rules.
It is typical that databases that are being distributed for the
first time must be modified to provide a partitioning
capability. SyncSmart provides a great deal of flexibility in
partitioning rules definition. The rules are specified in the
form of SQL select statements for each synchronized table. There
are few restrictions on the SQL that is available for use in
partitioning rules. (For specific examples on how SyncSmart
incorporates data sub-setting or partitioning rules, please
refer to the SyncSmart integration guide.)