1
我有一個卡桑德拉只有2列和16行的表。當我做一個cassandra cqlsh給出錯誤的計數
select * from <table name>
我只能看到15行。 當我做了
select count(*) from <table name>
我得到算作15 我在cqlsh 有1行內丟失了寫這些查詢,但如果我這樣做SELECT * FROM其中,appname =「」我得到的行。
當我使用nodejs casandra驅動程序做同樣的事情時,我得到正確的結果爲16. 這裏有什麼問題。我做了nodetool刷新以及相同的結果 我正在使用cassandra 2.18
cqlsh是客戶我quess,所以它應該給我的數據按照正確的驅動程序? – Nipun
Cqlsh是一個客戶端,所以它的行爲就像驅動程序。但你並不完全正確地說它應該提供相同的數據。原因是[最終一致性](https://en.wikipedia.org/wiki/Eventual_consistency)。兩個相同的查詢可以爲您提供不同的數據,具體取決於查詢哪個節點,使用哪種CL,以及數據已更新多少。如果你是初學者,你應該使用QUORUM寫作和閱讀,以免干擾一致性。 Cqlsh的默認一致性級別是ONE(低)。你知道你的駕駛一致性水平是什麼? – DineMartine
這是一個很棒的解釋。我查看了鏈接並瞭解它是什麼。我從datastax使用NodeJs連接器用於cassandra,並使用默認的一致性級別,即ONE本身。可能他們正在查詢不同的機器。 – Nipun