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
