在NoSQL中读写之前是什么?

时间:2015-02-27 11:07:14

标签: cassandra nosql

我读了一本书:" Cassandra是一个NoSQL数据库,它促进了先读后读而不是关系模型"。

" read-before-write"在NoSQL上下文中意味着什么?

1 个答案:

答案 0 :(得分:9)

写入前读取意味着在修改单元格之前检查单元格的值。

Read-Before写入是Cassandra中一个巨大的反模式。你读过的任何鼓励这样做的书都应该怀疑。通常,执行Cassandra写操作时不会获得有关数据库当前状态的任何信息。其中一个副作用是对Cassandra的所有写操作实际上都是更新操作。这允许极快的写入,但确实有一些限制。

如果确实需要在写入之前检查数据库的状态,Cassandra提供“检查和设置”(CAS)操作,在修改记录之前使用PAXOS建立数据库状态。这些内容与update table set x = 3 if y = 1类似。 CAS查询比C *中的正常写入慢几个数量级,应该谨慎使用。