Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 始终可写与始终可读_Database_Cassandra_Amazon Dynamodb - Fatal编程技术网

Database 始终可写与始终可读

Database 始终可写与始终可读,database,cassandra,amazon-dynamodb,Database,Cassandra,Amazon Dynamodb,我正在读《卡桑德拉——权威指南》一书。书中一页写道 Dynamo Cassandra选择始终可写,选择将协调的复杂性推迟到读取操作,并实现巨大的性能提升 但是我不完全理解为什么总是可读的比总是可写的更贵,有人能给我一些直觉或例子吗?例如,如果一个数据库选择“总是读取”,那么它可能会得到什么样的性能损失?@Keelar Cassandra中的写操作只涉及将数据(带有时间戳)附加到文件(以简化)。因此,写作速度非常快。数据协调的负担是读取时间 在读取一些数据时,Cassandra将从许多节点读取值,

我正在读《卡桑德拉——权威指南》一书。书中一页写道

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

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

@Keelar

Cassandra中的写操作只涉及将数据(带有时间戳)附加到文件(以简化)。因此,写作速度非常快。数据协调的负担是读取时间

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

话虽如此,Datastax的工作人员已经做了很多工作,现在读取性能大致相当于写入性能


这个解释非常简单。有关更多详细信息,您可以阅读官方文档,其中解释了写入路径/读取路径

+1,以更好地解释“Cassandra选择始终可写,选择将对账的复杂性推迟到读取操作”,但我想问的是,如果数据库选择“总是读取”,那么它可能会得到什么样的性能损失?如果选择最大化读取吞吐量,那么您可能会以某种方式权衡一致性。一个总是在读取请求时快速回复值的系统无法保证值的一致性和分区的容错性。这就是CAP定理的A(可用性)。