【技术实现步骤摘要】
一种基于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数据库的分区表数据加载方法,其特征在于,为分区设置分区阈值,根据分...
【专利技术属性】
技术研发人员:权宗亮,何小栋,
申请(专利权)人:广州海量数据库技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。