CN105408893B - 一种数据处理和写入方法及相关装置 - Google Patents
一种数据处理和写入方法及相关装置 Download PDFInfo
- Publication number
- CN105408893B CN105408893B CN201480001004.XA CN201480001004A CN105408893B CN 105408893 B CN105408893 B CN 105408893B CN 201480001004 A CN201480001004 A CN 201480001004A CN 105408893 B CN105408893 B CN 105408893B
- Authority
- CN
- China
- Prior art keywords
- data
- column
- segmentation
- standard
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/221—Column-oriented storage; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2372—Updates performed during offline database operations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种数据处理方法,数据写入方法,相关装置和设备。数据处理方法包括:获取列存储数据库中数据表的待存储数据;根据分配的磁盘柱面的空间,对所述待存储数据进行划分/或组合;将所述待存储数据的同一行数据存储在同一个磁盘柱面中,并在所述磁盘柱面中对每一列分段中的数据进行连续存储。解决了现有技术中列数据库在运行时写入速度慢的技术问题,大大提高列存储数据库的写入效率,另外还可以通过硬件标定直接并行读入或写入。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种数据处理方法、数据写入方法及相关装置。
背景技术
列存储数据库是一种查询速度很快的数据库,它通过将关系数据库中的一个表relation拆分为多个纵列column分别存储从而使得数据库可以在查询时一次读入一整列的数据;其好处是可以降低数据库投影运算的消耗:在查询时,不用读取整个relation数据,只需要读取对应的列,大幅降低了读取IO的数量;但是列数据库的存储方式导致列数据库的写操作要慢于传统的行式数据库;
现有的列存储技术是将关系数据库的列拆分出来单独存放,那么在进行行写入时,需要同时修改所有的列,然而因为列被拆分存储了,造成行写入硬盘需要进行多次寻址,写入效率相当于随机写,该随机写速度会远慢于连续写,从而使列存储数据库写入效率很低。
发明内容
本发明实施例所要解决的技术问题在于,提供一种数据处理方法、数据写入方法及相关装置,解决了现有技术中列数据库在运行时写入速度慢的技术问题,大大提高列存储数据库的写入效率。
第一方面,本发明实施例提供了一种数据处理方法,包括:
获取列存储数据库中数据表的待存储数据;
根据分配的磁盘柱面的空间,对所述待存储数据进行划分和/或组合;将所述待存储数据的同一行数据存储在同一个磁盘柱面中,并在所述磁盘柱面中对每一列分段中的数据进行连续存储。
结合第一方面,在第一种可能的实现方式中,所述根据分配的磁盘柱面的空间,对所述待存储数据进行划分和/或组合包括:
根据设定的存放列宽和所述待存储数据的列属性,确定需要分配的磁盘柱面的连续空间;
根据所述存放列宽对所述待存储数据的所有列进行拆分和/或合并,转化为至少一个标准列,并记录转化信息;所述标准列的列宽为所述存放列宽;
根据分配的磁盘柱面的连续空间和设定的分段存放大小,将转化后的每个标准列划分出至少一个分段,划分出的每一个分段的大小为所述设定的分段存放大小。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述根据设定的存放列宽和所述待存储数据的列属性,确定需要分配的磁盘柱面的连续空间包括:
根据设定的存放列宽和所述待存储数据的列属性,计算需要标准列的数量;
根据计算出的需要标准列的数量和设定的分段存放大小,确定需要分配的磁盘柱面的连续空间。
结合第一方面的第一种可能的实现方式,或者第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述将所述待存储数据的同一行数据存储在同一个磁盘柱面中,并在所述磁盘柱面中对每一列分段中的数据进行连续存储包括:
按照转化后的每个标准列的列顺序,依次将每个标准列的一个分段存储在所述分配的磁盘柱面中,且每个分段中的数据按顺序连续存储;其中,同一个磁盘柱面中的所有分段数据的数据行数相同。
结合第一方面的第一种可能的实现方式,或者第一方面的第二种可能的实现方式,在第四种可能的实现方式中,当本端设备包括至少两个盘片时,所述将所述待存储数据的同一行数据存储在同一个磁盘柱面中,并在所述磁盘柱面中对每一列分段中的数据进行连续存储包括:
通过硬件标定构成同一个物理柱面的不同盘片的起始位置,其中每个盘片上的起始位置在所述同一个物理柱面上对齐;
在所述同一个物理柱面上的每个盘片以所述起始位置开始,同时存入转化后的每个标准列的分段,且每个分段中的数据按顺序连续存储;其中,所有分段数据的数据行数相同。
结合第一方面的第三种可能的实现方式,在第五种可能的实现方式中,当每个标准列划分出至少两个分段时,所述按照转化后的每个标准列的列顺序,依次将每个标准列的一个分段存储在所述分配的磁盘柱面中包括:
按照转化后的每个标准列的列顺序,依次将每个标准列的一个分段存储在所述分配的磁盘柱面后,再依次将每个标准列的下一个分段存储在所述分配的磁盘柱面中。
结合第一方面,或者第一方面的第一种可能的实现方式,或者第一方面的第二种可能的实现方式,或者第一方面的第三种可能的实现方式,或者第一方面的第四种可能的实现方式,或者第一方面的第五种可能的实现方式,在第六种可能的实现方式中,当本端设备为裸设备时,所述磁盘柱面为至少一个连续的逻辑柱面;或
当本端设备包括至少两个盘片时,所述磁盘柱面为所述至少两个盘片构成的物理柱面。
结合第一方面的第一种可能的实现方式,或者第一方面的第二种可能的实现方式,或者第一方面的第三种可能的实现方式,或者第一方面的第四种可能的实现方式,或者第一方面的第五种可能的实现方式,在第七种可能的实现方式中,所述方法还包括:生成标准列管理表,用于存储设定的存放列宽信息、各标准列对应的分段信息以及每个分段的起始位置信息。
结合第一方面的第一种可能的实现方式,或者第一方面的第二种可能的实现方式,或者第一方面的第三种可能的实现方式,或者第一方面的第四种可能的实现方式,或者第一方面的第五种可能的实现方式,或者第一方面的第六种可能的实现方式,或者第一方面的第七种可能的实现方式,在第八种可能的实现方式中,所述方法还包括:
获取所述待读取数据对应的分段起始信息以及转化信息;
根据所述分段起始信息,利用所述转化信息读取对应的数据。
结合第一方面的第八种可能的实现方式,在第九种可能的实现方式中,所述获取所述待读取数据对应的分段起始信息以及转化信息包括:
从数据库列信息表或磁盘管理信息表中查找所述待读取数据对应的标准列信息以及转化信息;
从标准列管理表中获取查找到的标准列对应的各个分段起始信息。
第二方面,本发明实施例提供了数据写入方法,包括:
确定向存储数据中写入行数据的行号;所述存储数据以第一方面的第二种可能的实现方式的数据处理方法进行存储;
根据所述行号查找待写入行数据在所述存储数据中所属的分段位置;并根据设定的存放列宽编辑所述待写入行数据,以符合所述存储数据的格式;
在同一个磁盘柱面中,根据所述分段位置在每一个标准列的分段中对应写入行数据。
结合第二方面,在第一种可能的实现方式中,所述根据所述行号查找待写入行数据在所述存储数据中所属的分段位置包括:
根据所述行号,从数据库列信息表或磁盘管理信息表中查找所述待写入行数据在所述存储数据中所属的分段;
从标准列管理表中获取所述查找出的分段对应的起始信息。
结合第二方面,在第二种可能的实现方式中,当本端设备包括至少两个盘片时,所述根据所述行号查找待写入行数据在所述存储数据中所属的分段位置包括:
获取通过硬件标定构成同一个物理柱面的不同盘片的起始位置,其中每个盘片上的起始位置在所述同一个物理柱面上对齐;
根据所述起始位置和所述行号,查找待写入行数据在所述存储数据中所属的分段的起始位置。
第三方面,本发明实施例提供了一种数据处理装置,包括:
数据获取模块,用于获取列存储数据库中数据表的待存储数据;
编辑存储模块,用于根据分配的磁盘柱面的空间,对所述待存储数据进行划分和/或组合;将所述待存储数据的同一行数据存储在同一个磁盘柱面中,并在所述磁盘柱面中对每一列分段中的数据进行连续存储。
结合第三方面,在第一种可能的实现方式中,所述编辑存储模块包括:
空间确定单元,用于根据设定的存放列宽和所述待存储数据的列属性,确定需要分配的磁盘柱面的连续空间;
转化单元,用于根据所述存放列宽对所述待存储数据的所有列进行拆分和/或合并,转化为至少一个标准列,并记录转化信息;所述标准列的列宽为所述存放列宽;
分段划分单元,用于根据分配的磁盘柱面的连续空间和设定的分段存放大小,将转化后的每个标准列划分出至少一个分段,划分出的每一个分段的大小为所述设定的分段存放大小。
结合第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述空间确定单元包括:
第一计算单元,用于根据设定的存放列宽和所述待存储数据的列属性,计算需要标准列的数量;
第一确定单元,用于根据计算出的需要标准列的数量和设定的分段存放大小,确定需要分配的磁盘柱面的连续空间。
结合第三方面的第一种可能的实现方式,或者第三方面的第二种可能的实现方式,在第三种可能的实现方式中,所述编辑存储模块还包括:
第一分段存储单元,用于按照转化后的每个标准列的列顺序,依次将每个标准列的一个分段存储在所述分配的磁盘柱面中,且每个分段中的数据按顺序连续存储;其中,同一个磁盘柱面中的所有分段数据的数据行数相同。
结合第三方面的第一种可能的实现方式,或者第三方面的第二种可能的实现方式,在第四种可能的实现方式中,当所述数据处理装置包括至少两个盘片时,所述编辑存储模块还包括:
硬件标定单元,用于通过硬件标定构成同一个物理柱面的不同盘片的起始位置,其中每个盘片上的起始位置在所述同一个物理柱面上对齐;
第二分段存储单元,用于在所述同一个物理柱面上的每个盘片以所述起始位置开始,同时存入转化后的每个标准列的分段,且每个分段中的数据按顺序连续存储;其中,所有分段数据的数据行数相同。
结合第三方面的第三种可能的实现方式,在第五种可能的实现方式中,当每个标准列划分出至少两个分段时,所述第一分段存储单元具体用于:
按照转化后的每个标准列的列顺序,依次将每个标准列的一个分段存储在所述分配的磁盘柱面后,再依次将每个标准列的下一个分段存储在所述分配的磁盘柱面中,且每个分段中的数据按顺序连续存储;其中,同一个磁盘柱面中的所有分段数据的数据行数相同。
结合第三方面,或者第三方面的第一种可能的实现方式,或者第三方面的第二种可能的实现方式,或者第三方面的第三种可能的实现方式,或者第三方面的第四种可能的实现方式,或者第三方面的第五种可能的实现方式,在第六种可能的实现方式中,当所述数据处理装置为裸设备时,所述磁盘柱面为至少一个连续的逻辑柱面;或
当所述数据处理装置包括至少两个盘片时,所述磁盘柱面为所述至少两个盘片构成的物理柱面。
结合第三方面的第一种可能的实现方式,或者第三方面的第二种可能的实现方式,或者第三方面的第三种可能的实现方式,或者第三方面的第四种可能的实现方式,或者第三方面的第五种可能的实现方式,在第七种可能的实现方式中,所述数据处理装置还包括:
标准列管理表生成模块,用于生成标准列管理表,用于存储设定的存放列宽信息、各标准列对应的分段信息以及每个分段的起始位置信息。
结合第三方面的第一种可能的实现方式,或者第三方面的第二种可能的实现方式,或者第三方面的第三种可能的实现方式,或者第三方面的第四种可能的实现方式,或者第三方面的第五种可能的实现方式,或者第三方面的第六种可能的实现方式,或者第三方面的第七种可能的实现方式,在第八种可能的实现方式中,所述数据处理装置还包括:
起始信息获取模块,用于获取所述待读取数据对应的分段起始信息以及转化信息;
数据读取模块,用于根据所述分段起始信息,利用所述转化信息读取对应的数据。
结合第三方面的第八种可能的实现方式,在第九种可能的实现方式中,所述起始信息获取模块包括:
第一查找单元,用于从数据库列信息表或磁盘管理信息表中查找所述待读取数据对应的标准列信息以及转化信息;
第一获取单元,用于从标准列管理表中获取查找到的标准列对应的各个分段起始信息。
第四方面,本发明实施例提供了一种数据写入装置,包括:
行号确定模块,用于确定向存储数据中写入行数据的行号;所述存储数据以上述第四方面的第一种可能的实现方式中的数据处理装置进行存储;
分段位置查找模块,用于根据所述行号查找待写入行数据在所述存储数据中所属的分段位置;
行数据编辑模块,用于根据设定的存放列宽编辑所述待写入行数据,以符合所述存储数据的格式;
行写入模块,用于在同一个磁盘柱面中,根据所述分段位置在每一个标准列的分段中对应写入行数据。
结合第四方面,在第一种可能的实现方式中,所述分段位置查找模块包括:
第二查找单元,用于根据所述行号,从数据库列信息表或磁盘管理信息表中查找所述待写入行数据在所述存储数据中所属的分段;
第三查找单元,用于从标准列管理表中获取所述查找出的分段对应的起始信息。
结合第四方面,在第二种可能的实现方式中,当所述数据写入装置包括至少两个盘片时,所述分段位置查找模块包括:
第二获取单元,用于获取通过硬件标定构成同一个物理柱面的不同盘片的起始位置,其中每个盘片上的起始位置在所述同一个物理柱面上对齐;
第四查找单元,用于根据所述起始位置和所述行号,查找待写入行数据在所述存储数据中所属的分段的起始位置。
第五方面,本发明实施例提供了一种电子设备,包括:输入装置、输出装置、存储器和处理器;
其中,所述处理器执行如下步骤:
获取列存储数据库中数据表的待存储数据;根据分配的磁盘柱面的空间,对所述待存储数据进行划分和/或组合;将所述待存储数据的同一行数据存储在同一个磁盘柱面中,并在所述磁盘柱面中对每一列分段中的数据进行连续存储。
结合第五方面,在第一种可能的实现方式中,所述处理器根据分配的磁盘柱面的空间,对所述待存储数据进行划分和/或组合包括:
根据设定的存放列宽和所述待存储数据的列属性,确定需要分配的磁盘柱面的连续空间;根据所述存放列宽对所述待存储数据的所有列进行拆分和/或合并,转化为至少一个标准列,并记录转化信息;所述标准列的列宽为所述存放列宽;根据分配的磁盘柱面的连续空间和设定的分段存放大小,将转化后的每个标准列划分出至少一个分段,划分出的每一个分段的大小为所述设定的分段存放大小。
结合第五方面的第一种可能的实现方式,在第二种可能的实现方式中,所述处理器根据设定的存放列宽和所述待存储数据的列属性,确定需要分配的磁盘柱面的连续空间包括:
根据设定的存放列宽和所述待存储数据的列属性,计算需要标准列的数量;根据计算出的需要标准列的数量和设定的分段存放大小,确定需要分配的磁盘柱面的连续空间。
结合第五方面的第一种可能的实现方式,或者第五方面的第二种可能的实现方式,在第三种可能的实现方式中,所述处理器将所述待存储数据的同一行数据存储在同一个磁盘柱面中,并在所述磁盘柱面中对每一列分段中的数据进行连续存储包括:
按照转化后的每个标准列的列顺序,依次将每个标准列的一个分段存储在所述分配的磁盘柱面中,且每个分段中的数据按顺序连续存储;其中,同一个磁盘柱面中的所有分段数据的数据行数相同。
结合第五方面的第一种可能的实现方式,或者第五方面的第二种可能的实现方式,在第四种可能的实现方式中,所述电子设备包括至少两个盘片时,所述处理器将所述待存储数据的同一行数据存储在同一个磁盘柱面中,并在所述磁盘柱面中对每一列分段中的数据进行连续存储包括:
通过硬件标定构成同一个物理柱面的不同盘片的起始位置,其中每个盘片上的起始位置在所述同一个物理柱面上对齐;
在所述同一个物理柱面上的每个盘片以所述起始位置开始,同时存入转化后的每个标准列的分段,且每个分段中的数据按顺序连续存储;其中,所有分段数据的数据行数相同。
结合第五方面的第三种可能的实现方式,在第五种可能的实现方式中,当每个标准列划分出至少两个分段时,所述处理器按照转化后的每个标准列的列顺序,依次将每个标准列的一个分段存储在所述分配的磁盘柱面中包括:
按照转化后的每个标准列的列顺序,依次将每个标准列的一个分段存储在所述分配的磁盘柱面后,再依次将每个标准列的下一个分段存储在所述分配的磁盘柱面中。
结合第五方面,或者第五方面的第一种可能的实现方式,或者第五方面的第二种可能的实现方式,或者第五方面的第三种可能的实现方式,或者第五方面的第四种可能的实现方式,或者第五方面的第五种可能的实现方式,在第六种可能的实现方式中,当所述电子设备为裸设备时,所述磁盘柱面为至少一个连续的逻辑柱面;或
当所述电子设备包括至少两个盘片时,所述磁盘柱面为所述至少两个盘片构成的物理柱面。
结合第五方面的第一种可能的实现方式,或者第五方面的第二种可能的实现方式,或者第五方面的第三种可能的实现方式,或者第五方面的第四种可能的实现方式,或者第五方面的第五种可能的实现方式,在第七种可能的实现方式中,所述处理器还执行:
生成标准列管理表,用于存储设定的存放列宽信息、各标准列对应的分段信息以及每个分段的起始位置信息。
结合第五方面的第一种可能的实现方式,或者第五方面的第二种可能的实现方式,或者第五方面的第三种可能的实现方式,或者第五方面的第四种可能的实现方式,或者第五方面的第五种可能的实现方式,或者第五方面的第六种可能的实现方式,或者第五方面的第七种可能的实现方式,在第八种可能的实现方式中,所述处理器还执行如下步骤:
获取所述待读取数据对应的分段起始信息以及转化信息;根据所述分段起始信息,利用所述转化信息读取对应的数据。
结合第五方面的第八种可能的实现方式,在第九种可能的实现方式中,所述处理器获取所述待读取数据对应的分段起始信息以及转化信息包括:
从数据库列信息表或磁盘管理信息表中查找所述待读取数据对应的标准列信息以及转化信息;从标准列管理表中获取查找到的标准列对应的各个分段起始信息。
第六方面,本发明实施例提供了一种电子设备,包括:输入装置、输出装置、存储器和处理器;
其中,所述处理器执行如下步骤:
确定向存储数据中写入行数据的行号;所述存储数据以上述第一方面的第一可能的实现方式中的数据处理方法进行存储;根据所述行号查找待写入行数据在所述存储数据中所属的分段位置;并根据设定的存放列宽编辑所述待写入行数据,以符合所述存储数据的格式;在同一个磁盘柱面中,根据所述分段位置在每一个标准列的分段中对应写入行数据。
结合第六方面,在第一种可能的实现方式中,所述处理器根据所述行号查找待写入行数据在所述存储数据中所属的分段位置包括:
根据所述行号,从数据库列信息表或磁盘管理信息表中查找所述待写入行数据在所述存储数据中所属的分段;从标准列管理表中获取所述查找出的分段对应的起始信息。
结合第六方面,在第二种可能的实现方式中,当所述电子设备包括至少两个盘片时,所述处理器根据所述行号查找待写入行数据在所述存储数据中所属的分段位置包括:
获取通过硬件标定构成同一个物理柱面的不同盘片的起始位置,其中每个盘片上的起始位置在所述同一个物理柱面上对齐;根据所述起始位置和所述行号,查找待写入行数据在所述存储数据中所属的分段的起始位置。
通过实施本发明实施例,将所述待存储数据的同一行数据存储在同一个磁盘柱面中,并在所述磁盘柱面中对每一列分段中的数据进行连续存储,磁盘只需一次旋转寻址即可完成行写入,写入性能接近连续写,解决了现有技术中列数据库在运行时写入速度慢的技术问题,大大提高列存储数据库的写入效率;另外还可以通过硬件标定,使得标准列在盘片之间是对齐的,那么当需要读取或者写入同一行但是不同列的数据时,由于所有磁头在物理位置上是对齐的,可以直接并行读入或者写入;同时每一列的数据仍然在同一盘片上保持连续,读或者写一列数据仍旧是连续读的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的数据处理方法的第一实施例的流程示意图;
图2是本发明提供的数据处理方法的第二实施例的流程示意图;
图3是本发明实施例的标准列拆分和/或合并的原理示意图;
图4是本发明提供的数据处理方法的原理示意图;
图5是本发明实施例的基于多盘片系统的数据处理方法的原理示意图;
图6是本发明实施例提供的数据读取方法的流程示意图;
图7是本发明实施例提供的数据写入方法的流程示意图;
图8是本发明实施例提供的数据处理装置的结构示意图;
图9是本发明的编辑存储模块的第一实施例的结构示意图;
图10是本发明实施例的空间确定单元的结构示意图;
图11是本发明的编辑存储模块的第二实施例的结构示意图;
图12是本发明的编辑存储模块的第三实施例的结构示意图;
图13是本发明实施例提供的起始信息获取模块的结构示意图;
图14是本发明实施例提供的数据写入装置的结构示意图;
图15是本发明提供的分段位置查找模块的第一实施例的结构示意图;
图16是本发明提供的分段位置查找模块的第二实施例的结构示意图;
图17是本发明的电子设备的第一实施例的结构示意图;
图18是本发明的电子设备的第二实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,是本发明提供的数据处理方法的第一实施例的流程示意图,该方法包括:
步骤S100:获取列存储数据库中数据表的待存储数据;
步骤S102:根据分配的磁盘柱面的空间,对所述待存储数据进行划分和/或组合;将所述待存储数据的同一行数据存储在同一个磁盘柱面中,并在所述磁盘柱面中对每一列分段中的数据进行连续存储。
具体地,获取同一个数据表的待存储数据,通过对待存储数据进行划分和/或组合,将同一个数据表中的同一行数据存储在同一个磁盘柱面中,那么当后续需要进行行写入或行读取时,只需将磁盘旋转一圈即可完成数据的行写入或行读取,可大大提高列存储数据库的写入效率;并且,通过在所述磁盘柱面中对每一列分段中的数据进行连续存储,因此不会对列存储原有优势的列读取速度产生影响。
进一步地,如图2示出的本发明提供的数据处理方法的第二实施例的流程示意图,详细说明本发明的实施方式,包括:
步骤S200:获取列存储数据库中同一个数据表的待存储数据;
步骤S202:根据设定的存放列宽和所述待存储数据的列属性,确定需要分配的磁盘柱面的连续空间;
具体地,列属性包括各列的宽度信息,可以根据设定的存放列宽和所述待存储数据的列属性,计算需要标准列的数量;然后根据计算出的需要标准列的数量和设定的分段存放大小,确定需要一次分配的磁盘柱面的连续空间;进一步地:
用户可以根据需求设定存放列宽和分段存放大小,该存放列宽可以看作标准列宽,用于按照该标准列宽对该待存储数据进行拆分和/或合并;该分段存放大小可以看作标准列分段大小,用于按照该标准列分段大小对标准列进行划分,划分出至少一个分段;
假设本发明实施例基于文件系统,数据库表是以文件的形式存放在磁盘中的,每次向文件系统申请分配的一个逻辑柱面大小是固定大小(约为7.8MByte,即7.8MB)的连续空间;那么根据设定的存放列宽和待存储数据的列属性,可以先计算出需要多少个标准列,假设,设定的存放列宽(即标准列宽)为1Byte,待存储数据的所有列数的宽度共7Byte,那么可以计算出需要7个标准列;进一步假设设定的分段存放大小(即标准列分段)为1MB,那么每一个分段中的数据行数为100万行,假设待存储数据的行数为1000万行,那么每个标准列需要划分出10个分段;最终确定需要分配10个逻辑柱面大小的连续空间。需要说明的是,当基于文件系统分配多个的逻辑柱面时,每一个逻辑柱面的空间是连续的,但逻辑柱面与逻辑柱面之间可以连续也可以不连续;优选地,多个逻辑柱面之间为连续空间。
步骤S204:根据所述存放列宽对所述待存储数据的所有列进行拆分和/或合并,转化为至少一个标准列,并记录转化信息;所述标准列的列宽为所述存放列宽;
具体地,在实际的数据库应用中,不同的列的实际宽度是不相同的,所以本发明通过设定存放列宽(即标准列宽),对待存储数据的所有列尽心拆分和/或合并,让存放在底层的数据在宽度上可以保持一致;假设,设定的标准列宽为512Byte,如图3示出的本发明实施例的标准列拆分和/或合并的原理示意图,列1宽1024Byte,列2宽512Byte,列3宽256Byte,列4宽256Byte,那么可以将列1拆分成两个512Byte的标准列,列2不拆分,列3和列4合并为1个标准列,使得每一个数据的宽度上都保持一致,并记录转化信息(即记录掩码mask,后续用于读取数据)。
步骤S206:根据分配的磁盘柱面的连续空间和设定的分段存放大小,将转化后的每个标准列划分出至少一个分段,划分出的每一个分段的大小为所述设定的分段存放大小;
具体地,以步骤S202中的描述为例,基于文件系统,假如根据分配的磁盘柱面的连续空间和设定的分段存放大小,将转化后的每个标准列划分出10个分段,划分出的每一个分段的大小为设定的分段存放大小1MB,即可保证每一个分段数据中的行数相同。
步骤S208:按照转化后的每个标准列的列顺序,依次将每个标准列的一个分段存储在所述分配的磁盘柱面中,且每个分段中的数据按顺序连续存储;其中,同一个磁盘柱面中的所有分段数据的数据行数相同。
具体地,每个标准列划分出至少两个分段时,按照转化后的每个标准列的列顺序,依次将每个标准列的一个分段存储在所述分配的磁盘柱面后,再依次将每个标准列的下一个分段存储在所述分配的磁盘柱面中;
同样以步骤S202中的描述为例,基于文件系统,在第一个分配的逻辑柱面中依次存储标准列1的分段1,标准列2的分段1,标准列3的分段1,标准列4的分段1,标准列5的分段1,标准列6的分段1和标准列7的分段1,第二个分配的逻辑柱面中依次存储标准列1的分段2,标准列2的分段2,标准列3的分段2,标准列4的分段2,标准列5的分段2,标准列6的分段2和标准列7的分段2,依次类推,直到第十个分配的逻辑柱面中依次存储标准列1的分段10,标准列2的分段10,标准列3的分段10,标准列4的分段10,标准列5的分段10,标准列6的分段10和标准列7的分段10;即其中一个逻辑柱面的前7MB为标准列分段,剩余的约0.8MB用于记录其它信息(如删除标记等信息);另外,每一个分段中的数据是按照顺序连续存储的,即保证待存储数据中每标准列的分段中的数据是连续存放的,因此后续读取某一列的数据时,可以一次连续读取。
再进一步地,结合图4示出的本发明提供的数据处理方法的原理示意图,举例说明本发明实施例的具体实施方式:
假设分配的一个逻辑柱面起始为1号磁盘块,终止为30号磁盘块;经过步骤S202至步骤S206整理后的待存储数据有标准列1至标准列5,图n中显示的是标准列1至标准列5的分段1的数据,分段1中每一格数据的宽度一致;图n中完成了对待存储数据的同一行数据存储在同一个磁盘柱面中,并在所述磁盘柱面中对每一列分段中的数据进行连续存储,例如每一个标准列的第一行数据将分别存放在磁盘块1、7、13、19和25中,或每一个标准列的第三行数据分别存放在磁盘块3、9、15、21和27中;那么后续若要读取数据表中第一行数据时,只需磁盘旋转一圈即可取出该表中第一行的全部数据;且每一标准列的分段中数据时连续存放的(例如标准列1的分段1中连续存放在磁盘块1至6中),那么后续若要单独读取某一标准列的数据也是进行一次连续读即可完成。
可理解的,当本端设备为裸设备时,本发明实施例中的磁盘柱面为至少一个连续的逻辑柱面;具体地,裸设备即当前设备没有文件系统,可以直接读取硬盘块,即系统可以直接获取每一个逻辑柱面的起始块号并保存在磁盘首部,且每次给数据库分配的逻辑柱面是一个或多个连续的逻辑柱面;
再可理解的,当本端设备包括至少两个盘片时,本发明实施例中的磁盘柱面为所述至少两个盘片构成的物理柱面;如图5示出的本发明实施例的基于多盘片系统的数据处理方法的原理示意图,例如在同一物理柱面(柱面0中)针对不同盘片(盘片1、盘片2和盘片3),将待存储的同一行数据在纵向上对齐,而在同一盘片上,同一列数据仍保持连续,那么可以使得数据库可以对数据库的同一行的不同列进行并行读写;具体地:
当本端设备包括至少两个盘片时,步骤S208可以具体包括:通过硬件标定构成同一个物理柱面的不同盘片的起始位置,其中每个盘片上的起始位置在所述同一个物理柱面上对齐;在所述同一个物理柱面上的每个盘片以所述起始位置开始,同时存入转化后的每个标准列的分段,且每个分段中的数据按顺序连续存储;其中,所有分段数据的数据行数相同。其中,通过硬件标定构成同一个物理柱面的不同盘片的起始位置可以包括:将物理柱面的起始扇区与逻辑扇区号进行对应,根据物理磁头数计算每一个盘片在同一物理柱面的对齐位置的偏移扇区数,或者直接标记出每一个盘片在每一个物理柱面上的起始位置。
再进一步地,本发明实施例还可以包括:生成标准列管理表,用于存储设定的存放列宽信息、各标准列对应的分段信息以及每个分段的起始位置信息。具体地:
该各标准列对应的分段信息包括上述实施例中的记录转化信息(即mask信息),后续可以根据标准列管理表中存储的信息,查找到需要读取的数据在哪个标准列的哪个分段中,然后从查找到的分段的起始位置开始,读取数据;或,后续也可以根据标准列管理表中存储的信息,查找需要写入的数据位于哪个标准列的哪个分段中,然后通过查找到的分段的起始位置信息计算写入的便宜位置,进行数据的写入。
为了便于更好地实施本发明实施例的上述方案,下面结合图6示出的本发明实施例提供的数据读取方法的流程示意图,对应上述数据处理方法项来描述数据读取方法的实施方式,包括:
步骤S600:获取待读取数据对应的分段起始信息以及转化信息;
步骤S602:根据所述分段起始信息,利用所述转化信息读取对应的数据。
具体地,该待读取数据是通过上述数据处理方法的实施例进行了存储;可以从数据库列信息表或磁盘管理信息表中查找所述待读取数据对应的标准列信息以及转化信息,然后从标准列管理表中获取查找到的标准列对应的各个分段起始信息;详细地:
当本端为文件系统时,可以通过数据库列信息表查找所要读取的某列数据对应的标准列信息以及转化信息(即mask信息),即查找到要读取的某列数据所属的标准列,然后从标准列管理表中查找到所属的标准列对应的各个分段起始信息,然后读取对应数据并返回;
当本端为裸设备时,磁盘管理信息表记录有哪些逻辑柱面存放哪些数据以及存放该数据的顺序,系统可以在启动时将该磁盘管理信息表以及其它数据库的管理信息读入内存,查找出要读取的某列数据对应的标准列信息以及转化信息,然后从标准列管理表中查找到所属的标准列对应的各个分段起始信息,然后读取对应数据并返回。
可理解的,当本端包括多盘片系统时,可以直接获取标记的各个标准列的分段的起始位置以及记录的转化信息,结合标准列管理表查找到所属的标准列对应的各个分段起始信息,然后读取对应数据并返回。
为了便于更好地实施本发明实施例的上述方案,下面结合图7示出的本发明实施例提供的数据写入方法的流程示意图,对应上述数据处理方法项来描述数据写入方法的实施方式,包括:
步骤S700:确定向存储数据中写入行数据的行号;
具体地,所述存储数据是通过上述数据处理方法的实施例进行了存储;
步骤S702:根据所述行号查找待写入行数据在所述存储数据中所属的分段位置;并根据设定的存放列宽编辑所述待写入行数据,以符合所述存储数据的格式;
具体地,可以根据所述行号,从数据库列信息表或磁盘管理信息表中查找所述待写入行数据在所述存储数据中所属的分段,从标准列管理表中获取所述查找出的分段对应的起始信息;然后根据设定的存放列宽编辑所述待写入行数据,以符合所述存储数据的格式。
步骤S704:在同一个磁盘柱面中,根据所述分段位置在每一个标准列的分段中对应写入行数据。
具体地:当本端为文件系统时,可以根据所述行号和数据库列信息表中的信息,计算出待写入行数据在所述存储数据中所属的分段,从标准列管理表中获取所述查找出的分段对应的起始信息,然后根据设定的存放列宽编辑所述待写入行数据,以符合所述存储数据的格式,并计算出要写入的分段内的行的偏移位置,然后在每一个标准列的分段中对应写入行数据;
当本端为裸设备时,可以根据所述行号和磁盘管理信息表中的信息,计算出待写入行数据在所述存储数据中所属的分段,从标准列管理表中获取所述查找出的分段对应的起始信息,然后根据设定的存放列宽编辑所述待写入行数据,以符合所述存储数据的格式,并计算出要写入的分段内的行的偏移位置,然后在每一个标准列的分段中对应写入行数据;
当本端包括多盘片系统时,可以通过硬件标定构成同一个物理柱面的不同盘片的起始位置,其中每个盘片上的起始位置在所述同一个物理柱面上对齐,根据所述起始位置和所述行号,查找待写入行数据在所述存储数据中所属的分段的起始位置;即,可以直接获取标记的各个标准列的分段的起始位置,根据要写入的行号计算出待写入行数据在所述存储数据中所属的分段,从标准列管理表中获取所述查找出的分段对应的起始信息,然后根据设定的存放列宽编辑所述待写入行数据,以符合所述存储数据的格式,并计算出要写入的分段内的行的偏移位置,然后在每一个标准列的分段中对应写入行数据。
实施本发明实施例,通过将所述待存储数据的同一行数据存储在同一个磁盘柱面中,并在所述磁盘柱面中对每一列分段中的数据进行连续存储,磁盘只需一次旋转寻址即可完成行写入,写入性能接近连续写,解决了现有技术中列数据库在运行时写入速度慢的技术问题,大大提高列存储数据库的写入效率;另外还可以通过硬件标定,使得标准列在盘片之间是对齐的,那么当需要读取或者写入同一行但是不同列的数据时,由于所有磁头在物理位置上是对齐的,可以直接并行读入或者写入;同时每一列的数据仍然在同一盘片上保持连续,读或者写一列数据仍旧是连续读的效率。
为了便于更好地实施本发明实施例的上述方案,下面结合图8示出的本发明实施例提供的数据处理装置的结构示意图,对应上述方法项来描述装置项的实施方式,数据处理装置80包括:数据获取模块800和编辑存储模块802,其中
数据获取模块800用于获取列存储数据库中数据表的待存储数据;
编辑存储模块802用于根据分配的磁盘柱面的空间,对所述待存储数据进行划分和/或组合;将所述待存储数据的同一行数据存储在同一个磁盘柱面中,并在所述磁盘柱面中对每一列分段中的数据进行连续存储。
进一步地,如图9示出的本发明的编辑存储模块的第一实施例的结构示意图,编辑存储模块802包括:空间确定单元8020、转化单元8022和分段划分单元8024,其中
空间确定单元8020用于根据设定的存放列宽和所述待存储数据的列属性,确定需要分配的磁盘柱面的连续空间;
转化单元8022用于根据所述存放列宽对所述待存储数据的所有列进行拆分和/或合并,转化为至少一个标准列,并记录转化信息;所述标准列的列宽为所述存放列宽;
分段划分单元8024用于根据分配的磁盘柱面的连续空间和设定的分段存放大小,将转化后的每个标准列划分出至少一个分段,划分出的每一个分段的大小为所述设定的分段存放大小。
进一步地,如图10示出的本发明实施例的空间确定单元的结构示意图,空间确定单元8020包括第一计算单元80200和第一确定单元80202,其中
第一计算单元80200用于根据设定的存放列宽和所述待存储数据的列属性,计算需要标准列的数量;
第一确定单元80202用于根据计算出的需要标准列的数量和设定的分段存放大小,确定需要分配的磁盘柱面的连续空间。
进一步地,如图11示出的本发明的编辑存储模块的第二实施例的结构示意图,编辑存储模块802包括:空间确定单元8020、转化单元8022和分段划分单元8024外,还可以包括第一分段存储单元8026,用于按照转化后的每个标准列的列顺序,依次将每个标准列的一个分段存储在所述分配的磁盘柱面中,且每个分段中的数据按顺序连续存储;其中,同一个磁盘柱面中的所有分段数据的数据行数相同。具体地:
当每个标准列划分出至少两个分段时,第一分段存储单元8026具体用于:按照转化后的每个标准列的列顺序,依次将每个标准列的一个分段存储在所述分配的磁盘柱面后,再依次将每个标准列的下一个分段存储在所述分配的磁盘柱面中,且每个分段中的数据按顺序连续存储;其中,同一个磁盘柱面中的所有分段数据的数据行数相同。
进一步地,如图12示出的本发明的编辑存储模块的第三实施例的结构示意图,当数据处理装置80包括至少两个盘片时,编辑存储模块802包括:空间确定单元8020、转化单元8022和分段划分单元8024外,还可以包括:硬件标定单元8028和第二分段存储单元80210,其中
硬件标定单元8028用于通过硬件标定构成同一个物理柱面的不同盘片的起始位置,其中每个盘片上的起始位置在所述同一个物理柱面上对齐;
第二分段存储单元80210用于在所述同一个物理柱面上的每个盘片以所述起始位置开始,同时存入转化后的每个标准列的分段,且每个分段中的数据按顺序连续存储;其中,所有分段数据的数据行数相同。
需要说明的是,当数据处理装置80为裸设备时,所述磁盘柱面为至少一个连续的逻辑柱面;或当数据处理装置80包括至少两个盘片时,所述磁盘柱面为所述至少两个盘片构成的物理柱面。
再进一步地,数据处理装置80还可以包括标准列管理表生成模块,用于生成标准列管理表,用于存储设定的存放列宽信息、各标准列对应的分段信息以及每个分段的起始位置信息。
再进一步地,数据处理装置80还可以包括起始信息获取模块和数据读取模块,其中,起始信息获取模块用于获取所述待读取数据对应的分段起始信息以及转化信息;数据读取模块用于根据所述分段起始信息,利用所述转化信息读取对应的数据。
再进一步地,如图13示出的本发明实施例提供的起始信息获取模块的结构示意图,起始信息获取模块130包括第一查找单元1300和第一获取单元1302,其中
第一查找单元1300用于从数据库列信息表或磁盘管理信息表中查找所述待读取数据对应的标准列信息以及转化信息;
第一获取单元1302用于从标准列管理表中获取查找到的标准列对应的各个分段起始信息。
可理解的是,数据处理装置80中各功能模块的功能可根据上述方法实施例中的方法具体实现,这里不再赘述。
为了便于更好地实施本发明实施例的上述方案,下面结合图14示出的本发明实施例提供的数据写入装置的结构示意图,对应上述方法项来描述装置项的实施方式,数据写入装置140包括:行号确定模块1400、分段位置查找模块1402、行数据编辑模块1404和行写入模块1406,其中
行号确定模块1400用于确定向存储数据中写入行数据的行号;该存储数据以通过上述数据处理装置80进行存储;
分段位置查找模块1402用于根据所述行号查找待写入行数据在所述存储数据中所属的分段位置;
行数据编辑模块1404用于根据设定的存放列宽编辑所述待写入行数据,以符合所述存储数据的格式;
行写入模块1406用于在同一个磁盘柱面中,根据所述分段位置在每一个标准列的分段中对应写入行数据。
进一步地,如图15示出的本发明提供的分段位置查找模块的第一实施例的结构示意图,分段位置查找模块1402包括第二查找单元14020和第三查找单元14022,其中
第二查找单元14020用于根据所述行号,从数据库列信息表或磁盘管理信息表中查找所述待写入行数据在所述存储数据中所属的分段;
第三查找单元14022用于从标准列管理表中获取所述查找出的分段对应的起始信息。
再进一步地,当数据写入装置140包括至少两个盘片时,如图16示出的本发明提供的分段位置查找模块的第二实施例的结构示意图,所述分段位置查找模块1402包括:第二获取单元14024和第四查找单元14026,其中
第二获取单元14024用于获取通过硬件标定构成同一个物理柱面的不同盘片的起始位置,其中每个盘片上的起始位置在所述同一个物理柱面上对齐;
第四查找单元14026用于根据所述起始位置和所述行号,查找待写入行数据在所述存储数据中所属的分段的起始位置。
可理解的是,数据写入装置140中各功能模块的功能可根据上述方法实施例中的方法具体实现,这里不再赘述。
为了便于更好地实施本发明实施例的上述方案,本发明还提供了用于配合实施上述方案的相关设备。下面结合图17示出的本发明的电子设备的第一实施例的结构示意图,进行详细说明:
电子设备170包括:输入装置1700、输出装置1702、存储器1704和处理器1706(网络设备中的处理器1706的数量可以一个或多个,图17中以一个处理器为例)。在本发明的一些实施例中,输入装置1700、输出装置1702、存储器1704和处理器1706可通过总线或者其它方式连接,其中,图17中以通过总线连接为例。
其中,处理器1706执行如下步骤:
获取列存储数据库中数据表的待存储数据;根据分配的磁盘柱面的空间,对所述待存储数据进行划分和/或组合;将所述待存储数据的同一行数据存储在同一个磁盘柱面中,并在所述磁盘柱面中对每一列分段中的数据进行连续存储。
进一步地,处理器1706根据分配的磁盘柱面的空间,对所述待存储数据进行划分和/或组合包括:
根据设定的存放列宽和所述待存储数据的列属性,确定需要分配的磁盘柱面的连续空间;根据所述存放列宽对所述待存储数据的所有列进行拆分和/或合并,转化为至少一个标准列,并记录转化信息;所述标准列的列宽为所述存放列宽;根据分配的磁盘柱面的连续空间和设定的分段存放大小,将转化后的每个标准列划分出至少一个分段,划分出的每一个分段的大小为所述设定的分段存放大小。
再进一步地,处理器1706根据设定的存放列宽和所述待存储数据的列数属性,确定需要分配的磁盘柱面的连续空间包括:
根据设定的存放列宽和所述待存储数据的列属性,计算需要标准列的数量;根据计算出的需要标准列的数量和设定的分段存放大小,确定需要分配的磁盘柱面的连续空间。
再进一步地,处理器1706将所述待存储数据的同一行数据存储在同一个磁盘柱面中,并在所述磁盘柱面中对每一列分段中的数据进行连续存储包括:
按照转化后的每个标准列的列顺序,依次将每个标准列的一个分段存储在所述分配的磁盘柱面中,且每个分段中的数据按顺序连续存储;其中,同一个磁盘柱面中的所有分段数据的数据行数相同。
再进一步地,电子设备170包括至少两个盘片时,处理器1706将所述待存储数据的同一行数据存储在同一个磁盘柱面中,并在所述磁盘柱面中对每一列分段中的数据进行连续存储包括:
通过硬件标定构成同一个物理柱面的不同盘片的起始位置,其中每个盘片上的起始位置在所述同一个物理柱面上对齐;
在所述同一个物理柱面上的每个盘片以所述起始位置开始,同时存入转化后的每个标准列的分段,且每个分段中的数据按顺序连续存储;其中,所有分段数据的数据行数相同。
再进一步地,当每个标准列划分出至少两个分段时,处理器1706按照转化后的每个标准列的列顺序,依次将每个标准列的一个分段存储在所述分配的磁盘柱面中包括:
按照转化后的每个标准列的列顺序,依次将每个标准列的一个分段存储在所述分配的磁盘柱面后,再依次将每个标准列的下一个分段存储在所述分配的磁盘柱面中。
再进一步地,处理器1706还执行:
生成标准列管理表,用于存储设定的存放列宽信息、各标准列对应的分段信息以及每个分段的起始位置信息。
再进一步地,处理器1706还执行如下步骤:
获取所述待读取数据对应的分段起始信息以及转化信息;根据所述分段起始信息,利用所述转化信息读取对应的数据。
再进一步地,处理器1706获取所述待读取数据对应的分段起始信息以及转化信息包括:
从数据库列信息表或磁盘管理信息表中查找所述待读取数据对应的标准列信息以及转化信息;从标准列管理表中获取查找到的标准列对应的各个分段起始信息。
本发明实施例的电子设备170包括但不限于计算机、数据仓库存储一体机等电子设备。
可理解的是,电子设备170中各功能模块的功能可根据上述方法实施例中的方法具体实现,这里不再赘述。
如图18示出的本发明的电子设备的第二实施例的结构示意图,进行详细说明:
电子设备180包括:输入装置1800、输出装置1802、存储器1804和处理器1806(网络设备中的处理器1806的数量可以一个或多个,图18中以一个处理器为例)。在本发明的一些实施例中,输入装置1800、输出装置1802、存储器1804和处理器1806可通过总线或者其它方式连接,其中,图18中以通过总线连接为例。
其中,处理器1806执行如下步骤:
确定向存储数据中写入行数据的行号;待读取数据通过本发明实施例的数据处理方法进行存储;根据所述行号查找待写入行数据在所述存储数据中所属的分段位置;并根据设定的存放列宽编辑所述待写入行数据,以符合所述存储数据的格式;在同一个磁盘柱面中,根据所述分段位置在每一个标准列的分段中对应写入行数据。
再进一步地,处理器1806根据所述行号查找待写入行数据在所述存储数据中所属的分段位置包括:
根据所述行号,从数据库列信息表或磁盘管理信息表中查找所述待写入行数据在所述存储数据中所属的分段;从标准列管理表中获取所述查找出的分段对应的起始信息。
再进一步地,当电子设备180包括至少两个盘片时,处理器1806根据所述行号查找待写入行数据在所述存储数据中所属的分段位置包括:
获取通过硬件标定构成同一个物理柱面的不同盘片的起始位置,其中每个盘片上的起始位置在所述同一个物理柱面上对齐;根据所述起始位置和所述行号,查找待写入行数据在所述存储数据中所属的分段的起始位置。
本发明实施例的电子设备180包括但不限于计算机、数据仓库存储一体机等电子设备。
可理解的是,电子设备180中各功能模块的功能可根据上述方法实施例中的方法具体实现,这里不再赘述。
综上所述,通过实施本发明实施例,将所述待存储数据的同一行数据存储在同一个磁盘柱面中,并在所述磁盘柱面中对每一列分段中的数据进行连续存储,磁盘只需一次旋转寻址即可完成行写入,写入性能接近连续写,解决了现有技术中列数据库在运行时写入速度慢的技术问题,大大提高列存储数据库的写入效率;另外还可以通过硬件标定,使得标准列在盘片之间是对齐的,那么当需要读取或者写入同一行但是不同列的数据时,由于所有磁头在物理位置上是对齐的,可以直接并行读入或者写入;同时每一列的数据仍然在同一盘片上保持连续,读或者写一列数据仍旧是连续读的效率
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。
Claims (60)
1.一种数据处理方法,其特征在于,包括:
获取列存储数据库中数据表的待存储数据;
根据分配的磁盘柱面的空间,对所述待存储数据进行划分和/或组合;将所述待存储数据的同一行数据存储在同一个磁盘柱面中,并在所述磁盘柱面中对每一列分段中的数据进行连续存储;
所述根据分配的磁盘柱面的空间,对所述待存储数据进行划分和/或组合包括:
根据设定的存放列宽和所述待存储数据的列属性,确定需要分配的磁盘柱面的连续空间;根据所述存放列宽对所述待存储数据的所有列进行拆分和/或合并,转化为至少一个标准列,并记录转化信息;所述标准列的列宽为所述存放列宽。
2.如权利要求1所述的方法,其特征在于,所述根据分配的磁盘柱面的空间,对所述待存储数据进行划分和/或组合还包括:
根据分配的磁盘柱面的连续空间和设定的分段存放大小,将转化后的每个标准列划分出至少一个分段,划分出的每一个分段的大小为所述设定的分段存放大小。
3.如权利要求2所述的方法,其特征在于,所述根据设定的存放列宽和所述待存储数据的列属性,确定需要分配的磁盘柱面的连续空间包括:
根据设定的存放列宽和所述待存储数据的列属性,计算需要标准列的数量;
根据计算出的需要标准列的数量和设定的分段存放大小,确定需要分配的磁盘柱面的连续空间。
4.如权利要求2所述的方法,其特征在于,所述将所述待存储数据的同一行数据存储在同一个磁盘柱面中,并在所述磁盘柱面中对每一列分段中的数据进行连续存储包括:
按照转化后的每个标准列的列顺序,依次将每个标准列的一个分段存储在所述分配的磁盘柱面中,且每个分段中的数据按顺序连续存储;其中,同一个磁盘柱面中的所有分段数据的数据行数相同。
5.如权利要求3所述的方法,其特征在于,所述将所述待存储数据的同一行数据存储在同一个磁盘柱面中,并在所述磁盘柱面中对每一列分段中的数据进行连续存储包括:
按照转化后的每个标准列的列顺序,依次将每个标准列的一个分段存储在所述分配的磁盘柱面中,且每个分段中的数据按顺序连续存储;其中,同一个磁盘柱面中的所有分段数据的数据行数相同。
6.如权利要求2所述的方法,其特征在于,当本端设备包括至少两个盘片时,所述将所述待存储数据的同一行数据存储在同一个磁盘柱面中,并在所述磁盘柱面中对每一列分段中的数据进行连续存储包括:
通过硬件标定构成同一个物理柱面的不同盘片的起始位置,其中每个盘片上的起始位置在所述同一个物理柱面上对齐;
在所述同一个物理柱面上的每个盘片以所述起始位置开始,同时存入转化后的每个标准列的分段,且每个分段中的数据按顺序连续存储;其中,所有分段数据的数据行数相同。
7.如权利要求3所述的方法,其特征在于,当本端设备包括至少两个盘片时,所述将所述待存储数据的同一行数据存储在同一个磁盘柱面中,并在所述磁盘柱面中对每一列分段中的数据进行连续存储包括:
通过硬件标定构成同一个物理柱面的不同盘片的起始位置,其中每个盘片上的起始位置在所述同一个物理柱面上对齐;
在所述同一个物理柱面上的每个盘片以所述起始位置开始,同时存入转化后的每个标准列的分段,且每个分段中的数据按顺序连续存储;其中,所有分段数据的数据行数相同。
8.如权利要求4所述的方法,其特征在于,当每个标准列划分出至少两个分段时,所述按照转化后的每个标准列的列顺序,依次将每个标准列的一个分段存储在所述分配的磁盘柱面中包括:
按照转化后的每个标准列的列顺序,依次将每个标准列的一个分段存储在所述分配的磁盘柱面后,再依次将每个标准列的下一个分段存储在所述分配的磁盘柱面中。
9.如权利要求5所述的方法,其特征在于,当每个标准列划分出至少两个分段时,所述按照转化后的每个标准列的列顺序,依次将每个标准列的一个分段存储在所述分配的磁盘柱面中包括:
按照转化后的每个标准列的列顺序,依次将每个标准列的一个分段存储在所述分配的磁盘柱面后,再依次将每个标准列的下一个分段存储在所述分配的磁盘柱面中。
10.如权利要求1-9任一项所述的方法,其特征在于,当本端设备为裸设备时,所述磁盘柱面为至少一个连续的逻辑柱面;或
当本端设备包括至少两个盘片时,所述磁盘柱面为所述至少两个盘片构成的物理柱面。
11.如权利要求2-9任一项所述的方法,其特征在于,还包括:生成标准列管理表,用于存储设定的存放列宽信息、各标准列对应的分段信息以及每个分段的起始位置信息。
12.如权利要求2-9任一项所述的方法,其特征在于,还包括:
获取所述待读取数据对应的分段起始信息以及转化信息;
根据所述分段起始信息,利用所述转化信息读取对应的数据。
13.如权利要求10所述的方法,其特征在于,还包括:
获取所述待读取数据对应的分段起始信息以及转化信息;
根据所述分段起始信息,利用所述转化信息读取对应的数据。
14.如权利要求11所述的方法,其特征在于,还包括:
获取所述待读取数据对应的分段起始信息以及转化信息;
根据所述分段起始信息,利用所述转化信息读取对应的数据。
15.如权利要求12所述的方法,其特征在于,所述获取所述待读取数据对应的分段起始信息以及转化信息包括:
从数据库列信息表或磁盘管理信息表中查找所述待读取数据对应的标准列信息以及转化信息;
从标准列管理表中获取查找到的标准列对应的各个分段起始信息。
16.如权利要求13所述的方法,其特征在于,所述获取所述待读取数据对应的分段起始信息以及转化信息包括:
从数据库列信息表或磁盘管理信息表中查找所述待读取数据对应的标准列信息以及转化信息;
从标准列管理表中获取查找到的标准列对应的各个分段起始信息。
17.如权利要求14所述的方法,其特征在于,所述获取所述待读取数据对应的分段起始信息以及转化信息包括:
从数据库列信息表或磁盘管理信息表中查找所述待读取数据对应的标准列信息以及转化信息;
从标准列管理表中获取查找到的标准列对应的各个分段起始信息。
18.一种数据写入方法,其特征在于,包括:
确定向存储数据中写入行数据的行号;所述存储数据以如权利要求2所述的数据处理方法进行存储;
根据所述行号查找待写入行数据在所述存储数据中所属的分段位置;并根据设定的存放列宽编辑所述待写入行数据,以符合所述存储数据的格式;
在同一个磁盘柱面中,根据所述分段位置在每一个标准列的分段中对应写入行数据。
19.如权利要求18所述的方法,其特征在于,所述根据所述行号查找待写入行数据在所述存储数据中所属的分段位置包括:
根据所述行号,从数据库列信息表或磁盘管理信息表中查找所述待写入行数据在所述存储数据中所属的分段;
从标准列管理表中获取所述查找出的分段对应的起始信息。
20.如权利要求18所述的方法,其特征在于,当本端设备包括至少两个盘片时,所述根据所述行号查找待写入行数据在所述存储数据中所属的分段位置包括:
获取通过硬件标定构成同一个物理柱面的不同盘片的起始位置,其中每个盘片上的起始位置在所述同一个物理柱面上对齐;
根据所述起始位置和所述行号,查找待写入行数据在所述存储数据中所属的分段的起始位置。
21.一种数据处理装置,其特征在于,包括:
数据获取模块,用于获取列存储数据库中数据表的待存储数据;
编辑存储模块,用于根据分配的磁盘柱面的空间,对所述待存储数据进行划分和/或组合;将所述待存储数据的同一行数据存储在同一个磁盘柱面中,并在所述磁盘柱面中对每一列分段中的数据进行连续存储;其中对所述待存储数据进行划分和/或组合的过程中,对每一列数据划分出至少一个分段的数据;
所述编辑存储模块包括:
空间确定单元,用于根据设定的存放列宽和所述待存储数据的列属性,确定需要分配的磁盘柱面的连续空间;
转化单元,用于根据所述存放列宽对所述待存储数据的所有列进行拆分和/或合并,转化为至少一个标准列,并记录转化信息;所述标准列的列宽为所述存放列宽。
22.如权利要求21所述的装置,其特征在于,所述编辑存储模块还包括:
分段划分单元,用于根据分配的磁盘柱面的连续空间和设定的分段存放大小,将转化后的每个标准列划分出至少一个分段,划分出的每一个分段的大小为所述设定的分段存放大小。
23.如权利要求22所述的装置,其特征在于,所述空间确定单元包括:
第一计算单元,用于根据设定的存放列宽和所述待存储数据的列属性,计算需要标准列的数量;
第一确定单元,用于根据计算出的需要标准列的数量和设定的分段存放大小,确定需要分配的磁盘柱面的连续空间。
24.如权利要求22所述的装置,其特征在于,所述编辑存储模块还包括:
第一分段存储单元,用于按照转化后的每个标准列的列顺序,依次将每个标准列的一个分段存储在所述分配的磁盘柱面中,且每个分段中的数据按顺序连续存储;其中,同一个磁盘柱面中的所有分段数据的数据行数相同。
25.如权利要求23所述的装置,其特征在于,所述编辑存储模块还包括:
第一分段存储单元,用于按照转化后的每个标准列的列顺序,依次将每个标准列的一个分段存储在所述分配的磁盘柱面中,且每个分段中的数据按顺序连续存储;其中,同一个磁盘柱面中的所有分段数据的数据行数相同。
26.如权利要求22所述的装置,其特征在于,当所述数据处理装置包括至少两个盘片时,所述编辑存储模块还包括:
硬件标定单元,用于通过硬件标定构成同一个物理柱面的不同盘片的起始位置,其中每个盘片上的起始位置在所述同一个物理柱面上对齐;
第二分段存储单元,用于在所述同一个物理柱面上的每个盘片以所述起始位置开始,同时存入转化后的每个标准列的分段,且每个分段中的数据按顺序连续存储;其中,所有分段数据的数据行数相同。
27.如权利要求23所述的装置,其特征在于,当所述数据处理装置包括至少两个盘片时,所述编辑存储模块还包括:
硬件标定单元,用于通过硬件标定构成同一个物理柱面的不同盘片的起始位置,其中每个盘片上的起始位置在所述同一个物理柱面上对齐;
第二分段存储单元,用于在所述同一个物理柱面上的每个盘片以所述起始位置开始,同时存入转化后的每个标准列的分段,且每个分段中的数据按顺序连续存储;其中,所有分段数据的数据行数相同。
28.如权利要求24所述的装置,其特征在于,当每个标准列划分出至少两个分段时,所述第一分段存储单元具体用于:
按照转化后的每个标准列的列顺序,依次将每个标准列的一个分段存储在所述分配的磁盘柱面后,再依次将每个标准列的下一个分段存储在所述分配的磁盘柱面中,且每个分段中的数据按顺序连续存储;其中,同一个磁盘柱面中的所有分段数据的数据行数相同。
29.如权利要求25所述的装置,其特征在于,当每个标准列划分出至少两个分段时,所述第一分段存储单元具体用于:
按照转化后的每个标准列的列顺序,依次将每个标准列的一个分段存储在所述分配的磁盘柱面后,再依次将每个标准列的下一个分段存储在所述分配的磁盘柱面中,且每个分段中的数据按顺序连续存储;其中,同一个磁盘柱面中的所有分段数据的数据行数相同。
30.如权利要求21-29任一项所述的装置,其特征在于,当所述数据处理装置为裸设备时,所述磁盘柱面为至少一个连续的逻辑柱面;或
当所述数据处理装置包括至少两个盘片时,所述磁盘柱面为所述至少两个盘片构成的物理柱面。
31.如权利要求22-29任一项所述的装置,其特征在于,所述数据处理装置还包括:
标准列管理表生成模块,用于生成标准列管理表,用于存储设定的存放列宽信息、各标准列对应的分段信息以及每个分段的起始位置信息。
32.如权利要求22-29任一项所述的装置,其特征在于,所述数据处理装置还包括:
起始信息获取模块,用于获取所述待读取数据对应的分段起始信息以及转化信息;
数据读取模块,用于根据所述分段起始信息,利用所述转化信息读取对应的数据。
33.如权利要求30所述的装置,其特征在于,所述数据处理装置还包括:
起始信息获取模块,用于获取所述待读取数据对应的分段起始信息以及转化信息;
数据读取模块,用于根据所述分段起始信息,利用所述转化信息读取对应的数据。
34.如权利要求31所述的装置,其特征在于,所述数据处理装置还包括:
起始信息获取模块,用于获取所述待读取数据对应的分段起始信息以及转化信息;
数据读取模块,用于根据所述分段起始信息,利用所述转化信息读取对应的数据。
35.如权利要求32所述的装置,其特征在于,所述起始信息获取模块包括:
第一查找单元,用于从数据库列信息表或磁盘管理信息表中查找所述待读取数据对应的标准列信息以及转化信息;
第一获取单元,用于从标准列管理表中获取查找到的标准列对应的各个分段起始信息。
36.如权利要求33所述的装置,其特征在于,所述起始信息获取模块包括:
第一查找单元,用于从数据库列信息表或磁盘管理信息表中查找所述待读取数据对应的标准列信息以及转化信息;
第一获取单元,用于从标准列管理表中获取查找到的标准列对应的各个分段起始信息。
37.如权利要求34所述的装置,其特征在于,所述起始信息获取模块包括:
第一查找单元,用于从数据库列信息表或磁盘管理信息表中查找所述待读取数据对应的标准列信息以及转化信息;
第一获取单元,用于从标准列管理表中获取查找到的标准列对应的各个分段起始信息。
38.一种数据写入装置,其特征在于,包括:
行号确定模块,用于确定向存储数据中写入行数据的行号;所述存储数据以通过如权利要求22所述的数据处理装置进行存储;
分段位置查找模块,用于根据所述行号查找待写入行数据在所述存储数据中所属的分段位置;
行数据编辑模块,用于根据设定的存放列宽编辑所述待写入行数据,以符合所述存储数据的格式;
行写入模块,用于在同一个磁盘柱面中,根据所述分段位置在每一个标准列的分段中对应写入行数据。
39.如权利要求38所述的装置,其特征在于,所述分段位置查找模块包括:
第二查找单元,用于根据所述行号,从数据库列信息表或磁盘管理信息表中查找所述待写入行数据在所述存储数据中所属的分段;
第三查找单元,用于从标准列管理表中获取所述查找出的分段对应的起始信息。
40.如权利要求38所述的装置,其特征在于,当所述数据写入装置包括至少两个盘片时,所述分段位置查找模块包括:
第二获取单元,用于获取通过硬件标定构成同一个物理柱面的不同盘片的起始位置,其中每个盘片上的起始位置在所述同一个物理柱面上对齐;
第四查找单元,用于根据所述起始位置和所述行号,查找待写入行数据在所述存储数据中所属的分段的起始位置。
41.一种电子设备,其特征在于,包括:输入装置、输出装置、存储器和处理器;
其中,所述处理器执行如下步骤:
获取列存储数据库中数据表的待存储数据;根据分配的磁盘柱面的空间,对所述待存储数据进行划分和/或组合;将所述待存储数据的同一行数据存储在同一个磁盘柱面中,并在所述磁盘柱面中对每一列分段中的数据进行连续存储;其中对所述待存储数据进行划分和/或组合的过程中,对每一列数据划分出至少一个分段的数据;
所述处理器根据分配的磁盘柱面的空间,对所述待存储数据进行划分和/或组合包括:
根据设定的存放列宽和所述待存储数据的列属性,确定需要分配的磁盘柱面的连续空间;根据所述存放列宽对所述待存储数据的所有列进行拆分和/或合并,转化为至少一个标准列,并记录转化信息;所述标准列的列宽为所述存放列宽。
42.如权利要求41所述的电子设备,其特征在于,所述处理器根据分配的磁盘柱面的空间,对所述待存储数据进行划分和/或组合还包括:
根据分配的磁盘柱面的连续空间和设定的分段存放大小,将转化后的每个标准列划分出至少一个分段,划分出的每一个分段的大小为所述设定的分段存放大小。
43.如权利要求42所述的电子设备,其特征在于,所述处理器根据设定的存放列宽和所述待存储数据的列属性,确定需要分配的磁盘柱面的连续空间包括:
根据设定的存放列宽和所述待存储数据的列属性,计算需要标准列的数量;根据计算出的需要标准列的数量和设定的分段存放大小,确定需要分配的磁盘柱面的连续空间。
44.如权利要求42所述的电子设备,其特征在于,所述处理器将所述待存储数据的同一行数据存储在同一个磁盘柱面中,并在所述磁盘柱面中对每一列分段中的数据进行连续存储包括:
按照转化后的每个标准列的列顺序,依次将每个标准列的一个分段存储在所述分配的磁盘柱面中,且每个分段中的数据按顺序连续存储;其中,同一个磁盘柱面中的所有分段数据的数据行数相同。
45.如权利要求43所述的电子设备,其特征在于,所述处理器将所述待存储数据的同一行数据存储在同一个磁盘柱面中,并在所述磁盘柱面中对每一列分段中的数据进行连续存储包括:
按照转化后的每个标准列的列顺序,依次将每个标准列的一个分段存储在所述分配的磁盘柱面中,且每个分段中的数据按顺序连续存储;其中,同一个磁盘柱面中的所有分段数据的数据行数相同。
46.如权利要求42所述的电子设备,其特征在于,所述电子设备包括至少两个盘片时,所述处理器将所述待存储数据的同一行数据存储在同一个磁盘柱面中,并在所述磁盘柱面中对每一列分段中的数据进行连续存储包括:
通过硬件标定构成同一个物理柱面的不同盘片的起始位置,其中每个盘片上的起始位置在所述同一个物理柱面上对齐;
在所述同一个物理柱面上的每个盘片以所述起始位置开始,同时存入转化后的每个标准列的分段,且每个分段中的数据按顺序连续存储;其中,所有分段数据的数据行数相同。
47.如权利要求43所述的电子设备,其特征在于,所述电子设备包括至少两个盘片时,所述处理器将所述待存储数据的同一行数据存储在同一个磁盘柱面中,并在所述磁盘柱面中对每一列分段中的数据进行连续存储包括:
通过硬件标定构成同一个物理柱面的不同盘片的起始位置,其中每个盘片上的起始位置在所述同一个物理柱面上对齐;
在所述同一个物理柱面上的每个盘片以所述起始位置开始,同时存入转化后的每个标准列的分段,且每个分段中的数据按顺序连续存储;其中,所有分段数据的数据行数相同。
48.如权利要求44所述的电子设备,其特征在于,当每个标准列划分出至少两个分段时,所述处理器按照转化后的每个标准列的列顺序,依次将每个标准列的一个分段存储在所述分配的磁盘柱面中包括:
按照转化后的每个标准列的列顺序,依次将每个标准列的一个分段存储在所述分配的磁盘柱面后,再依次将每个标准列的下一个分段存储在所述分配的磁盘柱面中。
49.如权利要求45所述的电子设备,其特征在于,当每个标准列划分出至少两个分段时,所述处理器按照转化后的每个标准列的列顺序,依次将每个标准列的一个分段存储在所述分配的磁盘柱面中包括:
按照转化后的每个标准列的列顺序,依次将每个标准列的一个分段存储在所述分配的磁盘柱面后,再依次将每个标准列的下一个分段存储在所述分配的磁盘柱面中。
50.如权利要求41-49任一项所述的电子设备,其特征在于,当所述电子设备为裸设备时,所述磁盘柱面为至少一个连续的逻辑柱面;或
当所述电子设备包括至少两个盘片时,所述磁盘柱面为所述至少两个盘片构成的物理柱面。
51.如权利要求42-49任一项所述的电子设备,其特征在于,所述处理器还执行:
生成标准列管理表,用于存储设定的存放列宽信息、各标准列对应的分段信息以及每个分段的起始位置信息。
52.如权利要求42-49任一项所述的电子设备,其特征在于,所述处理器还执行如下步骤:
获取所述待读取数据对应的分段起始信息以及转化信息;根据所述分段起始信息,利用所述转化信息读取对应的数据。
53.如权利要求50所述的电子设备,其特征在于,所述处理器还执行如下步骤:
获取所述待读取数据对应的分段起始信息以及转化信息;根据所述分段起始信息,利用所述转化信息读取对应的数据。
54.如权利要求51所述的电子设备,其特征在于,所述处理器还执行如下步骤:
获取所述待读取数据对应的分段起始信息以及转化信息;根据所述分段起始信息,利用所述转化信息读取对应的数据。
55.如权利要求52所述的电子设备,其特征在于,所述处理器获取所述待读取数据对应的分段起始信息以及转化信息包括:
从数据库列信息表或磁盘管理信息表中查找所述待读取数据对应的标准列信息以及转化信息;从标准列管理表中获取查找到的标准列对应的各个分段起始信息。
56.如权利要求53所述的电子设备,其特征在于,所述处理器获取所述待读取数据对应的分段起始信息以及转化信息包括:
从数据库列信息表或磁盘管理信息表中查找所述待读取数据对应的标准列信息以及转化信息;从标准列管理表中获取查找到的标准列对应的各个分段起始信息。
57.如权利要求54所述的电子设备,其特征在于,所述处理器获取所述待读取数据对应的分段起始信息以及转化信息包括:
从数据库列信息表或磁盘管理信息表中查找所述待读取数据对应的标准列信息以及转化信息;从标准列管理表中获取查找到的标准列对应的各个分段起始信息。
58.一种电子设备,其特征在于,包括:输入装置、输出装置、存储器和处理器;
其中,所述处理器执行如下步骤:
确定向存储数据中写入行数据的行号;所述存储数据以如权利要求2所述的数据处理方法进行存储;根据所述行号查找待写入行数据在所述存储数据中所属的分段位置;并根据设定的存放列宽编辑所述待写入行数据,以符合所述存储数据的格式;在同一个磁盘柱面中,根据所述分段位置在每一个标准列的分段中对应写入行数据。
59.如权利要求58所述的电子设备,其特征在于,所述处理器根据所述行号查找待写入行数据在所述存储数据中所属的分段位置包括:
根据所述行号,从数据库列信息表或磁盘管理信息表中查找所述待写入行数据在所述存储数据中所属的分段;从标准列管理表中获取所述查找出的分段对应的起始信息。
60.如权利要求58所述的电子设备,其特征在于,当所述电子设备包括至少两个盘片时,所述处理器根据所述行号查找待写入行数据在所述存储数据中所属的分段位置包括:
获取通过硬件标定构成同一个物理柱面的不同盘片的起始位置,其中每个盘片上的起始位置在所述同一个物理柱面上对齐;根据所述起始位置和所述行号,查找待写入行数据在所述存储数据中所属的分段的起始位置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2014/071931 WO2015117280A1 (zh) | 2014-02-10 | 2014-02-10 | 一种数据处理和写入方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105408893A CN105408893A (zh) | 2016-03-16 |
CN105408893B true CN105408893B (zh) | 2019-04-26 |
Family
ID=53777122
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480001004.XA Active CN105408893B (zh) | 2014-02-10 | 2014-02-10 | 一种数据处理和写入方法及相关装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9710504B2 (zh) |
EP (1) | EP3093772B1 (zh) |
CN (1) | CN105408893B (zh) |
WO (1) | WO2015117280A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110019014A (zh) * | 2017-12-19 | 2019-07-16 | 华为技术有限公司 | 向文件系统写入数据记录的方法和装置 |
CN110881277A (zh) * | 2018-07-04 | 2020-03-13 | 华为技术有限公司 | 一种数据存储方法、装置及相关设备 |
US11227065B2 (en) * | 2018-11-06 | 2022-01-18 | Microsoft Technology Licensing, Llc | Static data masking |
CN112015672A (zh) * | 2020-08-28 | 2020-12-01 | 北京浪潮数据技术有限公司 | 一种存储系统中数据处理方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103177058A (zh) * | 2011-12-22 | 2013-06-26 | Sap股份公司 | 存储为行存储和列存储二者的混合数据库表 |
CN103177055A (zh) * | 2011-12-22 | 2013-06-26 | Sap股份公司 | 存储为行存储和列存储二者的混合数据库表 |
CN103294702A (zh) * | 2012-02-27 | 2013-09-11 | 上海淼云文化传播有限公司 | 一种数据处理方法、装置及系统 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5345575A (en) * | 1991-09-26 | 1994-09-06 | Hewlett-Packard Company | Write optimized disk storage device |
US5802344A (en) * | 1995-11-03 | 1998-09-01 | International Business Machines Corporation | Method and apparatus for dynamic segment allocation in log structured arrays |
US20030140139A1 (en) * | 2002-01-14 | 2003-07-24 | Richard Marejka | Self-monitoring and trending service system with a cascaded pipeline with a unique data storage and retrieval structures |
US7730106B2 (en) * | 2006-12-28 | 2010-06-01 | Teradata Us, Inc. | Compression of encrypted data in database management systems |
US7921142B2 (en) * | 2007-01-08 | 2011-04-05 | International Business Machines Corporation | Method and apparatus for storing and accessing data records on solid state disks |
US8862625B2 (en) * | 2008-04-07 | 2014-10-14 | Teradata Us, Inc. | Accessing data in a column store database based on hardware compatible indexing and replicated reordered columns |
US8671111B2 (en) * | 2011-05-31 | 2014-03-11 | International Business Machines Corporation | Determination of rules by providing data records in columnar data structures |
CN102682108B (zh) * | 2012-05-08 | 2015-02-18 | 同方知网数字出版技术股份有限公司 | 一种行列混合的数据库存储方法 |
CN103020305A (zh) * | 2012-12-29 | 2013-04-03 | 天津南大通用数据技术有限公司 | 一种针对二维数据表的高效索引及创建和查询方法 |
CN103400587B (zh) * | 2013-06-28 | 2016-12-28 | 华为技术有限公司 | 数据写入的方法及机械硬盘 |
-
2014
- 2014-02-10 EP EP14881915.4A patent/EP3093772B1/en active Active
- 2014-02-10 CN CN201480001004.XA patent/CN105408893B/zh active Active
- 2014-02-10 WO PCT/CN2014/071931 patent/WO2015117280A1/zh active Application Filing
-
2016
- 2016-08-09 US US15/231,914 patent/US9710504B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103177058A (zh) * | 2011-12-22 | 2013-06-26 | Sap股份公司 | 存储为行存储和列存储二者的混合数据库表 |
CN103177055A (zh) * | 2011-12-22 | 2013-06-26 | Sap股份公司 | 存储为行存储和列存储二者的混合数据库表 |
CN103294702A (zh) * | 2012-02-27 | 2013-09-11 | 上海淼云文化传播有限公司 | 一种数据处理方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
EP3093772B1 (en) | 2018-07-18 |
US20160350343A1 (en) | 2016-12-01 |
US9710504B2 (en) | 2017-07-18 |
EP3093772A1 (en) | 2016-11-16 |
EP3093772A4 (en) | 2017-02-22 |
CN105408893A (zh) | 2016-03-16 |
WO2015117280A1 (zh) | 2015-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107423422B (zh) | 基于网格的空间数据分布式存储及检索方法和系统 | |
CN104731896B (zh) | 一种数据处理方法及系统 | |
JP6262874B2 (ja) | データベース実現方法 | |
CN102821138B (zh) | 一种适用于云存储系统的元数据分布式存储方法 | |
CN104408163B (zh) | 一种数据分级存储方法和装置 | |
CN105408893B (zh) | 一种数据处理和写入方法及相关装置 | |
CN108304484A (zh) | 关键词匹配方法及装置、电子设备和可读存储介质 | |
US11307049B2 (en) | Methods, apparatuses, systems, and storage media for storing and loading visual localization maps | |
CN104461390A (zh) | 将数据写入叠瓦状磁记录smr硬盘的方法及装置 | |
CN103914483B (zh) | 文件存储方法、装置及文件读取方法、装置 | |
CN102402602A (zh) | 一种实时数据库的b+树索引方法及装置 | |
CN104679864A (zh) | 一种基于gis的嫌疑目标智能跟踪方法和装置 | |
TWI709049B (zh) | 隨機漫步、基於叢集的隨機漫步方法、裝置以及設備 | |
CN101556802B (zh) | 一种raid阵列转换的方法及装置 | |
CN104536908B (zh) | 一种面向单机的海量小记录高效存储管理方法 | |
CN104112011A (zh) | 一种海量数据提取的方法及装置 | |
CN108319608A (zh) | 访问日志存储查询的方法、装置及系统 | |
CN102147829A (zh) | 一种ic功能验证方法 | |
CN102591958B (zh) | 基于tcam的确定性有穷状态自动机的匹配方法和装置 | |
JP2023543004A (ja) | ヒルベルト曲線に基づくr木インデックスのマージ更新方法、装置及び媒体 | |
CN104408128B (zh) | 一种基于b+树异步更新索引的读优化方法 | |
CN109325011A (zh) | 基于区块链的数据存储、处理、分享方法及系统 | |
CN108509545A (zh) | 一种文章的评论处理方法及系统 | |
CN110020272A (zh) | 缓存方法、装置以及计算机存储介质 | |
CN110008030A (zh) | 一种元数据访问的方法、系统及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |