【技术实现步骤摘要】
一种基于持久性内存的列式存储方法、装置及设备
本申请涉及存储
,特别涉及一种基于持久性内存的列式存储方法、装置、设备及可读存储介质。
技术介绍
当今的数据处理大致可以分为两类,即联机事务处理(OLTP)和联机分析处理(OLAP)。传统关系型数据库的主要面向OLTP,用来执行一些基本的、即时的事务处理,如数据库记录的增、删、改、查等;而分布式数据处理系统主要面向OLAP,它对实时性要求较低,但处理的数据量大,通常用于复杂的数据分析与批量报表上。传统的关系型数据库如Oracle、MySQL等采用行式存储法(Row-based),在基于行式存储的数据库中,数据是按照行数据为基础逻辑存储单元进行存储的,一行中的数据在存储介质中以连续存储形式存在。列式存储(Column-based)是相对于行式存储来说的,HBase、ORC、Parquet等均采用列式存储。在基于列式存储的数据库或文件存储中,数据是按照列为基础逻辑存储单元进行存储的,一列中的数据在存储介质中以连续存储形式存在。目前,列式存储都是基于普通的 ...
【技术保护点】
1.一种基于持久性内存的列式存储方法,其特征在于,包括:/n对待存储的格式化文件进行划分,每预设数量的行划分为一个行组;对所述行组进行划分,每一列作为一个列块;/n将所述列块转换为哈希结构数据,将所述哈希结构数据写入持久性内存中;/n根据文件划分情况生成所述格式化文件的元数据,其中所述元数据包括所述格式化文件中各个行组的标识信息、各个行组在所述格式化文件中的位置信息,还包括所述行组中各个列块的标识信息、各个列块在所述行组中的位置信息;/n根据列块的实际数据中各个元素是否为空,生成所述列块的位图索引数据。/n
【技术特征摘要】
1.一种基于持久性内存的列式存储方法,其特征在于,包括:
对待存储的格式化文件进行划分,每预设数量的行划分为一个行组;对所述行组进行划分,每一列作为一个列块;
将所述列块转换为哈希结构数据,将所述哈希结构数据写入持久性内存中;
根据文件划分情况生成所述格式化文件的元数据,其中所述元数据包括所述格式化文件中各个行组的标识信息、各个行组在所述格式化文件中的位置信息,还包括所述行组中各个列块的标识信息、各个列块在所述行组中的位置信息;
根据列块的实际数据中各个元素是否为空,生成所述列块的位图索引数据。
2.如权利要求1所述的基于持久性内存的列式存储方法,其特征在于,所述将所述列块转换为哈希结构数据,将所述哈希结构数据写入持久性内存中,包括:
以所述列块的列名和行组序号为键,以所述列块的实际数据为值,将所述列块转换为哈希结构数据,将所述哈希结构数据写入持久性内存中。
3.如权利要求2所述的基于持久性内存的列式存储方法,其特征在于,所述将所述哈希结构数据写入持久性内存中,包括:
对所述哈希结构数据中的值进行编码压缩,将编码压缩后的哈希结构数据写入持久性内存中。
4.如权利要求2所述的基于持久性内存的列式存储方法,其特征在于,所述将所述哈希结构数据写入持久性内存中,包括:
利用持久性内存开发套件中的操作函数,将所述哈希结构数据写入持久性内存中。
5.如权利要求2所述的基于持久性内存的列式存储方法,其特征在于,所述将所述列块转换为哈希结构数据,将所述哈希结构数据写入持久性内存中,包括:
将所述列块转换为并发哈希结构数据,将所述并发哈希结构数据写入持久性内存中。
6.如权利要求1-5任意一项所述的基于持久性内存的列式存储方法,其特征在于,所述根据文件划分情况生成所述格式化文件的元数据,包括:
根据文件划分情况生成所述格式化文件的元数据,其中所述元数据还包括所述列块的空值标志位,所述空值标志位用于表示列块的值全部为空。
7.如权利要求6所述的基于持久性内存的列式存储方法,其特征在于,在所述根据文件划分情况生成所述格式化文件的元数据之后,还包括:
将所述元数据存储至类二维数组中。
8.一种基于持久性内存的列式存储装置,其特征在于,包括:
行组键值化模块,包括:
文件划分单元:用于对待存储的格式化文件进行划分,每预...
【专利技术属性】
技术研发人员:秦朝阳,
申请(专利权)人:苏州浪潮智能科技有限公司,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。