我很新的卡桑德拉卡桑德拉鬥分裂,我只是Datastax課程學過,但我沒有在這裏找到桶足夠的信息,或在互聯網上,在我的應用程序需要使用桶分裂我的數據。的分區大小
我有一些工具會制定措施,並且每天分割措施(時間戳作爲分區鍵)可能有點風險,因爲我們可以輕鬆達到分區100MB的限制。每個度量都涉及用ID標識的特定對象。所以我想用一個桶,但我不知道該怎麼做。
我使用卡桑德拉3.7
這裏是我的表將如何模樣,大致爲:
CREATE TABLE measures (
instrument_id bigint,
day timestamp,
bucket int,
measure_timestamp timestamp,
measure_id uuid,
measure_info float,
object_id bigint,
PRIMARY KEY ((instrument_id, day, bucket), measure_timestamp, measure_id)
);
我想加入的object_id作爲分區鍵的,但後來我鬆散的「流措施「,因爲我感興趣的是在特定的一天或一段時間內看到文書所做的所有措施。
- 所以問題是,當我想請求一個特定樂器的一天的所有記錄時,如果有多個桶,該怎麼辦?
- 如果我想的分區限制爲400個000行,我怎麼能知道插入數據時,其中的羣組I必須插入數據?
- 有沒有一種方法可以知道存儲桶的數量?
非常感謝您的幫助!
謝謝你的回答。事情是我不知道儀器可以做多少措施。我的意思是當他們檢測物體時,物體的數量沒有限制。但是,好吧,我可以照你說的做:) 因此,沒有「內置」方式來「計數」桶的數量?插入數據時它是如何工作的? – Miwauke
@Miwauke你不知道你的樂器的速度嗎?如果一臺儀器的吞吐量*爲每秒一次測量,那麼在一天內最多會有** M = 86400 **每臺儀器每天測量一次。如果*吞吐量*是每秒1k次測量,那麼您每天有每個儀器**每天有** M = 86M **措施。您不需要一個*確切*號碼,(停車)猜測應該沒問題。**您**決定在哪個桶中寫入數據:每臺儀器應計算其自己的度量值,並應根據每桶正確的*度量計數將其寫入相應的桶中。 – xmas79
我不知道儀器的速度,但我可以調查。謝謝你的回答,所以我必須跟蹤「一切」,以便在正確的桶中寫入,這是我想知道的。計算一個桶中的條目數量的最佳方法是什麼?我應該在某個地方使用櫃檯嗎? – Miwauke