数据库设计最佳实践
IBM® Db2® Warehouse on Cloud 是为了实现最佳性能而预先配置的受管云数据仓库服务。 以下部分提供了 Db2 Warehouse on Cloud 数据库设计的最佳实践。
设计提示
-
在 Db2 Warehouse on Cloud中,缺省情况下所有表都是按列组织的,以便在分析工作负载上实现最佳性能。 虽然您可以创建按行组织的表,但强烈建议您创建所有表作为按列组织的表,以便在分析查询上实现良好性能。
-
作为 SaaS 产品, Db2 Warehouse on Cloud 自动管理表空间,缓冲池和数据库分区组以确保最佳性能。 创建 Db2 Warehouse on Cloud 实例时,您将找到缺省情况下创建的以下数据库对象:
- 一个常规表空间:
USERSPACE1
(32K 页大小) - 一个临时表空间:
TEMPSPACE1
(32K 页大小) - 一个缓冲池:
IBMDEFAULTBP
(32K 页大小) - 一个数据库分区组:
IBMDEFAULTGROUP
强烈建议不要创建其他表空间,临时表空间,缓冲池或数据库分区组。
- 一个常规表空间:
-
如果您正在使用任何一个 Db2 Warehouse on Cloud 多分区计划,那么可以通过定义一组良好的表分布键来优化性能。 一个好的分布键在数据库分区之间均匀分布数据,以便所有数据库分区都可以帮助处理查询的数据。 选择不当的分布键会导致数据偏差。 这意味着数据在数据库分区之间存储不均匀,因此只有一部分数据分区参与处理,而其余数据分区仍处于空闲状态。 有关分布键的更多信息,请参阅 多分区计划的分布键。
如果您使用的是单分区计划,那么无需担心分布键,因为所有数据都存储在一个数据分区上。
-
Db2 引擎包含许多注册表变量和环境变量以及数据库配置参数。 作为 SaaS 产品, Db2 Warehouse on Cloud 使用预先配置的变量和参数进行部署,以优化性能。 更改其中任何设置都可能对数据库操作或性能产生不利影响,因此强烈建议不要这样做。 如果您认为您的系统可能受益于对某些注册表变量,环境变量或数据库配置参数的更改,请打开支持案例以请求我们的服务专家提供指导。