Implementing Siebel eBusiness Applications on DB2 UDB for z/OS and OS/390 > Understanding Siebel Partitioning >

About Methods Used for Partitioning


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.

Implementing Siebel eBusiness Applications on DB2 UDB for z/OS and OS/390