2015-10-19 98 views
4

我是卡桑德拉的新手。據我所知,每個鍵區可以存儲的最大表格數量是Integer.Max_Value。然而,從大量表格的性能角度來看(速度,存儲等)會有什麼影響?有什麼建議嗎?Cassandra - 表的最大合理數量是多少?

在此先感謝

Altober

回答

6

雖然有合法的用例有很多在卡桑德拉的表,他們是罕見的。你的用例可能就是其中之一,但要確保它是。在不瞭解你想要解決的問題的情況下,顯然很難提供指導。顯然,許多表格需要更多的資源。多少?這取決於設置和使用情況。

例如,如果您有一千個表並同時寫入所有這些表,則會出現RAM爭用,因爲每個表都會有memtables,並且每個memtable都有一定的開銷很大程度上取決於哪個版本的Cassandra,你的設置等)。

但是,如果您有一千張表,但不同時寫入所有這些表,爭用就會減少。每桌仍有一定的開銷,但會有更多RAM用於保存活動表的memtables。

磁盤IO也是如此。如果你同時讀寫很多不同的表,磁盤將會做更多的隨機IO。

即使擁有大量表格也不是什麼大問題,即使有多少你可以擁有的限制 - 你可以擁有儘可能多的數據,只要你有足夠的內存來保存跟蹤的結構他們。雖然有大量的表格並且同時讀寫所有表格都會成爲問題。它將需要更多的資源,而不是對相同數量的讀取和寫入更少的表。

0

在我看來,如果你可以將數據分割成多個表格,甚至數千個表格都是有益的。

優點:

  1. 假設你想在未來擴展到10+節點爲2的RF將產生具有跨節點均勻分佈的數據,因此不實用。
  2. 另一點是隨機IO,如果你將同時從很多表中讀取,那麼它會很大,但我不明白爲什麼只有一個表時會有差異。你也會尋找另一個分區鍵,所以IO沒有區別。
  3. 當緊湊化發生時,如果只有桌子上,它將不得不做更少的工作。來自SSTables的值必須加載到內存中,合併並保存回來。

缺點:

  1. 有多個表將產生具有多個memtables。我認爲這對RAM增加的差異是微不足道的。

此外,檢查出的鏈接,他們幫助了我很多
http://manuel.kiessling.net/2016/07/11/how-cassandras-inner-workings-relate-to-performance/
https://www.infoq.com/presentations/Apache-Cassandra-Anti-Patterns

請下跌自由編輯自己的帖子,我還挺新的大數據

相關問題