Java – help me choose a key / value store
I hate to let others do research for me, but maybe a kind soul knows the answer from his mind:
I need a key / value store with the following characteristics:
>Distributed > can iterate keys in ascending order. > The key can be found by matching the partial key (prefix). > The value can be up to one or two blobs. > Accessible from Java. > Some methods of setting rules so that I can control the distribution of keys between computers, that is, I want a rule that keys with public prefixes remain on one computer. > How to query the system to find out which machine has a key. > Some support replication and redundancy
Solution
I have two answers:
>Amazon S3 supports all this, but obviously it runs on their server, not yours In particular, it supports prefix lookup very much. > Mongodb supports all of these You can use regular expressions or $where for prefix matching Pay attention to the index for best performance