Cassandra并发读写

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Cassandra并发读写相关的知识,希望对你有一定的参考价值。

我试图了解Cassandra并发读写。我遇到了被叫的房产

concurrent_reads (Defaults are 8)

A good rule of thumb is 4 concurrent_reads per processor core. May increase the value for systems with fast I/O storage

所以根据定义,纠正我如果错了,4个线程可以同时访问数据库。所以,假设我正在尝试运行以下查询,

SELECT max(column1) from 'testtable' WHERE duration = 'month'; 

我只是想尝试执行此查询,在执行此查询时将使用并发读取?

谢谢, 掠夺

答案

这是每个主机一次可以运行多少活动读取。如果在读取阶段下键入nodetool tpstats,则可以查看。如果活动状态与并发读取器的数量挂钩并且您有一个待处理队列,则可能值得尝试增加此值。当使用体面的堆和SSD时,人们在~128时使用它是非常正常的。这与硬件有关,因此默认值是保守的。

请记住,此线程上的活动非常快,通常以子ms为单位进行测量,但假设它们只需要1毫秒,即使只有4分钟,根据一定的定律,每个节点每秒最多有4000(本地)读取(1000/1) * 4),RF = 3和仲裁一致性意味着每个请求至少执行2次读取,因此可以将2除以考虑理论(现实生活中更ickier)的最大吞吐量。

在获取副本的数据(每个执行本地读取和发送响应)之后,在协调器上处理聚合函数(即max),并且由于在本机传输和请求响应阶段中处理,因此并不直接影响并发读取。

另一答案

从cassandra 2.2开始,标准的聚合函数min, max, avg, sum, count是内置的。所以,我不认为concurrent_reads会对你的查询产生任何影响。

以上是关于Cassandra并发读写的主要内容,如果未能解决你的问题,请参考以下文章

Cassandra 如何处理并发更新?

cassandra 并发技术介绍

cassandra 2.2.6中的高读写延迟

cassandra大表读写timeout的配置解决

如何使用Apache Flink阅读Cassandra?

Cassandra 读写一致性(Consistency)详解