Frequently Asked Questions...

back to FAQ

2b. 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.)