GaussDB 100采用水平分表的方式,将业务数据表的元组打散存储到各个节点内。这样带来的好处在于,查询中通过查询条件过滤不必要的数据,快速定位到数据存储位置,可极大提升数据库性能。
水平分表方式将一个数据表内的数据,按合适分布策略分散存储在多个节点内,GaussDB 100支持如表1所示的数据分布策略。用户可在CREATE TABLE时增加DISTRIBUTE BY参数,来对指定的表应用数据分布功能。
策略 | 描述 | 适用场景 |
散列(Hash)方式 | 根据元组中指定字段的值计算出哈希值,根据节点与哈希值的映射关系获得该元组的目标存储位置。 | 适用于表数据量较大、需要提升查询性能的场景。 |
范围(Range)方式 | 根据指定字段的值的范围把数据行存储到不同节点上 | 适用于表数据量较大、需要提升查询性能的场景。 |
列表(List)方式 | 根据指定字段的值把数据行存储到不同节点行 | 适用于表数据量较大、需要提升查询性能的场景。 |
复制(Replication)方式 | 将元组复制到所有节点上。 | 适用于表数据量较小、需要提升并发分析性能的场景。 |