At the moment, we use HBase to store data on entities. Satisfies "almost" everything. Besides the fact that he periodically refuses to work.
- similar API (set, get, delete, scan)
- The database must be replicated (so as not to write in two at once, etc.)
- advantage over read speed than write
- storing most data on disk
- number of records - up to a billion
- The sizes of the values are from 10Kb to 200Kb (99% of the data). There is 1% - up to 50Mb
- client for java or rest
- preferably sorted data by key, as there is a scan(from the nearest similar and further)
- preferably a solution in the form of a data server
Considered as a replacement:
- redis (it is not known how it will behave with frequent lifting of data from disk)
- FoundationDB (confused by the amount of documentation)
- Cassandra (admins said that reading would be tight, it is mainly for writing)
- kyoto-tycoon (confuses the presence of only RPC calls)
Tell me from real experience in production, which solutions will work?