在某些情况下,更改已生成的数据库工件对于提高性能很有帮助。
通常可采用两种方法:递进式改进和特殊改进
递进式表空间映射改进
由模式生成器创建的表的数目取决于
业务度量模型的复杂程度(以及其他因素)。
因此,开始时很难确定如何以最佳方式将这些表分配到表空间。
以下简单方法可以帮助您按照表空间配置文件所定义的那样,逐步改善表到表空间的映射。
要获取更多关于数据库规划的信息,请参阅
数据库工件部署准备。
要改善表到表空间的映射,您必须执行以下任务:
- 使用缺省或任何其他定制的表空间配置文件,运行模式生成器。
- 将生成的工件抽取到某个临时目录,并确定将在数据库中创建的表的数目和类型。
对于每个业务度量模型,会创建以下类型的表:
- 上下文和活动:只存在于状态和运行时数据库中,并通过服务器和仪表板访问。
- CD:只存在于状态和运行时数据库中。CD 表所含的列通常略多于相关上下文或活动表中包含的列。
特定 CD 表的大小主要取决于针对其相应上下文或活动表的事务数、更新与插入事务之比、数据移动服务的相关“应用”组件从 CD 表读取事务并将它们插入到相应 CCD 表的频率,以及相关源生命周期组件修剪 CD 表条目的频率。
- CCD:只存在于运行时和历史数据库中。CCD 表拥有与对应 CD 表完全相同的结构,其大小也主要取决于上述相同因素。
不同之处是,对于 CCD,不是由“应用”组件读取事务,而是由 ETL 组件读取事务,而且由目标生命周期组件修剪条目。
- RM 内部表:只存在于运行时和历史数据库。
这些表使用最大为 4 KB 的页面。
- 事实和维:只存在于历史数据库中。
- 修改表空间配置文件,以使它包含:
- 每个表类型的映射
- 多个表类型到表空间的映射(如果将许多表分配给同一个表空间)
注: - 不要为不在数据库中创建的表类型指定表空间声明,因为将不使用这些表空间。
- 度量映射到表列。定义的度量越多,表就越大,因此其表空间所需的页面大小也就越大。
- 在部署生成的工件之前,创建以下表空间(和缓冲池): 因为没有建立数据库连接,所以模式生成器无法验证配置文件中声明的表空间是否存在。然而,如果表空间不存在,部署将失败。
- 使用优化的表空间配置文件重新运行模式生成。
注: 如果创建了新的表空间配置文件,则在模式生成器管理控制台配置中更改配置文件名称。
特殊改进
您可以通过更改以下项来修改生成的工件:
通常情况下,允许的更改不会改变表的基本模式或结构。
更改生成的脚本时,请考虑以下限制:
- 不能更改任何表名。
- 不能更改任何列名。
- 不能更改任何列数据类型。
- 不能删除任何列或任何表。
- 不能向表添加任何列。
- 不能更改表的任何主键。
- 不能更改列的可空性。
- 不能更改任何表的模式分配。
- 不能添加任何新的约束,如唯一性约束或外键约束。
重要: 在下一次为同一业务度量模型执行模式生成时,对生成的数据库工件所做的这些更改将不包括在内。例如,某个用户在部署业务度量模型“Finance Model”的生成工件之前,更改了它们。随后,该用户更改了业务度量模型,并重新生成了所有工件。
在这个例子中,由于模式生成器不了解对先前生成的工件的修改,因此用户必须再次修改新生成的工件。
注: - 工件部署需要使用 Java™ V1.4.2 或更高版本。
- 应在执行复制脚本之前,将 Java bin 目录添加到系统路径。