首页 > 其他分享 >openGauss-分区

openGauss-分区

时间:2024-08-30 08:57:32浏览次数:5  
标签:分区 列表 分区表 哈希 openGauss 范围

openGauss- 分区

可获得性

本特性自openGauss 1.1.0版本开始引入。

特性简介

数据分区是在一个节点内部对数据按照用户指定的策略做进一步的水平分表,将表按照指定范围划分为多个数据互不重叠的部分。

客户价值

对于大多数用户使用场景,分区表和普通表相比具有以下优点:

  • 改善查询性能:对分区对象的查询可以仅搜索自己关心的分区,提高检索效率。
  • 增强可用性:如果分区表的某个分区出现故障,表在其他分区的数据仍然可用。
  • 均衡I/O:可以把不同的分区映射到不同的磁盘以平衡I/O,改善整个系统性能。

特性描述

目前openGauss数据库支持范围分区表、列表分区表、哈希分区表、间隔分区表、二级分区表:

  • 范围分区表:将数据基于范围映射到每一个分区,这个范围是由创建分区表时指定的分区键决定的。这种分区方式是最为常用的。

    范围分区功能,即根据表的一列或者多列,将要插入表的记录分为若干个范围(这些范围在不同的分区里没有重叠),然后为每个范围创建一个分区,用来存储相应的数据。

  • 列表分区表:将数据基于各个分区内包含的键值映射到每一个分区,分区包含的键值在创建分区时指定。

    列表分区功能,即根据表的一列或多列,将要插入表的记录中出现的键值分为若干个列表(这些列表在不同的分区里没有重叠),然后为每个列表创建一个分区,用来存储相应的数据。

  • 哈希分区表:将数据通过哈希映射到每一个分区,每一个分区中存储了具有相同哈希值的记录。

    哈希分区功能,即根据表的一列,通过内部哈希算法将要插入表的记录划分到对应的分区中。

  • 间隔分区表:间隔分区是一种特殊的范围分区,相比范围分区,新增间隔值定义,当插入记录找不到匹配的分区时,可以根据间隔值自动创建分区。

  • 二级分区表:二级分区表是在一级分区的基础上再进行分区,分区方案是由两个一级分区的分区方案组合而来的,目前二级分区表支持范围分区,列表分区,哈希分区交叉组合的9种分区策略。

用户在CREATE TABLE时增加PARTITION参数,即表示针对此表应用数据分区功能。用户可以在实际使用中根据需要调整建表时的分区键,使每次查询结果尽可能存储在相同或者最少的分区内(称为“分区剪枝”),通过获取连续I/O大幅度提升查询性能。

实际业务中,时间经常被作为查询对象的过滤条件。因此,用户可考虑选择时间列为分区键,键值范围可根据总数据量、一次查询数据量调整。

特性增强

支持范围分区表的合并功能。

性能增强

openGauss 6.0.0-RC1版本性能增强:

  1. List分区增强:List分区检索由原先顺序检索修改为Hash检索,大幅提升在多List分区场景下分区表的性能。
  2. 分区索引可见性优化:分区表索引可见性调整至syscache中,提升优化器阶段索引可见性判断性能。
  3. 取消计划缓存冗余有效性判断,采用消息机制通知的方式维护计划缓存的更新,提升了PBE执行性能。
  4. 优化在非分区表达式分区表下的分区表的执行逻辑。

在多分区表场景(大于3000分区),TPCC数据导入耗时下降13%,TPCC性能提升30%。分区表数据操作(查询、插入、更新、删除等)耗时下降50%,

特性约束

无。

依赖关系

无。

详情查看:https://opengauss.org

详情查看:https://docs-opengauss.osinfra.cn

标签:分区,列表,分区表,哈希,openGauss,范围
From: https://www.cnblogs.com/xiaoxu0211/p/18387885

相关文章

  • openGauss-堆表支持预读
    openGauss-堆表支持预读可获得性本特性自openGauss6.0.0-RC1版本开始引入。特性简介在对堆表进行扫描进行顺序页面读取时,通过一次行读入多个页面,来减少因频繁读单页的IO损耗,提升对堆表进行线性扫描的性能表现。客户价值提升客户在频繁进行全表线性扫描场景下的性能表现。......
  • openGauss-发布订阅
    openGauss-发布订阅可获得性本特性自openGauss3.0.0版本开始引入。特性简介发布订阅基于逻辑复制实现,其中有一个或者更多订阅者订阅一个发布者节点上的一个或者更多发布。订阅者从它们所订阅的发布拉取数据。实现集群间的数据实时同步。客户价值发布订阅的典型使用场景是:......
  • openGauss-反向迁移gs_replicate
    openGauss-反向迁移gs_replicate特性简介支持openGauss的增量数据在线迁移至MySQL。客户价值反向迁移是指用户将源端数据库迁移到目标数据库,应用切到目标数据库后,再将目标端新产生的数据迁移回源端。反向迁移可满足用户业务迁移逃生的诉求,保持源端、目标端两个库并行运行,在目......
  • openGauss-反向全量迁移
    openGauss-反向全量迁移特性简介本特性自openGauss5.1.0版本开始引入,支持openGauss的全量数据迁移至MySQL。客户价值反向迁移可满足用户业务迁移逃生的诉求。实现openGauss数据库全量数据迁移至MySQL数据库,可最大程度保持兼容性。特性描述debeziumopengaussconnector的s......
  • openGauss-大页内存
    openGauss-大页内存可获得性本特性自openGauss5.1.0版本开始引入。特性简介通过操作系统大页内存的使用,优化数据库的共享内存,提升在大内存环境下数据库的性能表现。客户价值提升客户在大内存生产环境下数据库的性能表现。特性描述操作系统页表所需空间会随着运行环境总......
  • openGauss-动态数据脱敏机制
    openGauss-动态数据脱敏机制可获得性本特性自openGauss1.1.0版本开始引入。特性简介数据脱敏是行之有效的数据库隐私保护方案之一,可以在一定程度上限制非授权用户对隐私数据的窥探。动态数据脱敏机制是一种通过定制化制定脱敏策略从而实现对隐私数据保护的一种技术,可以有效......
  • 分区
    1、查看新增硬盘lsblk2、给新增硬盘分区 n:添加 d:删除fdisk/dev/sdbn默认默认wq保存3、将新增的分区创建物理卷pvcreate/dev/sdb14、显示当前lvm卷组信息vgdisplay-v5、将新物理卷扩展到卷组vgextendcentos/dev/sdb16、将所有空闲空间扩展到root分区lvextend-l+100%F......
  • openGauss-外键锁增强
    openGauss-外键锁增强可获得性本特性自openGauss3.0.0版本开始引入。特性简介新增两类行锁,由share和update锁扩展到keyshare、share、nokeyupdate和update。非主键的更新获取的是nokeyupdate锁,外键触发器获取的行锁为keyshare锁,这两种类型的锁互不冲突,以此提升了外键......
  • openGauss-数据校验gs_datacheck
    openGauss-数据校验gs_datacheck可获得性本特性自openGauss3.0.0版本开始引入。特性简介gs_datacheck工具是一个基于JDK11+Springboot2.6.7框架实现openGauss/MySQL之间的同构与异构之间的数据校验。该工具提供了全量数据的校验以及增量数据的实时校验能力,可实现数据一......
  • openGauss-索引推荐
    openGauss-索引推荐可获得性本特性自openGauss1.1.0开始引入。特性简介本功能是一个覆盖多种任务级别和使用场景的数据库智能索引推荐工具,其具备单Query索引推荐功能、虚拟索引功能、workload级别索引推荐功能,可以为用户提供可靠的索引建议。客户价值为客户提供快速可靠的......