A resizable concurrent map
preshing.com
preshing.com
Acc to Dr. Click, if you do not have 30+ CPUs in a single machine, ConcurrentHashMap (built-in to the JDK) will do the trick more often than not. The talk is really worth it, if you're curious about the design, esp.
Dr. Click also had memorable debate with Rich Hickey over STMs. He works at h2o.ai and wrote about building a Key-Value store two years ago: http://blog.h2o.ai/2014/02/kv-store-memory-analytics/
https://news.ycombinator.com/item?id=8362040
The difference appears to be that you can resize concurrently with lookups. From reading this article it seems they are not that happy with this aspect of the implementation:
Right now, if a get call encounters a Redirect, it helps complete the migration. Perhaps it would be better for scalability if it immediately read from the new table instead. That’s something worth investigating.
Old thread: https://news.ycombinator.com/item?id=11016350