参考文档:http://www.datastax.com/documentation/cassandra/1.2/webhelp/index.html#cassandra/dml/dml_about_transactions_c.html#concept_ds_j1p_m5x_zj

  Cassandra不提供完整的符合ACID特性的事务,ACID事务是关系型数据库系统的标准事务行为:

  •原子性

    在事务中每一个步要么成功或者回滚整个事务。

  •一致性

    一个事务不能使数据库处于不一致的状态。

  •隔离性

    事务不能相互干扰。

  •持久性

    事务完成以后,更改便持久地保存在数据库之中。

  作为一个非关系型数据库,Cassandra 不支持连接和外键,因此从ACID的角度来说不提供一致性。例如,让把钱从A账户移到B账户总账目中不改变。 Cassandra支持行一级的原子性和隔离性,但与之交换的是高度的可用性和快速的读写性能。

  Cassandra写入具有持久性。

一、原子性

  在Cassandra中,一个写入在行一级是原子性的,插入或更新一个行的各个列认为是一个写入操作。Cassandra不支持多行插入时要么有要么全无这样的事务。同样,但写入在一个副本节点上成功,但是在其他节点失败时,回顾是不会发生的。Cassandra中可以通过一个发送操作的错误报告通知客户端,但事实上一个副本节点上仍然存留着写入的数据。

  例如,如果使用写的一致性为QUORUM、副本因子为3,Cassandra会复制写入到集群中的各个节点并且等待两个节点的返回。如果写入在其中一个节点失败但是在其他节点成功。Cassandra会报告一个错误去在那个节点上重新执行写入然而,另一个节点写入成功是不会自动回滚的。

  Cassandra使用时间戳去决定哪一个是最新的更新。时间戳室友客户端程序提供的。当请求数据时最新的时间戳总是会获得胜利,因此如果多个客户端会话同时地更新同一行相同的列,最新的更新是那个最终坚持的。

二、可调的一致性

  当同时地更新多个行或者多个表时没有锁或者事务依赖。Cassandra支持可以调整的可用性和一致性,并且能提供给你分区耐受性。从CAP 的来说,Cassandra可以给你很强的一致性当数据连续的分布在在一个分布式数据集群的各个节点上。

  用户可以选择一个运行准则——多少节点必须接收到DML命令或者对一个SELECT查询做出回应。

三、隔离性

  在Cassandra 1.1之前,可能会看到部分的更新当一个用户更新行但是另一个用户读取相同行。例如,当一个用户写入一个行,那个行包括2000列,另一个用户可能读取相同行并且见到一些列,但不能看到所有列当写入还在执行的时候。

  完整的行级别的隔离性现在准备就绪了因此写入到一行是隔离的当客户端执行写入时,并且不可被其他用户访问直到写入成功。

  从事务ACID的角度看,现在的增强给了Cassandra AID事务的支持。在存储引擎中一个写入是行一级隔离的。

四、持久性

  Cassandra写入具有持久性。在返回成功之前,副本节点上所有的会被记录在内存中和磁盘上的commit log文件中。如果在内存中的表刷新到磁盘之前,系统崩溃了或者服务器宕机了,commit log文件会在系统重启后重新执行以恢复任何丢失的数据。除了本地的持久性(数据立马被写入到磁盘)将数据复制其他节点上也增强了持久性。

Cassandra1.2文档学习(14)—— 事务和并发控制的更多相关文章

  1. Cassandra1.2文档学习解读计划——为自己鼓劲

    最近想深入研究一下Cassandra,而Cassandra没有中文文档,仅有的一些参考书都是0.7/0.6版本的.因此有个计划,一边学习文档(地址:http://www.datastax.com/do ...

  2. Cassandra1.2文档学习(16)—— 模式的变化

    参考文档:http://www.datastax.com/documentation/cassandra/1.2/webhelp/index.html#cassandra/dml/dml_schema ...

  3. Cassandra1.2文档学习(15)—— 配置数据一致性

    参考文档:http://www.datastax.com/documentation/cassandra/1.2/webhelp/index.html#cassandra/dml/dml_config ...

  4. Cassandra1.2文档学习(1)——Cassandra基本说明

    参考文档:http://www.datastax.com/documentation/cassandra/1.2/webhelp/index.html#cassandra/architecture/a ...

  5. Cassandra1.2文档学习(19)—— CQL索引

    参考文档:http://www.datastax.com/documentation/cql/3.0/webhelp/index.html#cql/ddl/ddl_primary_index_c.ht ...

  6. Cassandra1.2文档学习(17)—— CQL数据模型(上)

    参考文档:http://www.datastax.com/documentation/cql/3.0/webhelp/index.html#cql/ddl/ddl_anatomy_table_c.ht ...

  7. Cassandra1.2文档学习(13)—— 数据读取

    参考文档:http://www.datastax.com/documentation/cassandra/1.2/webhelp/index.html#cassandra/dml/dml_about_ ...

  8. Cassandra1.2文档学习(12)—— hint机制

    参考文档:http://www.datastax.com/documentation/cassandra/1.2/webhelp/index.html#cassandra/dml/dml_about_ ...

  9. Cassandra1.2文档学习(11)—— 删除数据

    参考文档:http://www.datastax.com/documentation/cassandra/1.2/webhelp/index.html#cassandra/dml/dml_about_ ...

随机推荐

  1. Qt增加webp格式支持

    Webp 是一种图片文件格式,能在相同质量的情况下比 PNG 文件尺寸小巧. Chrome 应用商店图片已全部转换为 WebP 格式 YY(基于Qt开发)也已经把图片格式换成webp了 http:// ...

  2. PHP.4-DIV+CSS标准网页布局准备工作(下)

    DIV+CSS标准网页布局准备工作 区块属性(区块模型) 属 性 描 述 Margin(注) 是定义区块外边界与上级元素距离的属性,用1到4个值来设置元素的边界,每个值都是长度.百分比或者auto,百 ...

  3. iOS XMPP(1)

    关键词: 即时通讯技术 协议   了解xmpp的目的,工作原理   XMPP是基于XML的协议,传送的是XML格式流;IP地址:联网时电脑的唯一标识  Mac地址:不联网时电脑的唯一标志; OSI七层 ...

  4. 深入理解计算机系统第二版习题解答CSAPP 2.20

    T2Uw(w)=x, x≥0时 T2Uw(w)=x+2w, x<0时 利用上面的公式,重新计算2.19的问题.

  5. phpnow升级php版本 php-5.2.14-Win32升级至5.3.5

    PHPNow自带的PHP版本为5.2.14,而最后一次更新在于2010-9-22.下面来升级PHP5.3.5: 1.下载安装文件: 先下载PHP5.3.5,下载地址:php-5.3.5-Win32-V ...

  6. mysql 修改 character_set_database 编码格式

    操作系统:win10  x64 Server version : 5.5.46 MySQL Community Server (GPL) mysql 修改 character_set_database ...

  7. Java中final变量的初始化方式

    原文转自:http://blog.csdn.net/zhangjk1993/article/details/24196847 public class FinalTest1 { //--------- ...

  8. Web系统大规模并发----电商秒杀与抢购

    原文链接请参见:http://uule.iteye.com/blog/2186786

  9. Android 给应用定制皮肤

    Android 给应用定制皮肤 导读:皮肤也就是相关的资源文件单独放置在某个工程中,一种皮肤一个工程文件.一个工程包括N多的资源文件,多个工程间资源的关系是,文件名,资源ID等完全一样. 在实现程序功 ...

  10. HTML5와 CSS3 적용기

    HTML5의 DTD 선언 <!DOCTYPE html>  HTML5의 인코딩 선언 <meta charset="utf-8">  그리고나서는 새로 ...