一种基于openGauss数据库的分区表数据加载方法技术

技术编号:36953551 阅读:29 留言:0更新日期:2023-03-22 19:14
本发明专利技术涉及数据库加载技术领域,提供一种基于openGauss数据库的分区表数据加载方法,包括:在分区表中为每个分区创建缓存队列;加载线程根据规则为数据匹配所属分区,将数据写入对应分区的缓存队列中;为缓存队列设置阈值,在加载过程中实时检查缓存队列,根据设置的阈值对缓存队列中数据写入分区进行控制;为分区设置分区阈值,根据分区阈值控制分区的打开和关闭。根据本发明专利技术示例性实施例的基于openGauss数据库的分区表数据加载方法,可以节省IO资源,灵活配置多线程的数据加载,提升分区表加载速度。分区表加载速度。分区表加载速度。

【技术实现步骤摘要】
一种基于openGauss数据库的分区表数据加载方法


[0001]本专利技术涉及数据库加载
,尤其涉及一种基于openGauss数据库的分区表数据加载方法。

技术介绍

[0002]如图1所示,分区表将大表的数据分成称为分区的许多小的子集,是现代数据库普遍支持的一种技术。根据分区表的内部属性,可以将分区表分为range(范围)分区表、list(列表)分区表和hash(散列)分区表。
[0003]如图2所示,通常情况下,直接将加载线程产生的数据写入大表,数据库根据规则判断每条数据应该写入哪个分区。在实际应用中,需要加载的数据根据分区规则,可能插入分区之中的任意一个,也可能只需要插入部分分区,加载时需要打开访问数量不定的若干分区。当用户导入大量数据库到openGauss数据库的分区表时,每个分区都可能需要打开,而有些分区打开后又都有可能长时间不再有数据进入,同时打开大量分区又会造成系统资源浪费。同时,由于数据在各分区间分散,造成磁盘的随机访问,单独每个分区的写入又容易处于不饱和状态,每次写入产生的IO数量很低,依然是系统资源的浪费。...

【技术保护点】

【技术特征摘要】
1.一种基于openGauss数据库的分区表数据加载方法,其特征在于,所述方法包括:在分区表中为每个分区创建缓存队列;加载线程根据规则为数据匹配所属分区,将数据写入对应分区的缓存队列中;为缓存队列设置阈值,在加载过程中实时检查缓存队列,根据设置的阈值对缓存队列中数据写入分区进行控制;为分区设置分区阈值,根据分区阈值控制分区的打开和关闭。2.根据权利要求1所述的基于openGauss数据库的分区表数据加载方法,其特征在于,加载线程根据规则为数据匹配所属分区,包括:加载线程启动时,从系统表中获取分区表规则,根据获取的分区表规则为数据匹配对应的分区。3.根据权利要求1所述的基于openGauss数据库的分区表数据加载方法,其特征在于,为缓存队列设置阈值,包括:为缓存队列设置数量阈值和时间阈值。4.根据权利要求3所述的基于openGauss数据库的分区表数据加载方法,其特征在于,根据设置的阈值对缓存队列中数据写入分区进行控制,包括:当缓存队列中积累的数据超过数量阈值,将缓存队列中的数据写入对应的分区;当缓存队列中数据积累超过时间阈值,将缓存队列中的数据写入对应的分区。5.根据权利要求1所述的基于openGauss数据库的分区表数据加载方法,其特征在于,为分区设置分区阈值,根据分...

【专利技术属性】
技术研发人员:权宗亮何小栋
申请(专利权)人:广州海量数据库技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1