总是可写的而且总是可读的

时间:2013-09-20 16:37:26

标签: database cassandra amazon-dynamodb

我正在读“Cassandra --- The Definitive Guide”这本书。在一页中,书中说

  

Dynamo Cassandra选择始终可写,选择将协调的复杂性推迟到读取操作,并实现巨大的性能提升。

但我不完全理解为什么总是可读性比总是可写的更贵,有人能给我直觉或一些例子吗?例如,如果数据库选择“始终读取”,那么它可能会带来什么样的性能损失?

1 个答案:

答案 0 :(得分:3)

@Keelar

Cassandra中的写操作只涉及将数据(带时间戳)附加到文件(以简化)。因此写作速度非常快。数据核对的负担带来了阅读时间。

当读取一些数据时,Cassandra将从许多节点读取值并进行合并排序以获取最新版本的写入数据,使用写入时间戳作为比较的平均值。因此,由于你需要做一些工作,所以读取的性能比写入要差一些。

话虽这么说,Datastax的人们做了很多工作,现在读取的性能与写入性能相当。

这种解释非常简单。有关详细信息,请参阅官方文档,其中说明了写入路径/读取路径 here here