我需要在卡桑德拉數一堆「東西」。 我需要每隔幾秒左右增加〜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那樣具有可擴展性。