MicroStrategy ONE

Disable Prefix in WH Partition Table

The Disable Prefix in WH Partition Table is an advanced property that is hidden by default. For information on how to display this property, see Viewing and Changing Advanced VLDB Properties.

This property allows you to provide better support of warehouse partitioning in a distributed database environment.

In a distributed database environment, different tables can have different prefixes. This is also true for partitioning. On one hand, the partition-mapping table (PMT) may have a different prefix from the partition base table (PBT). On the other hand, each PBT may need its own prefix. In MicroStrategy 6.x and earlier, this is achieved by adding one additional column (DDBSOURCE) in the PMT to indicate which table source (prefix) to use. MicroStrategy 7.x and later uses metadata (MD) partitioning and warehouse (WH) partitioning. MD partitioning can handle distributed databases easily, because the metadata contains the PMT as well as the PBT. For WH partitioning, it only has the PMT in the metadata, so it can only set prefixes on the PMT. Currently, this prefix is shared by both the PMT and the PBT. In other words, both the partition prequery (using PMT) and the partition query (using PBT) use the same prefix.

For those projects that need their own prefix in the PBT, the MicroStrategy 6.x approach (using the DDBSOURCE column) no longer works due to architectural changes. The solution is to store the prefix along with the PBT name in the column PBTNAME of the partition mapping table. So instead of storing PBT1, PBT2, and so on, you can put in DB1.PBT1, DB2.PBT2, and so on. This effectively adds a different prefix to different PBTs by treating the entire string as the partition base table name.

The solution above works in most cases but does not work if the PMT needs its own prefix. For example, if the PMT has the prefix "DB0.", the prequery works fine. However, in the partition query, this prefix is added to what is stored in the PBTNAME column, so it gets DB0.DB1.PBT1, DB0.DB1.PBT2, and so on. This is not what you want to happen. This new VLDB property is used to disable the prefix in the WH partition table. When this property is turned on, the partition query no longer shares the prefix from the PMT. Instead, the PBTNAME column (DB1.PBT1, DB2.PBT2, and so on) is used as the full PBT name.

Even when this property is turned ON, the partition prequery still applies a prefix, if there is one.

Levels at Which You Can Set This

Database instance, report, and template