[发明专利]非关系型数据库Cassandra中分区路由方法无效

专利信息
申请号: 201110118795.2 申请日: 2011-05-10
公开(公告)号: CN102201986A 公开(公告)日: 2011-09-28
发明(设计)人: 陈国庆;陈叶辉 申请(专利权)人: 苏州两江科技有限公司
主分类号: H04L12/56 分类号: H04L12/56
代理公司: 南京经纬专利商标代理有限公司 32200 代理人: 许方
地址: 215123 江苏省苏州市*** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 关系 数据库 cassandra 分区 路由 方法
【说明书】:

技术领域

发明涉及一种路由方法,尤其涉及一种非关系型数据库Cassandra中分区路由方法。

背景技术

Cassandra是一个混合型的非关系的数据库,类似于Google的BigTable。其主要功能比Dynomite(分布式的Key-Value存储系统)更丰富,但支持度却不如文档存储MongoDB(介于关系数据库和非关系数据库之间的开源产品,是非关系数据库当中功能最丰富,最像关系数据库的。支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。)Cassandra最初由Facebook开发,后转变成了开源项目。它是一个网络社交云计算方面理想的数据库。以Amazon专有的完全分布式的Dynamo为基础,结合了Google BigTable基于列族(Column Family)的数据模型。Cassandra的主要特点就是它不是一个数据库,而是由一堆数据库节点共同构成的一个分布式网络服务,对Cassandra 的一个写操作,会被复制到其他节点上去,对Cassandra的读操作,也会被路由到某个节点上面去读取。对于一个Cassandra群集来说,扩展性能是比较简单的事情,只管在群集里面添加节点就可以了。和其他数据库比较,Cassandra具有三个突出特点:

模式灵活 :使用Cassandra,像文档存储,你不必提前解决记录中的字段。你可以在系统运行时随意的添加或移除字段。这是一个惊人的效率提升,特别是在大型部署上。

真正的可扩展性 :Cassandra是纯粹意义上的水平扩展。为给集群添加更多容量,可以指向另一台电脑。你不必重启任何进程,改变应用查询,或手动迁移任何数据。

多数据中心识别 :你可以调整你的节点布局来避免某一个数据中心起火,一个备用的数据中心将至少有每条记录的完全复制。

Cassandra分区路由方法的依据为Chord协议,更确切的说,Cassandra分区路由方法采用的算法是Chord协议的简化版实现。Chord是在2001年由麻省理工学院提出,其核心思想就是要解决在P2P应用中遇到的基本问题:如何在P2P网络中找到存在特定数据的节点。在Cassandra中,一个数据中心往往是由成千上万台廉价服务器组成,每台服务器被称为一个节点。在每台服务器中,数据都是以Key-value对存放,所以读操作就是按照请求的Key值去庞大的数据中心查找存在该key值对应的value的节点的过程。Cassandra具体路由算法如下:

系统中每个节点在一定空间内随机被分配一个ID值,代表其在环上的位置。每个节点都存储一张路由表,表内顺时针按照离本节点2、4、8、16、32.……2i的距离选定log2N个其他节点的IP信息来记录 。其每个节点存储的路由表格式如图2所示。如图1所示,一个具体的查询过程如下:

一个Key值的读请求从客户端到某个节点,该节点作为代理节点,对请求数据的Key值进行一致性哈希运算,得要一个键值,按照这个键值,根据集群组建时定下的复制策略来确定保存这个数据的n个节点的ID号,以查找其中一个节点为例,先从该代理节点的路由表中,找一个和该哈希得到的键值距离最近、并且存活在网络中的节点next(注:此距离即为key值哈希得到的键值和节点ID之间的差)。如果该节点的id巧合和上述根据请求Key值哈希得到的键值相等,那么你已经找到所要的节点。如果不相等,则到next进行递归查找。一般或需要经过多次查询才能找到数据所在的节点。这个次数是可以被证明小于等于log2N的。这就是Cassandra所用到的基本的路由思想。

现有Cassandra中分区路由方法的缺点是算法灵活性不足,比较死板,路由效率并不高,而且节点间如果存在大量路由信息,也会降低系统效率。存在此缺点的原因是,在Cassandra路由算法中,如图2所示,每个节点的路由表中第三列中只记录一个节点的信息,导致路由效率不高;而且,按照其第二列距离来说,此距离是由减法得到的,这里也有可以提升的空间。

发明内容

本发明所要解决的技术问题在于克服现有Cassandra中分区路由方法的缺点,提供一种具有更高效率的非关系型数据库Cassandra中分区路由方法。

本发明的思路是将Kad算法的思想引入现有Cassandra分区路由方法中,对现有分区路由方法进行改进,从而提高路由效率。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州两江科技有限公司,未经苏州两江科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201110118795.2/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top