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 |
---|---|---|
EP2711856B1 (en) | Method and device for metadata query | |
US6216125B1 (en) | Coarse indexes for a data warehouse | |
EP2724269B1 (en) | System, method and data structure for fast loading, storing and access to huge data sets in real time | |
US20120323867A1 (en) | Systems and methods for querying column oriented databases | |
TWI603211B (zh) | Construction of inverted index system based on Lucene, data processing method and device | |
CN104715039A (zh) | 基于硬盘和内存的列式存储和查询方法及设备 | |
EP3028137A1 (en) | Generating a multi-column index for relational databases by interleaving data bits for selectivity | |
Rotem et al. | Optimizing candidate check costs for bitmap indices | |
CN102890721A (zh) | 基于列存储技术的数据库建立方法及*** | |
CN101692231B (zh) | 一种适合空间查询的遥感影像分块排序存储方法 | |
CN113641681B (zh) | 一种空间自适应的海量数据查询方法 | |
CN108932738B (zh) | 一种基于字典的位片索引压缩方法 | |
CN112579597B (zh) | 一种压缩敏感的数据库文件存储方法及*** | |
CN106909623B (zh) | 一种支持高效海量数据分析和检索的数据装置及数据存储方法 | |
CN112434085A (zh) | 基于Roaring Bitmap的用户数据统计方法 | |
Liu et al. | Efficiently learning spatial indices | |
CN115422194A (zh) | 一种用于数据库索引构建的方法与设备 | |
Saeedan et al. | Spatial parquet: A column file format for geospatial data lakes [extended version] | |
Vallejos et al. | K 2-treaps to represent and query data warehouses into main memory | |
CN102779097A (zh) | 流程数据的内存存取方法 | |
CN114527929A (zh) | 基于双哈希模糊布隆滤波器云存储数据融合方法 | |
Lv et al. | A data frame based spatiotemporal indexing algorithm for moving objects | |
CN104572643A (zh) | 搜索方法和搜索引擎 | |
Ma et al. | BreadZip: a combination of network traffic data and bitmap index encoding algorithm | |
CN117648338B (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 |