CN112579597B - 一种压缩敏感的数据库文件存储方法及系统 - Google Patents
一种压缩敏感的数据库文件存储方法及系统 Download PDFInfo
- Publication number
- CN112579597B CN112579597B CN202011476834.1A CN202011476834A CN112579597B CN 112579597 B CN112579597 B CN 112579597B CN 202011476834 A CN202011476834 A CN 202011476834A CN 112579597 B CN112579597 B CN 112579597B
- Authority
- CN
- China
- Prior art keywords
- data
- row
- counting
- column
- change
- 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
Images
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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种压缩敏感的数据库文件存储方法及系统,存储方法包括以下步骤:步骤一、统计数据库数据在行方向和列方向数据的重复度;步骤二、选择重复度高的方向进行数据存储。存储系统包括:重复度统计模块,用于统计数据库数据在行方向和列方向数据的重复度;以及存储方向选择及存储模块,用于选择重复度高的方向进行数据存储。本发明能够提高数据库文件的数据压缩比,降低数据存储空间。
Description
技术领域
本发明属于计算机数据库领域,具体涉及一种压缩敏感的数据库文件存储方法及系统。
背景技术
物联网技术背景下众多设备产生的海量数据存储为数据库系统造成了巨大压力,如何有效存储这些数据是计算机数据库领域一直研究的问题。海量的数据存储对数据的存储设备容量提出了极高的要求,为了减少数据存储空间,现有数据库开始采用数据无损压缩技术对数据进行压缩以减少数据存储空间。在ORC(Optimized Row Columnar)文件存储格式中,通常采用列优先的方式对数据进行存储。列存储的基本思想是由于同一个字段的数据类型相同,因而出现重复数据的概率更大,更有利于压缩。但是在物联网背景下,数据库中存储的字段类型绝大多数为整型数据或者浮点型数据,采用列式存储不一定能够提高数据重复的概率。物联网背景下,数据库中各个字段的数据之间存在较大的关联性,例如办公区环境监测应用中,在非工作时间,绝大多数传感器的数据都处于平稳状态;而在工作时间,传感器数据开始变化。在这种情况下,数据行之间的重复率会增大,行优先存储反而更加有利于压缩。
发明内容
本发明目的在于针对上述现有技术中海量数据存储占用存储空间较多的问题,提供一种压缩敏感的数据库文件存储方法及系统,提高数据库文件的数据压缩比,降低数据存储空间。
为了实现上述目的,本发明有如下的技术方案:
一种压缩敏感的数据库文件存储方法,包括以下步骤:
步骤一、统计数据库数据在行方向和列方向数据的重复度;
步骤二、选择重复度高的方向进行数据存储。
作为本发明数据库文件存储方法的一种优选方案,步骤一将待存储的数据按照行列在内存中构成二维矩阵,按照预定义的块大小从左到右、从上到下进行切块。
作为本发明数据库文件存储方法的一种优选方案,每一个块内数据按照行优先遍历一次,统计行数据变化次数,如果上一个数与当前数不同,则变化次数加一。
作为本发明数据库文件存储方法的一种优选方案,每一个块内数据按照列优先遍历一次,统计列数据变化次数,如果上一个数与当前数不同,则变化次数加一。
作为本发明数据库文件存储方法的一种优选方案,步骤二对比行数据变化次数和列数据变化次数,如果行数据变化次数少,则按照行优先的方式对数据进行存储;如果列数据变化次数少,则按照列优先的方式对数据进行存储。
作为本发明数据库文件存储方法的一种优选方案,动态统计数据库数据在行方向和列方向数据的重复度,并且动态选择重复度高的方向进行数据存储。
本发明还提供一种压缩敏感的数据库文件存储系统,包括:
重复度统计模块,用于统计数据库数据在行方向和列方向数据的重复度;
存储方向选择及存储模块,用于选择重复度高的方向进行数据存储。
相较于现有技术,本发明具有如下的有益效果:通过统计数据库存入数据的行方向的重复度和列方向的重复度,选择重复度高的方向存储数据库数据,使数据在后续压缩过程中压缩比更高,使得所存储数据更有利于后续压缩,从而提高数据库文件的数据压缩比,降低数据存储空间。与ORC比较,本发明压缩敏感的数据库文件存储方法压缩比更高。
附图说明
图1实施例1行存储更有利于压缩的对比示意图;
图2实施例2列存储更有利于压缩的对比示意图。
具体实施方式
下面结合附图对本发明做进一步的详细说明。
本发明提出一种压缩敏感的数据库文件存储方法,该文件格式通过统计数据库存入数据的行方向的重复度和列方向的重复度,选择重复度高的方向存储数据,使得所存储数据更有利于后续压缩,从而提高数据库文件的数据压缩比,降低数据存储空间。
一种压缩敏感的数据库文件存储方法,包括以下步骤:
步骤一、统计数据库数据在行方向和列方向数据的重复度;
将待存储的数据按照行列在内存中构成二维矩阵,按照预定义的块大小从左到右、从上到下进行切块。每一个块内数据按照行优先遍历一次,统计行数据变化次数,如果上一个数与当前数不同,则变化次数加一。每一个块内数据按照列优先遍历一次,统计列数据变化次数,如果上一个数与当前数不同,则变化次数加一。
步骤二、选择重复度高的方向进行数据存储;
对比行数据变化次数和列数据变化次数,如果行数据变化次数少,则按照行优先的方式对数据进行存储;如果列数据变化次数少,则按照列优先的方式对数据进行存储。
动态进行上述步骤一和步骤二,通过实时统计数据库存储文件中行方向和列方向数据重复度,选择重复度大的方向存储数据库数据,使得数据在后续压缩过程中压缩比更高。与ORC比较,本发明提出的一种压缩敏感的数据库文件存储方法的压缩比更高。
本发明还提供一种压缩敏感的数据库文件存储系统,包括:
重复度统计模块,用于统计数据库数据在行方向和列方向数据的重复度;
存储方向选择及存储模块,选择重复度高的方向进行数据存储。
参见图1和图2,本发明能够选择更有利于压缩的行存储或列存储进行数据库文件存储,因而可以有效提高数据库文件的数据压缩比,降低了数据存储空间。
以上所述的仅仅是本发明的较佳实施例,并不用以对本发明的技术方案进行任何限制,本领域技术人员应当理解的是,在不脱离本发明精神和原则的前提下,该技术方案还可以进行若干简单的修改和替换,这些修改和替换也均属于权利要求书所涵盖的保护范围之内。
Claims (3)
1.一种压缩敏感的数据库文件存储方法,其特征在于,包括以下步骤:
步骤一、统计数据库数据在行方向和列方向数据的重复度;
步骤二、选择重复度高的方向进行数据存储;
步骤一将待存储的数据按照行列在内存中构成二维矩阵,按照预定义的块大小从左到右、从上到下进行切块;
每一个块内数据按照行优先遍历一次,统计行数据变化次数,如果上一个数与当前数不同,则变化次数加一;
每一个块内数据按照列优先遍历一次,统计列数据变化次数,如果上一个数与当前数不同,则变化次数加一;
步骤二对比行数据变化次数和列数据变化次数,如果行数据变化次数少,则按照行优先的方式对数据进行存储;如果列数据变化次数少,则按照列优先的方式对数据进行存储。
2.根据权利要求1所述压缩敏感的数据库文件存储方法,其特征在于:动态统计数据库数据在行方向和列方向数据的重复度,并且动态选择重复度高的方向进行数据存储。
3.一种压缩敏感的数据库文件存储系统,其特征在于,包括:
重复度统计模块,用于统计数据库数据在行方向和列方向数据的重复度;
存储方向选择及存储模块,用于选择重复度高的方向进行数据存储;
重复度统计模块将待存储的数据按照行列在内存中构成二维矩阵,按照预定义的块大小从左到右、从上到下进行切块;
每一个块内数据按照行优先遍历一次,统计行数据变化次数,如果上一个数与当前数不同,则变化次数加一;
每一个块内数据按照列优先遍历一次,统计列数据变化次数,如果上一个数与当前数不同,则变化次数加一;
存储方向选择及存储模块对比行数据变化次数和列数据变化次数,如果行数据变化次数少,则按照行优先的方式对数据进行存储;如果列数据变化次数少,则按照列优先的方式对数据进行存储。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011476834.1A CN112579597B (zh) | 2020-12-15 | 2020-12-15 | 一种压缩敏感的数据库文件存储方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011476834.1A CN112579597B (zh) | 2020-12-15 | 2020-12-15 | 一种压缩敏感的数据库文件存储方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112579597A CN112579597A (zh) | 2021-03-30 |
CN112579597B true CN112579597B (zh) | 2023-03-21 |
Family
ID=75135447
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011476834.1A Active CN112579597B (zh) | 2020-12-15 | 2020-12-15 | 一种压缩敏感的数据库文件存储方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112579597B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105378716A (zh) * | 2014-03-18 | 2016-03-02 | 华为技术有限公司 | 一种数据存储格式的转换方法及装置 |
WO2018119976A1 (zh) * | 2016-12-30 | 2018-07-05 | 日彩电子科技(深圳)有限公司 | 应用于数据仓库系统的高效优化数据布局方法 |
CN111405294A (zh) * | 2020-03-25 | 2020-07-10 | 鲁东大学 | 一种图像栅格数据的存储及传输方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7904432B2 (en) * | 2003-01-24 | 2011-03-08 | Hewlett-Packard Development Company, L.P. | Compressed data structure for extracted changes to a database and method of generating the data structure |
-
2020
- 2020-12-15 CN CN202011476834.1A patent/CN112579597B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105378716A (zh) * | 2014-03-18 | 2016-03-02 | 华为技术有限公司 | 一种数据存储格式的转换方法及装置 |
WO2018119976A1 (zh) * | 2016-12-30 | 2018-07-05 | 日彩电子科技(深圳)有限公司 | 应用于数据仓库系统的高效优化数据布局方法 |
CN111405294A (zh) * | 2020-03-25 | 2020-07-10 | 鲁东大学 | 一种图像栅格数据的存储及传输方法 |
Non-Patent Citations (2)
Title |
---|
"Rapid in-memory matrix multiplication using associative processor";Mohamed Ayoub Neggaz等;《 2018 Design, Automation & Test in Europe Conference & Exhibition (DATE)》;20180423;第1-4页 * |
"基于行存储模型的模拟列存储策略研究";于利胜等;《计算机研究与发展》;20100531;第144-151页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112579597A (zh) | 2021-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6216125B1 (en) | Coarse indexes for a data warehouse | |
EP3028137B1 (en) | Generating a multi-column index for relational databases by interleaving data bits for selectivity | |
US20120323867A1 (en) | Systems and methods for querying column oriented databases | |
CN104715039A (zh) | 基于硬盘和内存的列式存储和查询方法及设备 | |
US20140089318A1 (en) | Metadata querying method and apparatus | |
US20110208754A1 (en) | Organization of Data Within a Database | |
CN102073712B (zh) | 基于动态变化帧的过程数据全息归档和反演方法 | |
CN103019887A (zh) | 数据备份方法及装置 | |
Rotem et al. | Optimizing candidate check costs for bitmap indices | |
CN102890721A (zh) | 基于列存储技术的数据库建立方法及系统 | |
CN111125119A (zh) | 一种基于HBase的时空数据存储与索引方法 | |
CN101692231B (zh) | 一种适合空间查询的遥感影像分块排序存储方法 | |
CN113641681B (zh) | 一种空间自适应的海量数据查询方法 | |
Saeedan et al. | Spatial parquet: a column file format for geospatial data lakes | |
CN112579597B (zh) | 一种压缩敏感的数据库文件存储方法及系统 | |
CN111506271B (zh) | 数据段单元传输差异化管理方法和分布式块存储系统 | |
CN112434085A (zh) | 基于Roaring Bitmap的用户数据统计方法 | |
CN108932738B (zh) | 一种基于字典的位片索引压缩方法 | |
CN106909623A (zh) | 一种支持高效海量数据分析和检索的数据装置及数据存储方法 | |
Liu et al. | Efficiently learning spatial indices | |
CN115543195A (zh) | 一种适用于时序存储的block落盘方法及系统 | |
Saeedan et al. | Spatial parquet: A column file format for geospatial data lakes [extended version] | |
CN104572643B (zh) | 搜索方法和搜索引擎 | |
Vallejos et al. | K 2-treaps to represent and query data warehouses into main memory | |
CN102779097A (zh) | 流程数据的内存存取方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |