我需要在卡桑德拉数一堆“东西”。 我需要每隔几秒左右增加〜100-200个计数器。卡桑德拉不同的计数
但是我需要计算不同的“事物”。
为了不计数两次,我在CF中设置了一个键,该程序在增加计数器之前读取,例如,例如:
result = get cf[key];
if (result == NULL){
set cf[key][x] = 1;
incr counter_cf[key][x];
}
但是,这种读取操作会减慢群集的速度。 我试图减少阅读,使用几个列,例如例如:
result = get cf[key];
if (result[key1]){
set cf[key1][x] = 1;
incr counter_cf[key1][x];
}
if (result[key2]){
set cf[key2][x] = 1;
incr counter_cf[key2][x];
}
//etc....
然后我将读取次数从200+减少到大约5-6,但仍然会减慢群集速度。
我不需要精确的统计,但我不能使用位掩码,也不开花过滤器, 因为会有1M +++专柜和一些可以去超过4 000 000 000
我知道的Hyper_Log_Log计数,但我没有看到简单的方法使用它与许多计数器(1M +++)。
目前我正在考虑使用东京内阁作为外部键/价值商店, 但这种解决方案,如果工作,将不会像Cassandra那样具有可扩展性。