hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jonathan Gray <jg...@fb.com>
Subject RE: Question about HBase Delete
Date Thu, 20 Jan 2011 16:36:01 GMT
HBase (and BigTable) use delete markers (or tombstones).  As you say, once written, all data
is immutable.

These markers look very similar to normal Put operations but the HBase server logic processes
them in a special way and when we see delete markers we will appropriate mask (not return
or make visible) data which has been deleted.

See the Delete class for the specific delete APIs supported.

As Ted says, during compactions, this deleted data (masked by the delete markers) will be
permanently deleted and not included in the new compacted file.

Check out the BigTable paper for more information.

JG

> -----Original Message-----
> From: Ted Yu [mailto:yuzhihong@gmail.com]
> Sent: Thursday, January 20, 2011 8:25 AM
> To: dev@hbase.apache.org
> Subject: Re: Question about HBase Delete
> 
> The actual deletion happens after compaction.
> 
> FYI
> 
> On Thu, Jan 20, 2011 at 8:01 AM, mac fang <mac.hadoop@gmail.com> wrote:
> 
> > Hi, guys,
> >
> > I read the HBase code and found the delete interface only delete the
> > keyValue in the MemoryStore, but NOT really remove the keyValue in the
> > SequenceFile, only invoke the
> >
> >  this.writer.append(logKey, logEdit);
> >
> > will it remove the index in the SequenceFile. And I saw the BigTable
> > design and seems it looks like a immutable system which you even can
> > NOT delete a file. How the delete/update can be achieved in HBase
> > system? Any hints are welcome!
> >
> > regards
> > macf
> >

Mime
View raw message