Java持久键值存储
我知道这可能已经被问了无数次了,但我似乎找不到适合我的确切用例的黄金解决方案 我只有一个数据结构,一个键是字符串的映射。映射的对象是映射本身,但这次的值是简单的对象/原语,如字符串、int、double等。因此,映射的映射。最内层映射的键是恒定的,即,除非在创建时,否则不会从最内层映射中添加/删除任何条目。所以它有点像一个传统的表,尽管每一行可能有任意的列 我需要这个数据结构是持久的和可复制的 以下是我的要求:Java持久键值存储,java,cassandra,hbase,key-value-store,Java,Cassandra,Hbase,Key Value Store,我知道这可能已经被问了无数次了,但我似乎找不到适合我的确切用例的黄金解决方案 我只有一个数据结构,一个键是字符串的映射。映射的对象是映射本身,但这次的值是简单的对象/原语,如字符串、int、double等。因此,映射的映射。最内层映射的键是恒定的,即,除非在创建时,否则不会从最内层映射中添加/删除任何条目。所以它有点像一个传统的表,尽管每一行可能有任意的列 我需要这个数据结构是持久的和可复制的 以下是我的要求: 纯Java解决方案 磁盘映射仅在重新启动时使用。因此,从不从磁盘进行任何读取,所有写
那你有什么建议 有几种选择,但似乎符合您的需求。还有一些选择,但可能比你需要的更多。你看过吗?它是一个内存中的“数据库”(键值存储),可以满足您的所有需求。看看HazelCast。它满足您的大多数要求,只是它是分布式的。我认为它非常适合您的情况
- 纯Java、可嵌入键值存储
- 在内存中,可选地持久化到磁盘
- 具有无阻塞、最终一致的复制,针对高更新率进行了优化
- LPGLv3许可证