一种数据库中的数据混合存储方法技术

技术编号:11404671 阅读:70 留言:0更新日期:2015-05-03 20:44
本发明专利技术提供一种数据库中的数据混合存储方法,将采用列存储的原数据库表中的列数据分为列存储数据和行存储数据并存储在同一数据库表中;所述行存储数据的存储结构在内部融合列存储数据的数据存储特征;所述数据库表中的列存储数据是根据运行系统查询特征选择的数据列,用于进行列扫描多关联的条件列等数据查询定位操作。本发明专利技术具有的优点和积极效果是:为在复杂应用场景下的列存数据库提供了一种有效解决select*应用模型物化效率低下的方法,提高了列存数据库对于select*类型的查询效率,扩展了列存数据库的适用范围;减小了现有行列混合存储方式占用的空间,同时数据的压缩效率与列存储相差不多。

【技术实现步骤摘要】
一种数据库中的数据混合存储方法
本专利技术属于数据库存储
,尤其是涉及一种数据库中的数据混合存储方法。
技术介绍
随着列存数据库技术的不断发展,越来越多的场景应用在列存数据库上。其中一些场景应用复杂多变,既包括适合列存储技术数据库的场景,例如对一个大表(列数很多的表)的某些列的查询、定位、访问,也包括一些在列存储数据库上执行效率低下的场景,例如上面提到的对列数非常多的表进行类似于select*的查询。对于把大表的整行作为投影列的查询一般是行存数据库擅长的地方,所以列存储数据库通常考虑融合行存储技术的方法来解决这个问题。现有技术中,解决的方式是在列存储数据的基础上冗余存储一份行存数据,如图1所示,当进行select*类型的投影访问时,不再访问列存储数据,而是直接访问行存储结构的数据,从而提高IO访问效率。这种结构存在的问题是:存储空间占用增加很多,且由于行存储的特点导致数据压缩的效率比列存储要低上不少,所以存储空间额外占用可能会进一步加大。
技术实现思路
本专利技术要解决的问题是提供一种数据库中的数据混合存储方法。为解决上述技术问题,本专利技术采用的技术方案是:一种数据库中的数据混合存储方法,将采用列存储的原数据库表中的列数据分为列存储数据和行存储数据并存储在同一数据库表中;所述行存储数据的存储结构在内部融合列存储数据的数据存储特征,所述列存储的原数据库表中的每列数据存储为行存储数据时在一起。优选的,所述数据库表中的列存储数据是根据运行系统查询特征选择的数据列,用于进行列扫描多表关联的条件列等数据查询定位操作。优选的,所述列存储数据保存的列数据以及行存储数据中保存的行数据并不是固定的,可以根据应用场景需要自由定制。优选的,所述列存储数据和行存储数据的总和需要包含所有列的数据内容,可以有冗余但不能缺少数据。本专利技术具有的优点和积极效果是:解决了列存数据库中当遇到访问整行的数据(select*),同时访问的数据记录又非常离散时,会造成大量的离散I/O,引起I/O性能低下,严重影响执行性能;为在复杂应用场景下的列存数据库提供了一种有效解决select*应用模型物化效率低下的方法,提高了列存数据库对于select*类型的查询效率,扩展了列存数据库的适用范围;减小了现有行列混合存储方式占用的空间,同时数据的压缩效率与列存储相差不多。附图说明图1是现有技术行列混合存储方式的数据结构示意图;图2是本专利技术一实施例行列混合存储方式的数据结构示意图;图3是本专利技术另一实施例行列混合存储方式的数据结构示意图;图4是本专利技术另一实施例根据已有的列存储数据和行存储数据建立需要的行存储数据或者列存储数据的过程示意图;具体实施方式下面结合附图对本专利技术的具体实施例做详细说明。一种数据库中的数据混合存储方法,将采用列存储的原数据库表中的列数据分为列存储数据和行存储数据并存储在同一数据库表中,所述行存储数据的存储结构在内部融合列存储数据的数据存储特征,所述列存储的原数据库表中的每列数据存储为行存储数据时在一起,如图2所示。所述数据库表中的列存储数据是根据运行系统查询特征选择的数据列,用于进行列扫描多表关联的条件列等数据查询定位操作。其中所述列存储数据保存的列数据以及行存储数据中保存的行数据并不是一定固定的,可以根据应用场景需要自由定制,如图3所示。所述列存储数据和行存储数据的总和需要包含所有列的数据内容,可以有冗余但不能缺少数据。这样在一些应用场景中查询语句的特征如果发生了变化,可以根据已有的列存储数据和行存储数据建立需要的行存储数据或者列存储数据,如图4所示。所述行存储数据的存储结构在内部融合列存储数据的数据存储特征,这样可以为数据压缩提供较好的数据排列特征,提高数据压缩效率。以上对本专利技术的一个实施例进行了详细说明,但所述内容仅为本专利技术的较佳实施例,不能被认为用于限定本专利技术的实施范围。凡依本专利技术申请范围所作的均等变化与改进等,均应仍归属于本专利技术的专利涵盖范围之内。本文档来自技高网...
一种数据库中的数据混合存储方法

【技术保护点】
一种数据库中的数据混合存储方法,其特征在于包含:将采用列存储的原数据库表中的列数据分为列存储数据和行存储数据并存储在同一数据库表中;所述行存储数据的存储结构在内部融合列存储数据的数据存储特征,所述列存储的原数据库表中的每列数据存储为行存储数据时在一起。

【技术特征摘要】
1.一种数据库中的数据混合存储方法,其特征在于包含:将采用列存储的原数据库表中的列数据分为列存储数据和行存储数据并存储在同一数据库表中;所述行存储数据的存储结构在内部融合列存储数据的数据存储特征,所述列存储的原数据库表中的每列数据存储为行存储数据时在一起;所述数据库表中的列存储数据是根据运行系统查询特征选择的数据列,用于进行列扫描多表关联的...

【专利技术属性】
技术研发人员:贺岩郑黎辉鹿明武新崔维力
申请(专利权)人:天津南大通用数据技术股份有限公司
类型:发明
国别省市:天津;12

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1