Hi all, i have a small basic doubt regarding get() method which is used in HTable. From the hbase book, under 8.3.Client section, i understood that, when ever client sends a request like get(rowKey) on any htable instance, from ROOT and META, it knows the regionserver where the regions holding that requested rowKey is present. Now if that RegionServer has multiple regions on it, how does the request get transfered to a correct region which has the requested rowKey? (will there be again any lookups for it?)
Is it like this: The RegionServer holds the information about all the regions it is hosting, so looking at the respective ranges of rows in each region a region is selected, and passing that request to that appropriate region. Am i correct? if not, correct me. Onemore question is, If a particular region is found by looking at the range handeled by it, How is search performed within that region to find requested rowKey? Is it by linear search or binary search or any other algorithm? Or for every row in that region, is there any hash value stored and hash lookup takes place to get that rowKey's value? what happens really within that region? can anybody help, please.. -- *Regards* * Vamshi Krishna *
