[发明专利]一种键值库数据存储中柔性事务管理方法有效
申请号: | 201210169301.8 | 申请日: | 2012-05-28 |
公开(公告)号: | CN102693312A | 公开(公告)日: | 2012-09-26 |
发明(设计)人: | 王建民;丁贵广;朱妤晴;衣国垒;杨义繁 | 申请(专利权)人: | 清华大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京清亦华知识产权代理事务所(普通合伙) 11201 | 代理人: | 罗文群 |
地址: | 100084*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 键值 数据 存储 柔性 事务管理 方法 | ||
技术领域
本发明涉及一种键值库数据存储中柔性事务管理方法,属于计算机数据库管理技术领域。
背景技术
近年来,在线交互式服务平台发展迅速,如社交网络、电子邮件等领域。广大用户群的存在及海量用户生成内容(User-Generated Content)的形成催生了对系统平台高可扩展性和高并发的要求。不仅如此,互联网应用对在线服务的无间断服务要求,使得系统平台不得不提供具有高可用性和容错性的服务。“云计算”的概念正应此发展趋势而生。
在数据管理方面,这些应用需求向数据管理系统提出了高可扩展性和高可用性的要求。尽管发展成熟的传统关系型数据库广为网络服务所用,但在高可扩展性和高可用性方面却难以保证。随着“云计算”概念的提出,在存储方面出现了一类具代表性的云存储系统,即键值库(Key-value store,亦称为NoSQL DB)。键值库放弃了传统数据库的关系模型,而采用基于键值对的简单数据模型,牺牲了部分如事务访问这样的数据库特性,以提高数据存储系统的可扩展性和容错性。此类键值库系统在实际互联网中得到广泛应用,如用于谷歌服务的大表(Bigtable)、用于亚马逊服务的简单数据库(SimpleDB),用于雅虎服务的皮纳茨(PNUTS)、用于脸谱(Facebook)和推特(Twitter)服务的卡桑德拉(Cassandra)。
Cassandra作为键值库数据存储中的典型代表,与关系数据库相比,优势在于数据模型简单,具有高扩展性、可用性和容错性,提供简单易用的应用程序开发接口。Cassandra是基于对等互联网结构(peer-to-peer,P2P)的存储系统,特点是存储系统中的每一台计算机(即“节点”,下同)都拥有对等的地位,各自负责一部分数据的存储与备份,不存在单一节点控制整个系统的资源分配。采用对等互联网结构有利于能够提高系统的并发性、容错性和扩展性。因为每个节点功能相同,都能够响应系统外部的数据请求,所有节点并行地响应外部数据请求,可以提高系统的数据吞吐量,即提供良好的并发性。提高容错性是指,在部分节点出错不能正常工作(即“失效”)时,因为数据在其他节点上有备份,并且节点功能相同容易相互替代,所以会由其他正常工作的节点替代失效节点响应外部请求,系统能够保持对外的正常响应,系统的容错性能得到了提高。又因为每个节点功能相同,所以在原有节点退出系统或新节点加入系统时,不会对系统扁平的结构产生变化,只需要将系统中的数据进行重新分配即可,因此系统具有良好的可扩展性。
P2P架构为Cassandra系统带来高并发性、容错性和扩展性的同时,也带来了一些缺点,其中最重要的一点是它只能实现数据的最终一致性,不支持数据库事务功能。数据一致性是要求不同用户在同时访问一个数据库系统的同一数据时,应该得到相同的(即一致的)数据内容。在分布式环境下,数据通常需要有多个备份,以防止单个节点失效造成系统的数据丢失,但同时也带来了如何保持多个备份间数据一致的问题。理想的数据完全一致要求数据的所有备份在同一时刻都具有相同的数据内容。而Cassandra实现的最终一致性是指,系统并不能保证每一时刻不同备份的数据都是一致的,只能保证系统在经过相当长的时间后稳定状态的数据是一致的。这是一种较的一致性,在系统运行的时候,有可能不同用户同时访问同一个数据会得到不同的返回结果。数据库事务是指数据库中作为单个逻辑工作单元执行的一系列操作,这些操作包括插入数据、更新数据、删除数据等。数据库事务机制可以保证事务单元内的所有操作都成功完成,或者所有操作都不进行。传统的数据库要求事务具有原子性(所有操作要么都成功,要么都失败)、一致性(事务执行的结果必须是使数据库从一个状态变到另一个状态),隔离性(不同事务的操作相互不影响),持久性(成功执行的事务对数据的改动不会丢失),这四大特性统称为ACID特性。Cassandra只能够实现最终以执行,因此不能满足数据库对事务的要求,这会给上层应用开发人员带来麻烦,因为他们必须考虑在应用层解决多个用户并发访问带来的系统不一致问题。
发明内容
本发明的目的是提出一种键值库数据存储中柔性事务管理方法,使事务管理的数据范围可以根据用户指定而变化,并方便用户在使用数据库时保持数据的一致性。
本发明提出的键值库数据存储中柔性事务管理方法,包括以下步骤:
数据的写入过程:
(1)用户将写入键值库的数据提交到协调模块,写入键值库的数据中带有键值库行键,协调模块将用户的写入键值库的数据和写入操作封装成为日志;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210169301.8/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置