atbr (large-scale and low-latency in-memory key-value pair store) now supports Apache Thrift for easier integration with other Hadoop services.
Thrift Example
Checkout and install atbr
$ git clone git@github.com:atbrox/atbr.git $ cd atbr $ sudo ./INSTALL.sh
Prerequisite Install/compile Apache Thrift – http://thrift.apache.org/
Compile a atbr thrift server and connect using python client
$ cd atbrthrift $ make $ ./atbr_thrift_server # c++ server $ python test_atbr_thrift_client.py
Python thrift api example
from atbr_thrift_client import connect_to_atbr_thrift_service service = connect_to_atbr_thrift_service("localhost", "9090") service.load("keyvaluedata.tsv") value = service.get("key1")
Stay tuned for other updates on atbr.
Rough roadmap
- Increased concurrency and threadsafety support
- Increased reliability in sharded deployments (with Apache Zookeeper)
- Simplified and automated sharded deployment on AWS and clusters
- Benchmarks
- Comparison with other storage alternative (e.g. HBase, Redis, MongoDB, CouchDB and Cassandra)
- End-to-end examples (from hadoop/mapreduce jobs to serving)
- (in-memory) map(reduce) support with Lua or C++
- Avro support
- large-scale graph processing example (ref: NetworkX)
- Case studies
- Add support for Judy Datastructure
- Thrift-support (done)
- Sharded websocket support (done) [blog post]
- Memory-efficient key-value store (done) [blog post]
Documentation
atbr.atbrox.com
Best regards,