2
我已經閱讀了大量有關在Cassandra中構建反向索引的文檔,但是我沒有看到如何使用這些結果來獲取適用的行。Cassandra 1.1:查詢多行鍵,但不是範圍
我知道關於行切片,但這不適用於此。我的問題是:如何根據行鍵獲取大量特定的行?
在僞SQL:
SELECT * FROM table where Primark_Key IN (2, 32, 76, 1000, 2427)
我已經閱讀了大量有關在Cassandra中構建反向索引的文檔,但是我沒有看到如何使用這些結果來獲取適用的行。Cassandra 1.1:查詢多行鍵,但不是範圍
我知道關於行切片,但這不適用於此。我的問題是:如何根據行鍵獲取大量特定的行?
在僞SQL:
SELECT * FROM table where Primark_Key IN (2, 32, 76, 1000, 2427)
謝謝。你能否詳細說明爲什麼這不是有效的? – IamIC
當然 - 基本上,因爲每個密鑰都可以存儲在你的環上不同的地方,所以cassandra可以做的並不是很多優化,而且一次只能獲得一個。這可能是完全正確的,它的值得思考的問題尤其是如果你的multiget最終需要大量的密鑰。 – BigBen
爲了澄清,當你執行一個multiget時,協調器將並行地請求來自不同節點的單個行。當單個節點必須讀取多行時,它基本上是順序的。總的來說,多部件不一定高效;應儘可能使用寬行模型(通常需要非規範化)。 –