distributed key/value stores shootout (part 1)
For a project of mine I have been looking today on key/value stores. Redis, Tokyo Cabinet and Memcache are the popular ones, but I have been interested in benchmarking the distributed species of its kind (“DKVS”). Those are needed in high scalable systems as replacement for traditional databases, which happen not to scale well.
These are the criteria which the DKVS must meet:
- distribute data amongst one to four nodes (and the more the better)
- nodes must be able to be added on-the-fly,
- … and removed on-the-fly
- data has to be held redundantly, even after removal of a node
- data access has to be transparent, i.e. every node shall be equal
- scale with additional nodes – for every additional node there should be an increase of GET and SET operations per second up to the maximum dictated by the hardware and network
