atbr (large-scale and low-latency in-memory key-value pair store) now supports websocket-based sharding for parallel deployments.
Websocket Sharding Example
Checkout and install atbr
[code]
$ git clone git@github.com:atbrox/atbr.git
$ cd atbr
$ sudo ./INSTALL.sh
[/code]
Start 3 servers loaded with data
[code]
$ cd atbrserver
$ python atbr_server.py 8585 shard_data_1.tsv
$ python atbr_server.py 8686 shard_data_2.tsv
$ python atbr_server.py 8787 shard_data_3.tsv
[/code]
Start shard server talking to shards
[code]
$ python atbr_shard_server.py localhost:8585 \
localhost:8686 localhost:8787
[/code]
Connect to shard server and lookup key=key1
[code]
$ python atbr_websocket_cmdline_client.py key1
[/code]
Stay tuned for other updates on atbr, here is a 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++
- Thrift support
- Avro support
- large-scale graph processing example (ref: NetworkX)
- Case studies
Documentation
atbr.atbrox.com
Best regards,
Pingback: atbr now has Apache Thrift support