Cassandra 行级锁定支持与 DataStax 驱动程序

标签 cassandra datastax-java-driver

Cassandra 行级锁定支持,同时由并发用户访问同一行

我们正处于购物车应用程序的设计阶段,考虑将 Cassandra 作为库存数据库。
现在的要求是,如果多个用户同时访问 Inventory DB 中的同一产品行。
例如:- 产品表:productID productQuantitiy
1000 1
如果第一个用户在购物车中选择产品“1000”并将产品数量添加为“1”,则访问同一产品的其他用户应该无法选择
此产品直到第一个用户免费(更新产品数量为 0)。 cassandra 是否也为这种场景提供行级锁定支持

最佳答案

  • 锁定对于分布式系统来说是一个复杂的问题。它还通常会导致操作缓慢。
  • Cassandra 2.0 将引入一种形式 lightweight transactions .
  • 同样在 2.0 中将支持 CAS 操作。基本上这将允许您模拟行级锁(更新行 iif 条件)
  • 虽然我不确定我是否完全理解您要解决的问题,但我认为您正在寻找的是一致的计数器。这些已经支持一段时间了。
  • 关于Cassandra 行级锁定支持与 DataStax 驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18446555/

    相关文章:

    java - 将 ByteBuffer 字段写入 Cassandra 时出现异常

    cassandra - Datastax 驱动程序限制选项

    cassandra - 失败 : Connection reset by peer

    cassandra - 由于流式传输错误,无法添加新的 Cassandra 数据中心

    cassandra - 使用 Cassandra 的 Java 对象映射 API 插入 now()

    ssl - Cassandra.yaml 设置客户端 SSL

    cassandra - 我应该什么时候在 Cassandra 中运行清理?

    java - 查询生成器 in 子句到准备好的语句

    java - 在 cassandra 中使用触发器

    java - DataStax Cassandra Exception : InvalidRequestException(why:there were 2 markers(? ) 在 CQL 中但有 3 个绑定(bind)变量