检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
开发设计建议 开发设计建议概述 数据库对象命名 数据库对象设计 工具对接 SQL编写
开发设计建议 开发设计建议概述 数据库对象命名 数据库对象设计 工具对接 SQL编写
le占用了大量宝贵的网络资源,减少不必要的数据shuffle,可以减少网络压力,使数据的处理本地化,以提高集群的性能和可支持的并发度。通过对关联条件和分组条件的仔细设计,能够尽可能的减少不必要的数据shuffle。 选择分布方案 表的分布方式的选择如表2 表的分布方式及使用场景所示。
表设计 总体上讲,良好的表设计需要遵循以下原则: 减少需要扫描的数据量。通过分区表的剪枝机制可以大幅减少数据的扫描量。 尽量减少随机I/O。通过聚簇可以实现热数据的连续存储,将随机I/O转换为连续I/O,从而减少扫描的I/O代价。 选择分区方案 当表中的数据量很大时,应当对表进行分区,一般需要遵循以下原则:
【建议】表的存储类型是表定义设计的第一步,客户业务类型是决定表的存储类型的主要因素,表存储类型的选择依据请参考表1。 表1 表的存储类型及场景 存储类型 适用场景 行存 点查询(返回记录少,基于索引的简单查询)。 增、删、改操作较多的场景。 选择分区方案 当表中的数据量很大时,应当对表进行分区,一般需要遵循以下原则:
联条件和分组条件的仔细设计,能够尽可能的减少不必要的数据shuffle。 选择存储方案 【建议】表的存储类型是表定义设计的第一步,客户业务类型是决定表的存储类型的主要因素,表存储类型的选择依据请参考表1。 表1 表的存储类型及场景 存储类型 适用场景 行存 点查询(返回记录少,基于索引的简单查询)。
用了大量宝贵的网络资源,减少不必要的数据shuffle,可以减少网络压力,使数据的处理本地化,以提高集群的性能和可支持的并发度。通过对关联条件和分组条件的仔细设计,能够尽可能的减少不必要的数据shuffle。 选择分布方案 表的分布方式的选择如表1所示。 表1 表的分布方式及使用场景
字段设计 选择数据类型 在字段设计时,基于查询效率的考虑,一般遵循以下原则: 【建议】尽量使用高效数据类型。 选择数值类型时,在满足业务精度的情况下,选择数据类型的优先级从高到低依次为整数、浮点数、NUMERIC。 【建议】当多个表存在逻辑关系时,表示同一含义的字段应该使用相同的数据类型。
字段设计 选择数据类型 在字段设计时,基于查询效率的考虑,一般需要遵循以下原则: 尽量使用高效数据类型。 选择数值类型时,在满足业务精度的情况下,选择数据类型的优先级从高到低依次为整数、浮点数、NUMERIC。 当多个表存在逻辑关系时,表示同一含义的字段应该使用相同的数据类型。
表设计 总体上讲,良好的表设计需要遵循以下原则: 减少需要扫描的数据量。通过分区表的剪枝机制可以大幅减少数据的扫描量。 尽量减少随机I/O。通过聚簇可以实现热数据的连续存储,将随机I/O转换为连续I/O,从而减少扫描的I/O代价。 选择分区方案 当表中的数据量很大时,应当对表进行分区,一般需要遵循以下原则:
字段设计 选择数据类型 在字段设计时,基于查询效率的考虑,一般遵循以下原则: 【建议】尽量使用高效数据类型。 选择数值类型时,在满足业务精度的情况下,选择数据类型的优先级从高到低依次为整数、浮点数、NUMERIC。 【建议】当多个表存在逻辑关系时,表示同一含义的字段应该使用相同的数据类型。
字段设计 选择数据类型 在字段设计时,基于查询效率的考虑,一般需要遵循以下原则: 尽量使用高效数据类型。 选择数值类型时,在满足业务精度的情况下,选择数据类型的优先级从高到低依次为整数、浮点数、NUMERIC。 当多个表存在逻辑关系时,表示同一含义的字段应该使用相同的数据类型。
字段设计 选择数据类型 在字段设计时,基于查询效率的考虑,一般需要遵循以下原则: 尽量使用高效数据类型。 选择数值类型时,在满足业务精度的情况下,选择数据类型的优先级从高到低依次为整数、浮点数、NUMERIC。 当多个表存在逻辑关系时,表示同一含义的字段应该使用相同的数据类型。
约束设计 DEFAULT和NULL约束 如果能够从业务层面补全字段值,那么,不建议使用DEFAULT约束,避免数据加载时产生不符合预期的结果。 给明确不存在NULL值的字段加上NOT NULL约束,优化器会在特定场景下对其进行自动优化。 给可以显式命名的约束显式命名。除了NOT
约束设计 DEFAULT和NULL约束 如果能够从业务层面补全字段值,那么,不建议使用DEFAULT约束,避免数据加载时产生不符合预期的结果。 给明确不存在NULL值的字段加上NOT NULL约束。优化器会在特定场景下对其进行自动优化。 给可以显式命名的约束显式命名。除了NOT
约束设计 DEFAULT和NULL约束 【建议】如果能够从业务层面补全字段值,那么,就不建议使用DEFAULT约束,避免数据加载时产生不符合预期的结果。 【建议】给明确不存在NULL值的字段加上NOT NULL约束,优化器会在特定场景下对其进行自动优化。 【建议】给可以显式命名的约束显式命名。除了NOT
约束设计 DEFAULT和NULL约束 如果能够从业务层面补全字段值,那么,不建议使用DEFAULT约束,避免数据加载时产生不符合预期的结果。 给明确不存在NULL值的字段加上NOT NULL约束,优化器会在特定场景下对其进行自动优化。 给可以显式命名的约束显式命名。除了NOT
约束设计 DEFAULT和NULL约束 【建议】如果能够从业务层面补全字段值,那么,就不建议使用DEFAULT约束,避免数据加载时产生不符合预期的结果。 【建议】给明确不存在NULL值的字段加上NOT NULL约束,优化器会在特定场景下对其进行自动优化。 【建议】给可以显式命名的约束显式命名。除了NOT
约束设计 DEFAULT和NULL约束 如果能够从业务层面补全字段值,那么,不建议使用DEFAULT约束,避免数据加载时产生不符合预期的结果。 给明确不存在NULL值的字段加上NOT NULL约束,优化器会在特定场景下对其进行自动优化。 给可以显式命名的约束显式命名。除了NOT
据库。 一个集群内,用户自定义的Database数量推荐值为3个,不建议超过10个。用户自定义的Database数量过多会导致升级、备份等运维操作的效率降低。 为了适应全球化的需求,使数据库编码能够存储与表示绝大多数的字符,建议创建Database的时候使用UTF-8编码。 创建