Dear Wiki user, You have subscribed to a wiki page or wiki category on "Lucene-hadoop Wiki" for change notification. The following page has been changed by JimKellerman: http://wiki.apache.org/lucene-hadoop/Hbase/HbaseArchitecture ------------------------------------------------------------------------------ - This effort is still a "work in progress". Please feel free to add comments, but please make them stand out by bolding or underlining them. Thanks! + This effort is still a "work in progress". Please feel free to add + comments, but please make them stand out by bolding or underlining + them. Thanks! + + '''NOTE:''' This document has been replaced by the contents of the + README file provided by Michael Cafarella along with an initial code + base that is attached to + [http://issues.apache.org/jira/browse/HADOOP-1045 Hadoop Jira Issue 1045] + + Where appropriate, portions of the old document will be merged into + this document in the future. = Table of Contents = + * [#intro Introduction] * [#datamodel Data Model] + * [#hregion HRegion (Tablet) Server] + * [#master HBase Master Server] - * [#columnvaluetypes Column Value Types] - * [#conceptual Conceptual View] - * [#physical Physical Storage View] - * [#schema Schema Definition / Configuration] - * [#chubby Distributed Lock Server] - * [#masternode Master Node] - * [#tabletserver Tablet Server] - * [#sstable SSTable] - * [#metadata METADATA Table] + * [#metadata META Table] + * [#summary Summary] + * [#status Current Status] - * [#ipc Inter-process Communication Messages] - * [#wireformat IPC Message Wire Format] - * [#ipcclientmaster Client to Master Messages] - * [#ipcclienttablet Client to Tablet Server Messages] - * [#ipcmastertablet Master to Tablet Server Messages] - * [#ipctabletmaster Tablet Server to Master Messages] - * [#clientlib Client Library] - * [#api API] - * [#accesscontrol Access Control Entries] - * [#columnmeta Column Metadata] - * [#adminapi Administrative API] - * [#dataapi Client Data Access API] - * [#other Other] * [#comments Comments] + + [[Anchor(intro)]] + = Introduction = + + This document gives a quick overview of HBase, the Hadoop simple + database. It is extremely similar to Google's Bigtable, with a just a + few differences. If you understand Bigtable, great. If not, you should + still be able to understand this document. [[Anchor(datamodel)]] = Data Model = - A Hbase table is a sparse, distributed, persistent, multi-dimensional - sorted map. The map is indexed by a row key, column key, and a - timestamp. Each value in the map is an uninterpreted array of bytes. + HBase uses a data model very similar to that of Bigtable. Users store + data rows in labelled tables. A data row has a sortable key and an + arbitrary number of columns. The table is stored sparsely, so that + rows in the same table can have crazily-varying columns, if the user + likes. - (row:string, column:string, time:long) -> byte[] + A column name has the form ":