[发明专利]数据的存储、读取方法及装置有效
| 申请号: | 202210357633.2 | 申请日: | 2022-04-07 |
| 公开(公告)号: | CN114443670B | 公开(公告)日: | 2022-07-08 |
| 发明(设计)人: | 杨琪 | 申请(专利权)人: | 北京奥星贝斯科技有限公司 |
| 主分类号: | G06F16/22 | 分类号: | G06F16/22 |
| 代理公司: | 北京亿腾知识产权代理事务所(普通合伙) 11309 | 代理人: | 张明;周良玉 |
| 地址: | 100102 北京市朝阳区望京东园*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 数据 存储 读取 方法 装置 | ||
本说明书实施例提供一种数据的存储、读取方法及装置,在数据的存储方法中,获取待存储的第一数据行。对第一数据行中的各属性列进行分组,得到若干列簇。对于若干列簇中任意的第一列簇,根据第一列簇中目标属性列的数目统计信息,确定对应的存储模式。在存储模式为稠密模式的情况下,存储第一列簇中各属性列各自的属性值,并记录对应的稠密存储信息,其中至少包括第一列簇中各属性列各自的偏移地址。在存储模式为稀疏模式的情况下,存储第一列簇中各非空属性列各自的属性值,并记录对应的稀疏存储信息,其中至少包括第一列簇中各非空属性列各自的列下标及其偏移地址。
技术领域
本说明书一个或多个实施例涉及数据库领域,尤其涉及一种数据的存储、读取方法及装置。
背景技术
在基于日志结构合并树 (Log-Structured-Merge Tree,LSM-Tree)存储架构实现的分布式数据库中,通常会存储对应于每个DML操作的数据行。其中,对于INSERT操作,对应数据行中大部分属性列都是有意义的;对于UPDATE操作,对应数据行中只有主键列和修改列的新值是有意义的;对于DELETE操作,对应数据行中只有主键列是有意义的。
对于上述包含不同数目个有意义属性列的数据行,如何在不浪费存储资源的情况下,对其进行正确存储就成为要解决的问题。
发明内容
本说明书一个或多个实施例描述了一种数据的存储、读取方法及装置,针对任一数据行,可以灵活选择相应的存储模式进行存储,由此可以在不浪费存储资源的情况下,确保数据的查询性能。
第一方面,提供了一种数据的存储方法,包括:
获取待存储的第一数据行;
对所述第一数据行中的各属性列进行分组,得到若干列簇;
对于所述若干列簇中任意的第一列簇,根据所述第一列簇中目标属性列的数目统计信息,确定对应的存储模式;所述存储模式包括稠密模式或稀疏模式;
在所述存储模式为所述稠密模式的情况下,存储所述第一列簇中各属性列各自的属性值,并记录对应的稠密存储信息,其中至少包括所述第一列簇中各属性列各自的偏移地址;
在所述存储模式为所述稀疏模式的情况下,存储所述第一列簇中各非空属性列各自的属性值,并记录对应的稀疏存储信息,其中至少包括所述第一列簇中各非空属性列各自的列下标及其偏移地址。
第二方面,提供了一种数据的读取方法,包括:
接收数据库的读请求;
根据所述读请求,确定待读取的第一属性列的第一列下标,以及所述第一属性列所属的数据行;
根据所述第一列下标,从所述数据行对应的若干列簇中,确定出所述第一属性列所属的第一列簇;
根据所述第一列簇的存储模式,从该存储模式对应的存储信息中,获取所述第一属性列的偏移地址;所述存储模式包括稠密模式或稀疏模式;
至少根据所述偏移地址,读取所述第一属性列的属性值并返回。
第三方面,提供了一种数据的存储装置,包括:
获取单元,用于获取待存储的第一数据行;
分组单元,用于对所述第一数据行中的各属性列进行分组,得到若干列簇;
确定单元,用于对于所述若干列簇中任意的第一列簇,根据所述第一列簇中目标属性列的数目统计信息,确定对应的存储模式;所述存储模式包括稠密模式或稀疏模式;
第一存储单元,用于在所述存储模式为所述稠密模式的情况下,存储所述第一列簇中各属性列各自的属性值,并记录对应的稠密存储信息,其中至少包括所述第一列簇中各属性列各自的偏移地址;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奥星贝斯科技有限公司,未经北京奥星贝斯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210357633.2/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置





