2013-06-04 54 views
5

在Cassandra中有大約2000萬行的表格。獲取Cassandra中的最後一條記錄

該表按primary_key列排序,該列是一個字符串。我們使用'ByteOrderedPartitioner',所以行按primary_key排序,而不是primary_key列的散列。

什麼是獲得表中最後一條記錄的好方法?

非常感謝!

+0

強烈建議您不要使用,因爲維護ByteOrderedPartitioner需要時您的數據分佈的變化,或者您擴展羣集。如果可能,應該更改數據模型,以便可以使用列範圍查詢。 – Richard

回答

1

如果對於「最後一條記錄」,您指的是最後一條記錄,我不認爲您可以像「GET」那樣執行它,您必須掃描行。您可以做的最好的,afaik,根據您的主鍵選擇一個很好的範圍來掃描(良好的開始鍵)。

從datastax文檔:

「使用有序分區允許有序掃描通過主鍵 這意味着你可以掃描行,就好像您是通過傳統的指數移動光標 例如,如果。你的應用程序的用戶 名稱作爲行鍵,你可以掃描行用戶的名字落在傑克和喬之間 。這種類型的查詢是不可能使用 隨機分配行鍵,因爲密鑰存儲在順序 其MD5哈希(不是按順序)。「

如果你找到更好的解決方案讓我知道。

問候, 卡羅

相關問題