Bookshelf Home | Contents | Index | Search | PDF | ![]() ![]() ![]() ![]() |
Implementing Siebel eBusiness Applications on DB2 UDB for OS/390 and z/OS > Understanding Siebel Partitioning >
Partitioning Methods
Siebel Systems supports two methods for partitioning:
- Partitioning based on business data
- Partitioning using a column designed for even data distribution
Partitioning Based on Business Data
This partitioning method is based on the contents of a given column. In this case, no special action is needed except to define the key ranges and number of partitions.
Partitioning for Even Data Distribution
This partitioning method involves adding a column designed specifically for Siebel partitioning with even data distribution. Siebel eBusiness Applications recognize this column by the name PARTITION_COLUMN. This column is populated by a DB2 before insert trigger.
Most Siebel tables are tied together by the ROW_ID column from a parent table. Columns with an _ID suffix are used to define a parent-child relationship, for example, OU_ID. These columns might seem to be good partitioning candidates because they support the DB2 access path; but in fact, these columns are poor candidates for partitioning because ROW_IDs are generated in sequential order.
To resolve the limitation caused by sequential order of ROW_ID, Siebel Systems provides a column, named PARTITION_COLUMN, that is based on the ROW_ID. This column is used only for partitioning purposes. It is a physical column defined in a storage control file, but it is not a part of the Siebel repository.
It is important that you continue to use the name PARTITION_COLUMN in order for the Siebel application to recognize this column. Also, you must define this column as
NOT NULL WITH DEFAULT
.A DB2 before insert trigger for populating PARTITION_COLUMN values is defined in the Siebel storage control file. The function of this trigger is to extract the last two bytes of a source _ID column and use it to populate PARTITION_COLUMN. By using a trigger to populate the columns, you can partition tables that do not have good candidate columns for a partitioning key due to their data content. Using a trigger, you can still generate values that distribute the data well.
Bookshelf Home | Contents | Index | Search | PDF | ![]() ![]() ![]() ![]() |
Implementing Siebel eBusiness Applications on DB2 UDB for OS/390 and z/OS Published: 18 April 2003 |