一种面向分析型数据库的列式内存缓冲区的建立方法技术

技术编号:40214415 阅读:24 留言:0更新日期:2024-02-02 22:22
本发明专利技术涉及数据库应用技术领域,具体地说,涉及一种面向分析型数据库的列式内存缓冲区的建立方法。包括数据组织格式、存储方法、数据存储格式与过滤方法、数据写入流程、数据查询流程、缓冲区数据持久化等步骤。本发明专利技术设计过建立内存缓冲区,能很好的适配分析型数据库的列式存储格式,彻底消除insert操作中产生的小文件,不再需要合并小文件操作,提高查询效率;采用Row Group的功能区划分方法,减少了大量数据写入、查询时的上锁操作,提高系统并发度;可以更好地利用内存的高效读写,用户可以同时使用内存缓冲区与文件系统中的数据,并且不会感知到其中差异;缓冲区采用列式存储格式与计算方式,还便于与分析型数据库的文件系统对接。

【技术实现步骤摘要】

本专利技术涉及数据库应用,具体地说,涉及一种面向分析型数据库的列式内存缓冲区的建立方法


技术介绍

1、分析型数据库的主要应用场景是针对海量历史数据进行商业智能(bi)、商业分析工作。由于数据实时性要求不高,数据写入不频繁,每次insert操作都会创建一个新的文件来存储数据,每个文件的大小只有几百字节。随着时间累计,会在系统中产生大量的小文件。而大量的小文件会给系统带来灾难性的后果,以hdfs系统举例,大量小文件会造成如下问题:

2、(1)加大了内存消耗:在hdfs中,会有统一的内存区域,用于存储文件的元信息,如地址、大小、分块等,每个对象大概占用150个字节。大量的小文件会消耗大量的内存资源用于管理文件元数据,性能会因此受到影响,内存容量严重制约了集群的倒退。

3、(2)数据的访问更加耗时:在hdfs中,每次文件的io操作都需要先读取文件的元数据信息。另外,访问大量的小文件需要大量的定位寻址操作,不断地在服务器间跳跃去检索小文件。io本身又是一种十分消耗资源的操作,小文件的频繁io会严重影响系统性能。

<p>4、(3)提高数本文档来自技高网...

【技术保护点】

1.一种面向分析型数据库的列式内存缓冲区的建立方法,其特征在于:先构建分析型数据库,并引入缓冲区;在执行insert操作时,数据不会直接写入到文件中,而是写入到缓冲区中;当缓冲区的数据量达到系统设置阈值时,才将缓冲区中的数据写入到一个文件中;具体建立方法包括如下步骤:

2.根据权利要求1所述的面向分析型数据库的列式内存缓冲区的建立方法,其特征在于:所述步骤S1中,所述数据组织格式具体为:分析型数据库以列为单位存储数据,缓冲区中的表也采用列式的组织格式,其中包含两个重要概念:

3.根据权利要求2所述的面向分析型数据库的列式内存缓冲区的建立方法,其特征在于:所述步骤S...

【技术特征摘要】

1.一种面向分析型数据库的列式内存缓冲区的建立方法,其特征在于:先构建分析型数据库,并引入缓冲区;在执行insert操作时,数据不会直接写入到文件中,而是写入到缓冲区中;当缓冲区的数据量达到系统设置阈值时,才将缓冲区中的数据写入到一个文件中;具体建立方法包括如下步骤:

2.根据权利要求1所述的面向分析型数据库的列式内存缓冲区的建立方法,其特征在于:所述步骤s1中,所述数据组织格式具体为:分析型数据库以列为单位存储数据,缓冲区中的表也采用列式的组织格式,其中包含两个重要概念:

3.根据权利要求2所述的面向分析型数据库的列式内存缓冲区的建立方法,其特征在于:所述步骤s2中,所述存储方法具体为:数据以column chunk为基础存储单元,通过一种开源的kv存储计算引擎以key-value的形式存储在内存中;其中,具体格式为:

4.根据权利要求3所述的面向分析型数据库的列式内存缓冲区的建立方法,其特征在于:所述步骤s3中,所述数据存储格式与过滤方法具体包括:column chunk以apache arrowvector为数据存储格式,arrow vector支持向量化计算,以大幅提高cpu指令效率;

5.根据权利要求4所述的面向分析型数据库的列式内存缓冲区的建立方法,其特征在于:所...

【专利技术属性】
技术研发人员:韩冬
申请(专利权)人:北京傲韦科技有限公司
类型:发明
国别省市:

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

1