Move Table Schema out of HRegionInfo
------------------------------------

                 Key: HBASE-565
                 URL: https://issues.apache.org/jira/browse/HBASE-565
             Project: Hadoop HBase
          Issue Type: Improvement
            Reporter: stack


Every HRI carries a HTableDescriptor instance.  When a Region context needs a 
table descriptor, doesn't have far to go.  Move the HTD out of HRI and when 
wanted, go elsewhere to go get it.

In Bigtable paper, Schema is stored over in Chubby.  Could run a Zookeeper 
instance easy-enough and store it there.  Would run on master.  ZooKeeper 
snapshots its in-memory database to local director on disk -- not DFS.  If a 
ZooKeeper cluster, then that should protect against loss.  Master could tell 
regionservers the address of the zookeeper instance to use (as it does other 
vitals currently).  Later we could add the indirection so zookeeper is where 
regionservers register themselves on startup and master could watch here for 
the coming and going of servers.

Or, we could store the schema in DFS.  Good thing would be replication of 
critical data and an hbasck tool could read the file to learn table schema 
(Would be awkward having to read zookeeper format out on local filesystem).  
Downside would be that any change in schema would require offlining unless we 
develop a message that the master could send regionservers to notify them of of 
minor schema changes -- e.g. flip to being memory-based or to being compressed 
or that two column families are now of a single locality group (Zookeeper has 
the watcher mechanism where regionservers could 'notice' schema changes).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to