>> Does this mean that a store instance is opened for all tables present in >> HBase irrespective of which table we are querying and for all >> columnfamilies? No. The blog says Store instance is for each family.
You should generally avoid multiple column families. But we can help you analyze your use case. If you read through https://issues.apache.org/jira/browse/HBASE-3149, you would better understand current implementation. On Sun, Feb 20, 2011 at 6:38 AM, Hari Sreekumar <[email protected]>wrote: > Hi, > > I was going through the HBase architecture blog by Lars George ( > http://www.larsgeorge.com/2009/10/hbase-architecture-101-storage.html) and > I just wanted a clarification regarding how HBase reads data. The blog > mentions that : > > Next the HRegionServer opens the region it creates a corresponding > HRegion object. > When the HRegion is "opened" it sets up a Store instance for each > HColumnFamily for every table as defined by the user beforehand. Each of > the Store instances can in turn have one or more StoreFile instances, which > are lightweight wrappers around the actual storage file called HFile. A > HRegion also has a MemStore and a HLog instance. We will now have a look at > how they work together but also where there are exceptions to the rule. > > Does this mean that a store instance is opened for all tables present in > HBase irrespective of which table we are querying and for all > columnfamilies? Is this why I generally see people avoiding large number of > tables/large number of column families. If not, what is the reason for > that? > Is it true at all that we should avoid too many tables/CFs ? > > Thanks, > Hari >
