Tombstone
টম্বস্টোন
Delete-কে একটা বিশেষ marker record হিসেবে লেখা — append-only storage-এ পুরনো value-কে 'নেই' বলার স্মৃতিফলক।
also: delete-marker
কেন? পুরনো SSTable-এ key-টা এখনো আছে — marker না থাকলে read path সেটাই ফিরিয়ে দেবে:
run2 (newer): k1 → TOMBSTONE ← get(k1) এখানেই থামবে: not found
run1 (older): k1 → "hello" ← নিরাপদে উপেক্ষিত
- Tombstone না পৌঁছালো older run-এ zombie value resurrection — replication lag-এর ক্লাসিক bug
- Compaction শেষ level-এ tombstone drop করে — তার আগে রাখতেই হয়
- MVCC-র dead tuple ভিন্ন জিনিস, কাজ একই: অদৃশ্য কিন্তু জায়গা দখল করা
Delete-heavy workload-এ tombstone নিজেই bloat — compaction policy এখানে পরীক্ষা হয়।