【发布时间】:2011-03-29 19:16:22
【问题描述】:
我正在寻找一种有效的方法来存储许多 key->value 对 在磁盘上进行持久化,最好带有一些缓存。
所需的功能是添加到值(连接) 对于给定的键或让模型成为键 -> 值列表, 两种选择都很好。值部分通常是二进制文档。
在这种情况下,我不会过多使用集群、冗余等。
在语言方面,我们使用的是 java,我们在经典数据库(Oracle、MySQL 等)方面经验丰富。
我看到了几个明显的场景,想知道什么 在每秒存储(和检索)方面最快:
1) 通过标准插入将数据存储在经典数据库表中。
2) 自己使用文件系统树传播到许多文件, 每个键一个或多个。
3) 使用一些众所周知的元组存储。一些明显的候选人是: 3a) 伯克利 db java 版 3b) 现代 NoSQL 解决方案,如 cassandra 等
就我个人而言,我喜欢 Berkely DB JE 来完成我的任务。
总结一下我的问题:
考虑到上述情况,伯克利似乎是一个明智的选择吗?
对于某些操作,我可以期望什么样的速度,例如 更新(插入,为键添加新值)和 检索给定键?
【问题讨论】:
标签: java persistence nosql berkeley-db