GreenPlum 最佳实践
数据模型 Greenplum数据库是一种shared nothing的分析型MPP数据库。这种模型与高度规范化的/事务型的SMP数据库有显著区别。Greenplum数据库使用非规范化的模式设计会工作得最好,非规范化的模式适合于MPP分析型处理,例如带有大型事实表和较小维度表的星形模式或者雪花模式。 对表中用于连接的列使用相同的数据类型。 堆存储 vs. 追加优化存储 对将会接收迭代批量或者单一UPDATE、DELETE以及INSERT操作的表和分区使用堆存储。 对将会接收并发UPDATE、DELETE以及INSERT操作的表和分区使用堆存储。 对于在初始装载后很少更新并且只会在大型批处理操作中进行后续插入的表和分区,使用追加优化存储。 绝不在追加优化表上执行单个INSERT、UPDATE或者DELETE操作。 绝不在追加优化表上执行并发的批量UPDATE或DELETE操作。可以执行并发的批量INSERT操作。 行存 vs. 列存 如果负载中有要求更新并且频繁执行插入的迭代事务,则对这种负载使用行存。 在对宽表选择时使用行存。 为一般目的或混合负载使用行存。 选择面很窄(很少的列)和在少量列上计算数据聚集时使用列存。 如果表中有单个列定期被更新而不修改行中的其他列,则对这种表使用列存。 压缩 在大型追加优化和分区表上使用压缩以改进系统范围的I/O。 在数据位于的级别上设置列压缩设置。