我們有一個32節點的Cassandra集羣,每個節點使用Murmur3分區程序時大約有100Gb。它具有時間序列數據,我們在兩列上構建二級索引以執行範圍查詢。目前,羣集在所有數據批量加載並重建所有二級索引的情況下都很穩定。當我們使用cql客戶端或hector執行範圍查詢時,就會出現這個問題,只是行數的查詢花費了大量的時間,而且大多數情況下會導致節點由於內存問題而失敗。節點有8GB內存,Cassandra MAX堆被分配到4 GB。有沒有人遇到過這樣的問題?有更好的方法來做計數查詢嗎?Cassandra內存不足以查詢cql查詢
1
A
回答
1
我有類似的問題,通常可以通過重新設計模式來解決您計劃針對Cassandra中的數據執行的查詢來解決這個問題。對於時間序列數據,根據查詢情況,最好使用寬度較大的表格。如果您的查詢需要1個小時的粒度數據,那麼最好有一個寬表格,每個小時將所有時間戳記的數據點存儲在一行中,這樣您只需讀取1行就可以獲得1小時所需的全部數據。
既然你說數據是批量加載的,我假設你可能已經把所有的數據放到一個表中,這就是爲什麼get_count查詢需要花費大量時間。我們有一個8GB內存的集羣,但已經將堆大小設置爲3 GB,因爲在4GB時,內存利用率幾乎總是在8GB [完全利用率]。
相關問題
- 1. Cassandra 1.2 CQL查詢集
- 2. MySQL查詢內存不足
- 3. 從cql查詢cassandra返回true而不是查詢結果
- 4. Apache Cassandra CQL查詢解釋計劃
- 5. Datastax - Cassandra CQL Solr查詢分頁問題
- 6. Cassandra CQL時間範圍查詢
- 7. mysql查詢瀏覽器內存不足
- 8. 查詢sqlite錯誤內存不足xcode
- 9. Cassandra - 使用行緩存的節點/ CQL查詢withoult
- 10. Cassandra DataModel查詢
- 11. NDepend CQL計數查詢
- 12. Apache Cassandra 3.10:查詢Cassandra DB中的遠程應用程序連接的CQL查詢
- 13. 笨查詢綁定和escate_str不足以
- 14. 如何在cassandra CQL中使用like查詢?
- 15. cassandra cql查詢條件在rowkey和聚類列
- 16. 如何將參數傳遞給WSO2 DSS中的Cassandra CQL查詢
- 17. 使用DataStax客戶端將參數傳遞給Cassandra CQL查詢
- 18. 條件查詢不CQL工作3.0.0
- 19. DSE solr查詢不能從CQL工作
- 20. 春季啓動不記錄CQL查詢
- 21. CQL替換爲「不在」子查詢
- 22. 如何查詢Sitecore存檔以及可以查詢的內容?
- 23. 動態Cassandra查詢
- 24. 優化cassandra查詢
- 25. Cassandra範圍查詢
- 26. Cassandra - valid_from/valid_to查詢
- 27. Cassandra選擇查詢
- 28. 內部查詢的MySQL查詢緩存
- 29. 無法查詢內存不足錯誤的Neo4J數據庫
- 30. 運行大型查詢的SQL Server 2008 - 內存不足
Vinay,謝謝你的回覆。我正在按照您的建議重新設計我的模式。你還可以談談你如何在cassandra中加載數據..使用客戶端寫入或cassandra/hadoop bulkoutformat技術? – amey
我沒有要求加載任何現有數據。我修改了[YCSB](https://github.com/brianfrankcooper/YCSB/)以生成並插入我的應用程序所需的數據。具有多個寬表證明瞭爲我的應用程序提供單個表格更有效 –