When issuing Delete to hbase, I am aware that it does not remove the data, immediatelly. But when does deleting data happens, I mean, physically?
When issuing Delete to hbase, I am aware that it does not remove the
Share
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
When you write something to HBase, it gets stored in memstore (RAM) and then gets written to the disk after that. These disk writes are generally immutable barring compactions.
Deletes are taken care of during major compactions in hbase – these run about every 24 hours & can be triggered via the API or shell. Major compactions process delete markers – minor compactions don’t.
When you issue normal deletes, it results in a delete (tombstone) marker – these delete markers & the data they represent are removed during compaction (not present in the merged file post compaction).
Also, if you delete data and put more data but with an earlier timestamp than the tombstone timestamp (& which meets the criteria of the earlier delete), further gets may be masked by the delete/tombstone marker (only to be fixed after major compaction has run) & hence you will not receive the inserted value till after major compaction in this case.
hope it helps