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并发读写的主要内容,如果未能解决你的问题,请参考以下文章