Cassandra

擁有分區大小超過 100MB 的 Cassandra 表有什麼副作用?

  • January 10, 2018

我正在執行 Apache Cassandra 3.11.1,並且有 6 個表大小處於失敗狀態。

Max partition is larger than 100MB.

對於這 6 個表,分區大小平均在 200MB 到 5GB 之間。這 6 個表被拆分為 3 個關鍵空間,並且特定於Akka Persistence eventsByTag(即 eventsByTag1、eventsByTag2)。

這些表中的大部分數據都沒有使用,它仍然需要可用。

我正在考慮更改數據模型,但同時我試圖更好地了解擁有大分區大小的影響。

除了記憶體不足或遇到Cassandra 限制之外,如果大多數數據未被訪問,那麼擁有大分區大小還有哪些其他負面影響?

一個可能相關(未確認)的具體案例是我目前正在使用物化視圖和彈性搜尋執行 Cassandra。有時,用於使用來自 Cassandra 的數據更新 elasticsearch 的預測會失敗,我還不確定這是否相關。

在這種情況下我收到的錯誤消息是:

Caused by: com.datastax.driver.core.exceptions.ReadTimeoutException: 
Cassandra timeout during read query at consistency LOCAL_QUORUM (2 
responses were required but only 1 replica responded)

使用這個版本的 Cassandra,它應該比以前更好,儘管仍然可能存在訪問許多 SSTable、僅在分區鍵上進行選擇等方面的性能問題。

此展示文稿很好地概述了為支持“寬分區”所做的工作,儘管它仍然是重新建模數據的推薦方法。

引用自:https://serverfault.com/questions/891484