Index: src/docbkx/book.xml =================================================================== --- src/docbkx/book.xml (revision 1089943) +++ src/docbkx/book.xml (working copy) @@ -823,11 +823,17 @@
Store - A Store hosts a MemStore and 0 or more StoreFiles. - StoreFiles are HFiles. + A Store hosts a MemStore and 0 or more StoreFiles (HFiles). A Store corresponds to a column family for a table for a given region. +
+ MemStore + The MemStore holds in-memory modifications to the Store. Modifications are KeyValues. + When asked to flush, current memstore is moved to snapshot and is cleared. + HBase continues to serve edits out of new memstore and backing snapshot until flusher reports in that the + flush succeeded. At this point the snapshot is let go. +
- HFile + StoreFile (HFile)
HFile Format The hfile file format is based on the SSTable file described in the BigTable [2006] paper and on @@ -852,6 +858,19 @@ tool.
+
+ Compaction + There are two types of compactions: minor and major. Minor compactions will usually pick up a couple of the smaller adjacent + files and rewrite them as one. Minors do not drop deletes or expired cells, only major compactions do this. Sometimes a minor compaction + will pick up all the files in the store and in this case it actually promotes itself to being a major compaction. + For a description of how a minor compaction picks files to compact, see the ascii diagram in the Store source code. + + After a major compaction runs there will be a single storefile per store, and this will help performance usually. Caution: major compactions rewrite all of the stores data and on a loaded system, this may not be tenable; + major compactions will usually have to be managed on large systems. + +
+ +