CN104572893A - 一种数据库中的数据混合存储方法 - Google Patents
一种数据库中的数据混合存储方法 Download PDFInfo
- Publication number
- CN104572893A CN104572893A CN201410818000.2A CN201410818000A CN104572893A CN 104572893 A CN104572893 A CN 104572893A CN 201410818000 A CN201410818000 A CN 201410818000A CN 104572893 A CN104572893 A CN 104572893A
- Authority
- CN
- China
- Prior art keywords
- data
- column
- storage
- row
- database
- 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.)
- Granted
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/2282—Tablespace storage structures; Management thereof
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
本发明提供一种数据库中的数据混合存储方法,将采用列存储的原数据库表中的列数据分为列存储数据和行存储数据并存储在同一数据库表中;所述行存储数据的存储结构在内部融合列存储数据的数据存储特征;所述数据库表中的列存储数据是根据运行系统查询特征选择的数据列,用于进行列扫描多关联的条件列等数据查询定位操作。本发明具有的优点和积极效果是:为在复杂应用场景下的列存数据库提供了一种有效解决select*应用模型物化效率低下的方法,提高了列存数据库对于select*类型的查询效率,扩展了列存数据库的适用范围;减小了现有行列混合存储方式占用的空间,同时数据的压缩效率与列存储相差不多。
Description
技术领域
本发明属于数据库存储技术领域,尤其是涉及一种数据库中的数据混合存储方法。
背景技术
随着列存数据库技术的不断发展,越来越多的场景应用在列存数据库上。其中一些场景应用复杂多变,既包括适合列存储技术数据库的场景,例如对一个大表(列数很多的表)的某些列的查询、定位、访问,也包括一些在列存储数据库上执行效率低下的场景,例如上面提到的对列数非常多的表进行类似于select*的查询。对于把大表的整行作为投影列的查询一般是行存数据库擅长的地方,所以列存储数据库通常考虑融合行存储技术的方法来解决这个问题。
现有技术中,解决的方式是在列存储数据的基础上冗余存储一份行存数据,如图1所示,当进行select*类型的投影访问时,不再访问列存储数据,而是直接访问行存储结构的数据,从而提高IO访问效率。这种结构存在的问题是:存储空间占用增加很多,且由于行存储的特点导致数据压缩的效率比列存储要低上不少,所以存储空间额外占用可能会进一步加大。
发明内容
本发明要解决的问题是提供一种数据库中的数据混合存储方法。
为解决上述技术问题,本发明采用的技术方案是:
一种数据库中的数据混合存储方法,将采用列存储的原数据库表中的列数据分为列存储数据和行存储数据并存储在同一数据库表中;所述行存储数据的存储结构在内部融合列存储数据的数据存储特征,所述列存储的原数据库表中的每列数据存储为行存储数据时在一起。
优选的,所述数据库表中的列存储数据是根据运行系统查询特征选择的数据列,用于进行列扫描多表关联的条件列等数据查询定位操作。
优选的,所述列存储数据保存的列数据以及行存储数据中保存的行数据并不是固定的,可以根据应用场景需要自由定制。
优选的,所述列存储数据和行存储数据的总和需要包含所有列的数据内容,可以有冗余但不能缺少数据。
本发明具有的优点和积极效果是:
解决了列存数据库中当遇到访问整行的数据(select*),同时访问的数据记录又非常离散时,会造成大量的离散I/O,引起I/O性能低下,严重影响执行性能;
为在复杂应用场景下的列存数据库提供了一种有效解决select*应用模型物化效率低下的方法,提高了列存数据库对于select*类型的查询效率,扩展了列存数据库的适用范围;减小了现有行列混合存储方式占用的空间,同时数据的压缩效率与列存储相差不多。
附图说明
图1是现有技术行列混合存储方式的数据结构示意图;
图2是本发明一实施例行列混合存储方式的数据结构示意图;
图3是本发明另一实施例行列混合存储方式的数据结构示意图;
图4是本发明另一实施例根据已有的列存储数据和行存储数据建立需要的行存储数据或者列存储数据的过程示意图;
具体实施方式
下面结合附图对本发明的具体实施例做详细说明。
一种数据库中的数据混合存储方法,将采用列存储的原数据库表中的列数据分为列存储数据和行存储数据并存储在同一数据库表中,所述行存储数据的存储结构在内部融合列存储数据的数据存储特征,所述列存储的原数据库表中的每列数据存储为行存储数据时在一起,如图2所示。
所述数据库表中的列存储数据是根据运行系统查询特征选择的数据列,用于进行列扫描多表关联的条件列等数据查询定位操作。
其中所述列存储数据保存的列数据以及行存储数据中保存的行数据并不是一定固定的,可以根据应用场景需要自由定制,如图3所示。
所述列存储数据和行存储数据的总和需要包含所有列的数据内容,可以有冗余但不能缺少数据。这样在一些应用场景中查询语句的特征如果发生了变化,可以根据已有的列存储数据和行存储数据建立需要的行存储数据或者列存储数据,如图4所示。
所述行存储数据的存储结构在内部融合列存储数据的数据存储特征,这样可以为数据压缩提供较好的数据排列特征,提高数据压缩效率。
以上对本发明的一个实施例进行了详细说明,但所述内容仅为本发明的较佳实施例,不能被认为用于限定本发明的实施范围。凡依本发明申请范围所作的均等变化与改进等,均应仍归属于本发明的专利涵盖范围之内。
Claims (4)
1.一种数据库中的数据混合存储方法,其特征在于包含:将采用列存储的原数据库表中的列数据分为列存储数据和行存储数据并存储在同一数据库表中;所述行存储数据的存储结构在内部融合列存储数据的数据存储特征,所述列存储的原数据库表中的每列数据存储为行存储数据时在一起。
2.根据权利要求1所述的数据库中的数据混合存储方法,其特征在于:所述数据库表中的列存储数据是根据运行系统查询特征选择的数据列,用于进行列扫描多表关联的条件列等数据查询定位操作。
3.根据权利要求2所述的数据库中的数据混合存储方法,其特征在于:所述列存储数据保存的列数据以及行存储数据中保存的行数据并不是固定的,可以根据应用场景需要自由定制。
4.根据权利要求3所述的数据库中的数据混合存储方法,其特征在于:所述列存储数据和行存储数据的总和需要包含原数据库表所有列的数据内容,可以有冗余但不能缺少数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410818000.2A CN104572893B (zh) | 2014-12-24 | 2014-12-24 | 一种数据库中的数据混合存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410818000.2A CN104572893B (zh) | 2014-12-24 | 2014-12-24 | 一种数据库中的数据混合存储方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104572893A true CN104572893A (zh) | 2015-04-29 |
CN104572893B CN104572893B (zh) | 2018-02-27 |
Family
ID=53088955
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410818000.2A Active CN104572893B (zh) | 2014-12-24 | 2014-12-24 | 一种数据库中的数据混合存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104572893B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106354829A (zh) * | 2016-08-31 | 2017-01-25 | 天津南大通用数据技术股份有限公司 | 一种列存数据库的物化方法及装置 |
CN110362572A (zh) * | 2019-06-25 | 2019-10-22 | 浙江邦盛科技有限公司 | 一种基于列式存储的时序数据库系统 |
CN117216068A (zh) * | 2023-11-07 | 2023-12-12 | 本原数据(北京)信息技术有限公司 | 支持数据库混合负载的数据存储方法、装置及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102682108A (zh) * | 2012-05-08 | 2012-09-19 | 同方光盘股份有限公司 | 一种行列混合的数据库存储方法 |
CN102737132A (zh) * | 2012-06-25 | 2012-10-17 | 天津神舟通用数据技术有限公司 | 基于数据库行列混合存储的多规则复合压缩方法 |
US20130151502A1 (en) * | 2011-12-12 | 2013-06-13 | Sap Ag | Mixed Join of Row and Column Database Tables in Native Orientation |
CN103440245A (zh) * | 2013-07-15 | 2013-12-11 | 西北工业大学 | 数据库系统的行列混合存储方法 |
-
2014
- 2014-12-24 CN CN201410818000.2A patent/CN104572893B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130151502A1 (en) * | 2011-12-12 | 2013-06-13 | Sap Ag | Mixed Join of Row and Column Database Tables in Native Orientation |
CN102682108A (zh) * | 2012-05-08 | 2012-09-19 | 同方光盘股份有限公司 | 一种行列混合的数据库存储方法 |
CN102737132A (zh) * | 2012-06-25 | 2012-10-17 | 天津神舟通用数据技术有限公司 | 基于数据库行列混合存储的多规则复合压缩方法 |
CN103440245A (zh) * | 2013-07-15 | 2013-12-11 | 西北工业大学 | 数据库系统的行列混合存储方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106354829A (zh) * | 2016-08-31 | 2017-01-25 | 天津南大通用数据技术股份有限公司 | 一种列存数据库的物化方法及装置 |
CN110362572A (zh) * | 2019-06-25 | 2019-10-22 | 浙江邦盛科技有限公司 | 一种基于列式存储的时序数据库系统 |
CN110362572B (zh) * | 2019-06-25 | 2022-07-01 | 浙江邦盛科技股份有限公司 | 一种基于列式存储的时序数据库系统 |
CN117216068A (zh) * | 2023-11-07 | 2023-12-12 | 本原数据(北京)信息技术有限公司 | 支持数据库混合负载的数据存储方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104572893B (zh) | 2018-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102667735B (zh) | 混合式存储器架构 | |
CN105718455A (zh) | 一种数据查询方法及装置 | |
US11269902B2 (en) | Time series data management method, device, and apparatus | |
CN102682108B (zh) | 一种行列混合的数据库存储方法 | |
CN105677742A (zh) | 一种存储文件的方法及装置 | |
CN102710763B (zh) | 一种分布式缓存池化、分片及故障转移的方法及系统 | |
CN102857554A (zh) | 基于分布式存储系统进行数据冗余处理方法 | |
CN102662855B (zh) | 一种二叉树的存储方法、系统 | |
CN104461387A (zh) | 一种提高固态硬盘对未映射区域的读性能的方法 | |
CN104361113A (zh) | 一种内存-闪存混合存储模式下的olap查询优化方法 | |
CN103440245A (zh) | 数据库系统的行列混合存储方法 | |
CN104679442A (zh) | 一种提高磁盘阵列性能的方法及装置 | |
CN105159616A (zh) | 一种磁盘空间管理方法及装置 | |
CN104572893A (zh) | 一种数据库中的数据混合存储方法 | |
CN103914483A (zh) | 文件存储方法、装置及文件读取方法、装置 | |
CN104809018A (zh) | 一种嵌入式系统软件注入热补丁的方法及系统 | |
CN104572505A (zh) | 一种保证海量数据缓存最终一致性的系统及方法 | |
CN104424240A (zh) | 多表关联方法、主服务节点、计算节点及系统 | |
CN105868093A (zh) | 一种日志写入方法及服务端 | |
CN105718561A (zh) | 一种特定分布式数据存储文件结构去冗余构造方法及系统 | |
CN105426472A (zh) | 分布式计算系统及其数据处理方法 | |
CN104536780A (zh) | 一种电子游戏资源高效加载方法及系统 | |
CN103823641A (zh) | 一种在线扩容的虚拟卷系统及其实现方法 | |
US10229142B2 (en) | Method and system for handling binary large objects | |
CN104361029A (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 |