我使用三臺機器各自具有32 GB的RAM和4芯(在亞馬遜AWS)高讀延遲在卡桑德拉
我使用卡桑德拉的所有默認配置的集羣上卡桑德拉2.1.12。
我使用它爲我的網站事件分析具有約每天1 GB的數據有3
我的數據的replcation因子(時間序列數據)已發展到約85 GB每臺機器現在是給上讀取延遲大約4.5 s (4000 ms)
我的行很少更新所以,我沒有使用LevelOrder Compaction。 而我寫與編輯的周圍.03ms
延遲表現良好:
這是ColumnFamily中的定義:
CREATE TABLE TimeSeriesData(
logyear int,
logmonth int,
logdate int,
logdatetime timestamp,
cookie text,
sessionid text,
...
PRIMARY KEY (logyear, logmonth, logdate, logdatetime, cookie)
) WITH CLUSTERING ORDER BY (logmonth ASC, logdate ASC, logdatetime ASC, cookie ASC)
AND bloom_filter_fp_chance = 0.01
AND caching = '{"keys":"ALL", "rows_per_partition":"NONE"}'
AND comment = ''
AND compaction = {'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy'}
AND compression = {'sstable_compression': 'org.apache.cassandra.io.compress.LZ4Compressor'}
AND dclocal_read_repair_chance = 0.1
AND default_time_to_live = 0
AND gc_grace_seconds = 864000
AND max_index_interval = 2048
AND memtable_flush_period_in_ms = 0
AND min_index_interval = 128
AND read_repair_chance = 0.0
AND speculative_retry = '99.0PERCENTILE';
展望由當前正在logyear我的分區鍵。所以,我的整個數據將在一個分區中。話雖如此,分區器負責在集羣中的節點之間分配(通過分區鍵)行的組。
在這種情況下,它會是一個sinlge節點或不是?
此外,儘管讀取單個分區的數據,爲什麼讀取延遲非常差?
單個SSTable可以有多個分區,反之亦然?我正在使用org.apache.cassandra.dht.RandomPartitioner
。
Moverover,如上所述應該是列族的空閒分區密鑰,每天增量數據爲1GB。
請添加一致性級別和追蹤轉儲。它可能會幫助其他人 –
我已添加更多詳細信息。你可以請看看它。 – deenbandhu