key-value - 对于要存储 15.000.000 个整数键的 Berkeley DB,应使用哪种访问方法?
问题描述
我计划为一个必须存储 15.000.000 个键/值对的项目评估 BerkeleyDB。
密钥是 10 位整数。值是可变长度的二进制数据。
在 BerkeleyDB 文档(https://web.stanford.edu/class/cs276a/projects/docs/berkeleydb/ref/am_conf/intro.html)中,据说可以配置四种访问方法:
- B树
- 哈希
- 队列
- 记录
虽然文档描述了每种访问方法,但我无法完全理解哪种访问方法更适合我需要存储的这个特定数据集。
这种数据应该使用哪种访问方法?
解决方案
如果不确定,请选择 btree。这是最灵活的访问方法。当然,如果您确定您的应用程序适合其他应用程序之一,那就去吧。
需要注意的是:使用 BDB 编写一个真正有效、事务性、可恢复并提供一致性保证的应用程序将非常耗时,并且在每一步都容易出错。而且,如果您将其用于商业目的,则许可可能会彻底破坏交易。对于某些事情,它确实是最好的选择。只需确保在开始 BDB 任务之前权衡所有其他键值存储选项: https ://en.wikipedia.org/wiki/Key-value_database
推荐阅读
- xpath - 如何使用 XPath 访问页面 URL?
- html - 复选框不是点击检查(反应)
- python - 使用 tkinter get 函数时出现异常
- javascript - 编辑:检查假时的 if 语句(如果(变量){} 等效于假)
- python - 如何在 Windows 上将变量添加到路径?
- android - 带有 Kotlin 的 Android 存储自定义类的最佳方式
- java - 如何在 Java 中找到两个列表之间的公共序列
- c - 当溢出实际上永远不会发生时,Visual Studio 会发出缓冲区溢出警告
- timer - 创建一个 Gmod Lua 计时器
- sql - 如何在不丢失现有数据的情况下通过 cPanel 更新数据库结构?