tombstone

    1熱度

    3回答

    如果表被刪除,SSTables永遠不會被刪除。 我有一個表的墓碑數超過100000,因爲我的閱讀查詢拋出了墓碑錯誤。然後我刪除了表,但是這並沒有刪除SSTable文件。我重新創建了表格,然後運行了我的選擇查詢,我又看到了墓碑錯誤。我不明白爲什麼舊的墓碑錯誤再次出現? 此外,SSTable何時會在磁盤上被刪除?

    7熱度

    1回答

    我知道及早清除墓碑是危險的,因爲它可能會導致刪除的數據被複活,但是如果所有複製品都確認刪除,那麼此類刪除應該是安全的。例如,如果一個表的複製因子爲3,並且包含該關鍵字的所有3個節點都已確認它們具有適當的邏輯刪除,那麼執行刪除邏輯刪除的壓縮應該是安全的,因爲不會存在數據的延續副本。 卡桑德拉是否可以安全移除墓碑? 我寧願將gc_grace_seconds設置爲無窮大,並依靠這種類型的墓碑安全壓實,而

    1熱度

    1回答

    我有一對卡桑德拉表上的墓碑壓實不斷運行,我相信這是卡桑德拉進程高CPU使用率背後的原因。 設置我有包括: compaction = {'tombstone_threshold': '0.01', 'tombstone_compaction_interval': '1', 'class': 'org.apache.cassandra.db.compaction.LeveledCompaction

    2熱度

    2回答

    我有一些字段被存儲到Cassandra中,但其中一些字段在任何給定點都可能爲空。由於它們中有很多,如果我在將它們添加到INSERT之前沒有檢查每個空值,它會使代碼更具可讀性。 這樣做是否有害處? 編輯! 我找到了傑拉票。但我無法理解最終從票證實施的解決方案。 https://issues.apache.org/jira/browse/CASSANDRA-7304

    2熱度

    1回答

    我們正在使用Cassandra的 cqlsh 5.0.1 | Cassandra 2.1.14.1272 | DSE 4.8.7 | CQL spec 3.2.1 我們有大約> 60萬行,其中我們已經插在大多數細胞的NULL此行。我們運行一個查詢,掃描8000行,日期爲昨天,今天,明天。 然而,當我啓用跟蹤我只發現: Read 101 live and 997 tombstone cells

    0熱度

    1回答

    我想了解在Cassandra中刪除後如何快速回收空間。我發現了很多描述墓碑的文章,以及當您進行範圍查詢時可能產生的問題,Cassandra必須掃描大量墓碑行才能找到更稀缺的活動文章。而且我知道你不能將gc_grace_seconds設置得太低,否則你將有殭屍記錄,如果一個節點脫機並在墓碑從其餘機器上消失後又回來了,殭屍記錄就會彈出。這一切都有道理。 但是,如果墓碑放置在鍵那麼它應該有可能回收其餘行

    2熱度

    1回答

    所以我在查詢表中的數據時遇到了這個異常。我在網上閱讀了很多內容,從我的理解中可以看出,這是因爲我有很多空行。但是,解決這個問題的方法是什麼?我可以輕鬆擺脫所有這些空值嗎? 更新: 我跑nodetool compact並試圖擦洗。在這兩種情況下,我都明白 Exception in thread "main" java.lang.AssertionError: [SSTableReader(path=

    0熱度

    1回答

    我正在爲使用Cassandra作爲數據庫系統的CMS編寫代碼。 CMS的優勢之一是使用後端計算機預先計算各種東西,該計算機可以針對CMS中更改的數據永久運行。 例如,CMS告訴列表系統已創建或更改頁面。列表系統將該信息保存在名爲list的表中。這些信息只是一個班輪,它告訴我哪些頁面需要處理。 Column family: list Row: concerned website (i.e.

    1熱度

    1回答

    根據Question regarding Tombstone,爲什麼沒有upserts創建墓碑? 根據datastax文檔,每個upsert的How is data updated ?,cassandra認爲是刪除,然後插入,因爲插入的新時間戳會覆蓋舊的時間戳。舊時間戳數據必須標記爲與墓碑相關的刪除。 爲什麼我們有矛盾的說法?否則我在這裏錯過了什麼? USECASE: 數據插入與卡桑德拉唯一鍵(U

    0熱度

    1回答

    我必須模擬現有android進程將被殺死的情況,並因此立即生成墓碑文件。 我使用下面的命令序列,以實現該: adb shell monkey -p com.google.android.apps.maps -c android.intent.category.LAUNCHER 1 adb shell pgrep com.google.android.apps.maps | xargs kill