This is briefly covered in the client architecture overview...

http://hbase.apache.org/book.html#client

... the gist is that as David describes the client talks directly to the 
RegionServers, and knows the start/end keys available.

-----Original Message-----
From: Buttler, David [mailto:[email protected]] 
Sent: Wednesday, June 15, 2011 12:28 PM
To: [email protected]
Subject: RE: Incoming Row Distribution Strategy/Algorithm Among Region Servers?

Seems pretty simple to me, but I am probably glossing over details:
You insert a row with key '3'

Hbase has regions (format start key, end key): (0,1), (1,4), (4,10) Assume 
three region servers A, B, C holding the corresponding region

Your client gets the location of the region server holding the meta data (from 
zookeeper) and asks for the region server that is responsible for key '3'.  It 
caches this information so that it doesn't have to ask again for awhile.  It 
then sends the insert statement to that region server.

Asking for the region server that contains key '3' is probably a simple binary 
search, but I haven't looked it up. The client could likely easily hold the 
entire list of regions to region server mappings in memory and do the binary 
search locally.

Dave


-----Original Message-----
From: Shuja Rehman [mailto:[email protected]]
Sent: Wednesday, June 15, 2011 4:25 AM
To: [email protected]
Subject: Incoming Row Distribution Strategy/Algorithm Among Region Servers?

Hi,

I am wondering if anybody let me know that how Hbase redirects the input row to 
particular region server?  What is the exact algorithm which is used to 
distribute the incoming rows to particular region servers?  Can I get detail 
information/flow diagram about this? e.g Row1 ->Some Algorithm-> RegionServerX 
and in this,"Some Algorithm" details needed.

Thanks

--
Regards
Shuja-ur-Rehman Baig
<http://pk.linkedin.com/in/shujamughal>

Reply via email to