My application will use hundered's of tables and each table can have millions(4-5) of Key-Value pairs. No relations are required between tables.
Following are the operations I perform on the tables.
There are quite a few No Sql databases like Apache H-Base, Cassandra, Berkeley DB, Redis..etc Pls suggest me which works best for my use case. What are the system requirements ?
Which use's a perfect blend of In-Memory caching and Persistent storage, Failure tolerant and able to recover from failures.
Redis is currently probably the most popular (not only) K/V in-memory data store solution. To make it fault tolerant you can leverage it's master-slave replication feature.
Update value for a particular key very frequently. A single thread does it for a particular key.
Not sure what you mean by "a single thread does it for a particular key", but redis is designed to be very fast.
Need sorted order of keys in a table based on value.(Frequently used)
Redis supports sorted set data structure.
What are the system requirements?
As of amount of memory requirement I would recommend to read the doc on memory optimization.