[ 
https://issues.apache.org/jira/browse/BOOKKEEPER-181?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13258709#comment-13258709
 ] 

Roger Bush commented on BOOKKEEPER-181:
---------------------------------------

I have some code which demonstrates an abstract plugin kv store.  It shows how 
a plugin can be dynamically loaded and configured using a classname string and 
config string.  A plugin is essentially the "abstract factory" pattern (it 
currently creates "Table" objects).  There is also a "usage Test" which shows 
all the important idiomatic use cases for the current API.  Finally there is a 
"Mock implementation" that shows the basics of making a kv store implementation.

To see it work, run the Test.

What it does not currently do:

   1. Async - this seems easy enough to add once the correct behavior is 
determined.  It's also easier to figure out the properties using synchronous 
calls first since the code is easier to read.

   2. SCAN - I need to think more about scan to see how it's used.  This 
doesn't really affect how it will look in the API, but I want to know a little 
more before adding it.

   3. Strings - it uses Strings instead of byte [].  This is another easy 
transform, so it's strings for now.

   4. Implement a real kv store in Java - I actually wrote this in Perl first 
and wrote MDBM and Riak adapters as proof-of-concept of the dynamic loading.

I've got it on GitHub as a "scratch pad", to develop the idea before inclusion 
to BK.  The link is public.

https://github.com/rogerbush8/BookKeeperMetadataPlugin




                
> Scale hedwig
> ------------
>
>                 Key: BOOKKEEPER-181
>                 URL: https://issues.apache.org/jira/browse/BOOKKEEPER-181
>             Project: Bookkeeper
>          Issue Type: Improvement
>          Components: bookkeeper-server, hedwig-server
>            Reporter: Sijie Guo
>            Assignee: Sijie Guo
>             Fix For: 4.2.0
>
>         Attachments: hedwigscale.pdf, hedwigscale.pdf
>
>
> Current implementation of Hedwig and BookKeeper is designed to scale to 
> hundreds of thousands of topics, but now we are looking at scaling them to 
> tens to hundreds of millions of topics, using a scalable key/value store such 
> as HBase.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to