[发明专利]一种数据库的读写方法及系统有效
申请号: | 201110273321.5 | 申请日: | 2011-09-15 |
公开(公告)号: | CN102999519A | 公开(公告)日: | 2013-03-27 |
发明(设计)人: | 邓明;潘佳伟;邢钦华 | 申请(专利权)人: | 上海盛付通电子商务有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 逯长明;王宝筠 |
地址: | 201203 上海市浦东新区*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 读写 方法 系统 | ||
技术领域
本发明涉及计算机数据处理领域,特别是涉及一种数据库的读写方法及系统。
背景技术
随着社会及科技的发展,计算机在日常生活和工作中得到了日益广泛的应用。如今由于日常生活和工作的需要,用户需要通过计算机对许多数据进行存储处理,而数据库系统就是一种能够实现上述内容的应用系统,是为适应数据处理的需要而发展起来的一种较为理想的数据处理的核心机构。现实的日常生活和工作中,用户要求能够方便的对数据库进行数据存储和数据查询等访问操作。
分布式数据库系统是数据库系统中的一种,是在集中式数据库系统的基础上发展起来的,它是计算机技术和网络技术结合的产物,包括客户端、元数据节点和数据存储节点。其中客户端部署在业务应用服务器上,业务应用程序通过客户端向分布式存储系统集群发出数据访问请求;元数据节点用来存放元数据信息;数据存储节点用来存放数据块。
现有技术的数据库读写方法,其进行读写的数据库的数据存储形式有两种。一种采用行存储,基于行的存储方式的行数据库因为依赖外部索引才能加速对于数据的读写,而外部索引的维护会消耗大量的时间与空间,所以对行数据库进行读写时会消耗大量的时间与空间资源;另一种采用列存储,列存储因为具有自引索压缩比高的特性,所以不会消耗大量的时间与空间资源,但是这种存储方式会导致写入一行数据需要进行多次磁盘操作的结果,所以写入性能低下。
因此,在现代数据规模巨大的背景下,如何提供一种新的数据库的读写方法,既能实现数据的快速写入又能实现数据的快速读取,是现有技术急需解决的技术问题。
发明内容
有鉴于此,本发明提供了一种数据库的读写方法及系统,以克服现有技术中由于采用单种存储方式而导致的数据库写入性能低下或读取性能低下的问题。
为实现上述目的,本发明提供如下技术方案:
一种数据库的读写方法,元数据节点将记录数据根据主关键字横向切分为多个数据段,每一个数据段保存为一份写入副本和对应的多份读取副本,其中写入副本采用行存储形式进行存储,读取副本采用列存储形式进行存储,各读取副本中数据采用不同的方式组织,该方法包括:
接收客户端发起的访问请求;
在访问请求是数据写入操作的情况下:
根据元数据节点中保存的全局索引和访问请求中的主关键字确定待写入数据需写入的数据区间以及与该数据区间对应的写入副本节点,所述全局索引用于指示主关键字与数据区间以及与该数据区间对应的写入副本节点之间的对应关系;
向待写入数据需要写入的写入副本节点发起操作请求,所述写入副本节点将更新数据追加写入其增量块中,所述增量块为记录更新数据的磁盘文件,所述更新数据为预置条数内待写入数据的集合;
在访问请求是数据读取操作的情况下:
判断访问请求中是否有主关键字,如果有主关键字,则根据元数据节点中保存的全局索引和所述主关键字确定待读取数据所在的数据区间以及该数据区间对应的读取副本节点,并在有其他过滤条件的情况下,由所述读取副本节点确定一个与其他过滤条件最匹配的本地索引,在没有其他过滤条件的情况下,则任意选定一个本地索引,所述本地索引用于指示关键词与存储块的对应关系,所述存储块为存储数据的最小单位快;
如果没有主关键字,则将访问请求发送至当前元数据节点下所有的数据区间,并在有其他过滤条件的情况下,由所述所有的数据区间对应的读取副本节点确定一个与其他过滤条件最匹配的本地索引,在没有其他过滤条件的情况下,则任意选定一个本地索引;
确定所述待读取数据可能位于的存储块及与所述存储块对应的读取副本节点,并将所述访问请求发送给各个读取副本节点;
所述读取副本节点判断其增量块中是否存在所述待读取数据的更新数据,如果是,就从增量块中读取待读取数据,如果否,则从所述本地索引指示的存储块中读取待读取数据,所述增量块为记录更新数据的磁盘文件。
其中,所述全局索引的建立方法包括:
对所有的写入副本进行采样,并对采样得到的数据按照主关键字进行排序;
对排序后的数据划分区间,并为划分后的数据区间分配对应的初始节点,形成初始全局索引;
将所述初始全局索引发送给各个写入副本节点,以使所述各个写入副本节点依据所述数据区间与初始节点之间的对应关系分布数据;
元数据节点接收各个写入副本节点返回的数据分布结果,并依据所述数据分布结果划分存储块,制定数据区间均衡调度计划并发送给各个写入副本节点,通知各个写入副本节点依据所述数据区间均衡调度计划进行排序,所述存储块为存储数据的最小单位快;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海盛付通电子商务有限公司,未经上海盛付通电子商务有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110273321.5/2.html,转载请声明来源钻瓜专利网。