首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

cassandra的事宜(1.x,2.x)

2013-11-30 
cassandra的事务(1.x,2.x)?1.x2.0行级操作原子性BATCH事务,即一个Batch原子性执行多个DML操作。当一个请求

cassandra的事务(1.x,2.x)

?

1.x2.0行级操作原子性BATCH事务,即一个Batch原子性执行多个DML操作。当一个请求需要操作多个table的时候,它非常有用。添加轻量级事务,避免race condition问题。

举例:两个人同时提交相同用户名的注册请求,确认not exist 后,同时提交注册请求。这种情况因为是相同的rowkey(用户名),所以cassandra会将后后提交的人信息会覆盖前者。cassandra通过paxos解决该问题。

BEGIN BATCH
? INSERT INTO?...

? UPDATE?....

? INSERT?...
? DELETE?...
? INSERT .....

APPLY BATCH;

# 轻量级事务通过IF子句实现

INSERT INTO USERS (login, email, name, login_count)
values ('jbellis', 'jbellis@datastax.com', 'Jonathan Ellis', 1)
IF NOT EXISTS

?详见:http://www.datastax.com/documentation/cql/3.0/webhelp/index.html#cql/cql_reference/batch_r.html?详见:http://www.datastax.com/dev/blog/lightweight-transactions-in-cassandra-2-0

?

热点排行