我想設計我的集羣,並且希望根據表/列家族的大小設置適當的key_cache和row_cache大小 。 與mysql類似,我們在Cassandra/CQL中有類似的東西嗎?如何以MB爲單位獲取Cassandra Table/ColumnFamily大小
SELECT table_name AS "Tables",
round(((data_length + index_length)/1024/1024), 2) "Size in MB"
FROM information_schema.TABLES
WHERE table_schema = "$DB_NAME";
或者任何其他方式分別查找數據大小和索引的大小。
或者每個節點需要什麼配置才能將我的表完全放入內存 而不考慮任何複製因素。
讓我告訴你我的應用程序設計。所以基本上,我有一個Web服務,並且每個請求應用程序執行大約500 <#ofDatabaseQueries <1000。總行數約爲10億,隨着時間的推移它會不斷增加,每行不超過100庫侖(按照表格),並且沒有列有大量數據。顯然,我將使用雲並在不同節點之間分發數據,但出於測試目的,我正在使用單個節點。我認爲最好的方法是緩存所有行,以便每個請求的數據庫查詢數可以正確處理。 – piyush 2013-04-11 12:53:21
行緩存可能是一個很好的選擇,但如果可以的話,您應該嘗試減少每個請求的數據庫查詢數。 Cassandra可能每個節點每秒處理10k次讀取,因此每個節點每秒只有10個請求。 – Richard 2013-04-11 12:59:11
從哪裏得到這個數字10k讀取/秒/節點,是不是取決於硬件?這是一個很好的信息順便說一句,你可以分享一些鏈接,我可以看到這些性能相關的信息。 查詢/請求並不都是唯一的,所以我猜,行緩存會對我有幫助,我是cassandra的新手,我正在閱讀關於它的所有內容。 – piyush 2013-04-11 13:20:52