Consider separating a storage backend (e.g. take a look at bitcask)?Snapshot, data store, WAL are in backend now.Zab still maintains a local consistent log. What's nice about this? Extending kv size beyond mem.The performance should be the same, which is the disk IO (batch) thruput -- the bottleneck.
- Hongchao Deng > Date: Thu, 18 Sep 2014 22:48:36 -0700 > Subject: Re: intern project idea: decouple zab from zookeeper > From: [email protected] > To: [email protected] > CC: [email protected] > > Hi, > > Yisheng extended his internship for another three month. Here is the > current status of the project: > > - Released 0.1.0. This is an alpha quality release, and it supports > all the basic functionalities including snapshot, reconfiguration, and > SSL. http://search.maven.org/#artifactdetails|com.github.zk1931|jzab|0.1.0|jar > - Performance looks reasonable. It can do about 22k requests per > second on a 3-node cluster even though our log implementation is > fairly naive. https://github.com/zk1931/jzab/wiki > > Yisheng started working on a Curator-like library on top of jzab that > can support data structures like map and queue. Let me know if you > have any other interesting project ideas. > > Thanks! > --Michi > > On Wed, Jul 16, 2014 at 1:37 AM, Flavio Junqueira <[email protected]> > wrote: > > Great job, Yisheng, Michi! > > > > -Flavio > > > > > > On Wednesday, July 16, 2014 6:04 AM, Michi Mutsuzaki <[email protected]> > > wrote: > > > > > > > > Hi, > > > > Yisheng has been working on this project for about 5 weeks for his > > 12-week internship. Here is the current status: > > > > - First of all, let me thank Flavio and Hongchao for their help. I > > don't think the project would be where it is right now without their > > support. > > - We have more or less functional implementation of zab in java. You > > can checkout the code here: https://github.com/ZK-1931/javazab > > - There is a simple reference server. It's an http based key-value > > store that uses javazab for replicating state: > > https://github.com/ZK-1931/zabkv > > - The implementation is missing 2 major features, dynamic > > reconfiguration and snapshotting. Yisheng is about to start working on > > dynamic reconfiguration. > > > > It's fairly easy to run the reference server. It would be great if you > > can play around with it and give us feedback. > > > > Thanks! > > --Michi > > > > On Tue, Jun 3, 2014 at 11:46 PM, Michi Mutsuzaki <[email protected]> > > wrote: > >> The intern hasn't started yet, but here is the github repo in case > >> anybody is interested. > >> > >> https://github.com/ZK-1931/javazab > >> > >> On Tue, Jun 3, 2014 at 3:20 PM, Michi Mutsuzaki <[email protected]> > >> wrote: > >>> Thanks Flavio and Raul. I feel much more confident with your support. > >>> Also, it would be a good learning experience for the intern and me. > >>> Let's do this from scratch. I'll set up a github repo. > >>> > >>> On Tue, Jun 3, 2014 at 12:51 PM, Raúl Gutiérrez Segalés > >>> <[email protected]> wrote: > >>>> On 3 June 2014 12:44, Flavio Junqueira <[email protected]> > >>>> wrote: > >>>>> > >>>>> It would be great to do a clean implementation of Zab. We have added a > >>>>> lot > >>>>> crap for backward compatibility, and the reconfig stuff, although a > >>>>> great > >>>>> feature properly implemented, didn't improve the state of the code. > >>>>> Also, an > >>>>> implementation of the Zab protocol perhaps putting snapshots aside for > >>>>> v0.1, > >>>>> shouldn't take more than just a few weeks. > >>>>> > >>>>> If you do it openly say on github, then I volunteer to help. > >>>> > >>>> > >>>> A clean-room implementation of ZAB could indeed be awesome for multiple > >>>> purposes. Reasoning around the current implementation is some times > >>>> challenging for us missing the historical context. > >>>> > >>>> Would be more than happy to help with reviews and such as well. > >>>> > >>>> > >>>> -rgs > >
