Hi, ted and JM, Thanks for the nice introduction. I have read the Omid paper, which looks use a centralized party to do the coordination and achieves 72K transactions per sec. And It does much more work than just assigning timestamps, and I think it implicitly justifies the usage of a global timestamp oracle in practice.... Appreciate the suggestion. Regards, Yun
Sent from my iPad On Apr 16, 2013, at 9:31 AM, Jean-Marc Spaggiari <jean-m...@spaggiari.org> wrote: > Hi Yun, > > Attachements are not working on the mailing list. However, everyone > using HBase should have the book on its desk, so I have ;) > > On the figure 8-11, you can see that client wil contact ZK to know > where the root region is. Then the root region to find the meta, and > so on. > > BUT.... This will be done only once per client! If you do 10 gets from > your client, once you know where the root region is, you don't need to > query ZK anymore. It will be cached locally. > > For your usecase, you might want to take a look at what Ted send. > https://github.com/yahoo/omid/wiki I looked a it quickly and seems to > be a good fit for you. > > JM > > 2013/4/16 yun peng <pengyunm...@gmail.com>: >> Hi, Jean and Jieshan, >> Are you saying client can directly contact region servers? Maybe I >> overlooked, but I think the client may need lookup regions by first >> contacting Zk as in figure 8-11 from definitive book(as attached)... >> >> Nevertheless, if it is the case, to assign a global timestamp, what is the >> practical solutions in real production today? since it still needs some >> centralised facility.. Please enlighten me. thanks. >> Regards >> Yun >> >> >> >> >> On Tue, Apr 16, 2013 at 8:19 AM, Jean-Marc Spaggiari >> <jean-m...@spaggiari.org> wrote: >>> >>> Hi Yun, >>> >>> If I understand you correctly, that mean that each time our are going to >>> do >>> a put or a get you will need to call ZK first? >>> >>> Since ZK has only one master active, that mean that this ZK master will be >>> called for each HBase get/put? >>> >>> You are going to create a bottle neck there. I don't know how many RS you >>> have, but you will certainly hotspot you ZK server. I'm not sure it's a >>> good idea. >>> >>> JM >>> >>> 2013/4/16 yun peng <pengyunm...@gmail.com> >>> >>>> Hi, All, >>>> I'd like to add a global timestamp oracle on Zookeep to assign globally >>>> unique timestamp for each Put/Get issued from HBase cluster. The reason >>>> I >>>> put it on Zookeeper is that each Put/Get needs to go through it and >>>> unique >>>> timestamp needs some global centralised facility to do it. But I am >>>> asking >>>> how practical is this scheme, like anyone used in practice? >>>> >>>> Also, how difficulty is it to extend Zookeeper, or to inject code to the >>>> code path of HBase inside Zookeeper. I know HBase has Coprocessor on >>>> region >>>> server to let programmer to extend without recompiling HBase itself. >>>> Does >>>> Zk allow such extensibility? Thanks. >>>> >>>> Regards >>>> Yun >>>> >> >>