There is an initial start on a C++ client here:
https://github.com/phrocker/apeirogon/issues/1#issuecomment-57958812
Looks like it is starting to use the underlying thrift interfaces, just
like the java client.
It would be great to get this supported in core accumulo. My company
would be interested in helping to support work on this. To get it jump
started, we could offer a bounty or maybe focused consulting engagement,
and then longer term we could help maintain the code (since we'd be using
it.)
jrf
On Mon, 6 Oct 2014, Corey Nolet wrote:
I'm all for this- though I'm curious to know the thoughts about maintenance
and the design. Are we going to use thrift to tie the C++ client calls into
the server-side components? Is that going to be maintained through a
separate effort or is the plan to have the Accumulo community officially
support it?
On Mon, Oct 6, 2014 at 2:34 PM, Josh Elser <[email protected]> wrote:
It'd be really cool to see a C++ client -- fully implemented or not. The
increased performance via other languages like you said would be really
nice, but I'd also be curious to see how the server characteristics change
when the client might be sending data at a much faster rate.
My C++ is super rusty these days, but I'd be happy to help out any devs
who can spearhead the effort :)
John R. Frank wrote:
Accumulo Developers,
We're trying to boost throughput of non-Java tools with Accumulo. It
seems that the lowest hanging fruit is to stop using the thrift proxy. Per
discussion about Python and thrift proxy in the users list [1], I'm
wondering if anyone is interested in helping with a native C++ client?
There is a start on one here [2]. We could offer a bounty or maybe make a
consulting project depending who is interested in it.
We also looked at trying to run a separate thrift proxy for every worker
thread or process. With many cores on a box, eg 32, it just doesn't seem
practical to run that many proxies, even if they all run on a single JVM.
We'd be glad to hear ideas on that front too.
A potentially big benefit of making a proper C++ accumulo client is that
it is straightforward to expose native interfaces in Python (via pyObject),
Go [3], Ruby [4], and other languages.
Thanks for any advice, pointers, interest.
John
1-- http://www.mail-archive.com/[email protected]/msg03999.html
2--
https://github.com/phrocker/apeirogon
3-- http://golang.org/cmd/cgo/
4-- https://www.amberbit.com/blog/2014/6/12/calling-c-cpp-from-ruby/
Sent from +1-617-899-2066