由于BerkeleyDB可以使用SQLite api,因此python可以使用sqlite模块连接到BerkeleyDB.
这篇文章建议使用其他东西,但可能是在Api之前同步写的. Berkeley DB的最佳Python模块?
可以获得简单的连接字符串.如果有已知问题,请发帖.我正在探索这个话题.
在linux和windows上使用python 2.7.
我有一组1亿多个字符串,每个字符串长达63个字符.我有很多磁盘空间和很少的内存(512 MB).我需要单独查询存在,并且不存储其他元数据.
我事实上的解决方案是BDB btree.有没有更好的选择?我知道leveldb和Kyoto Cabinet,但不熟悉以确定优势.
我需要一个纯.Net持久散列表/二进制树,功能类似于berkeley-db Java版.
在功能上它应该与DHT类似,如memcached和速度等,但它不必分发.本质上,我正在寻找一个持久的哈希表.
有没有人有任何想法或建议?
类似的问题也在这里:在C#中寻找一个简单的独立持久字典实现
保罗
我在使用 bdtables 在 python 中打开 berkeley db 时遇到问题。由于 bdtables 被我用来访问数据库的库使用,我需要它才能工作。
问题似乎是我试图打开的 db 环境(我有一个要打开的数据库副本)是 4.4 版,而 libdb 是 4.6 版。使用 bsddb.dbtables.bsdTableDB([dbname],[folder]) 时出现以下错误:
(-30972, "DB_VERSION_MISMATCH: Database environment version mismatch -- Program version 4.6 doesn't match environment version 4.4")
Run Code Online (Sandbox Code Playgroud)
但是, bsddb.btopen([dbname]) 有效。
我也尝试过安装 db4.4-util、db4.5-util 和 db4.6-util。尝试使用 db4.6_verify 结果:
db4.6_verify: Program version 4.6 doesn't match environment version 4.4
db4.6_verify: DB_ENV->open: DB_VERSION_MISMATCH: Database environment version mismatchs
Run Code Online (Sandbox Code Playgroud)
db4.4_verify 导致计算机只是挂了,什么也没发生。
最后,如果我在数据库上运行 db4.4_recover,那就行了。但是,之后我在 python 中收到以下错误“没有这样的文件或目录”。
我目前正在使用 berkeleyDB 编写数据库文档。我想绘制描述数据存储的键和值的 UML 图。是否有一种“标准”方法来使用 UML 来描述这种数据库?
谢谢
我正在尝试在Ubuntu上安装bdb作为gem,如下所示,
gem install bdb
Run Code Online (Sandbox Code Playgroud)
我没有使用sudo,因为我正在安装rvm.我系统上的ruby版本是1.9.1,但我用于此安装的版本是1.8.7(我正在安装rbot,你看).我遇到的问题是:
checking for db_version() in -ldb-4.something... no
Run Code Online (Sandbox Code Playgroud)
我认为这意味着rubygems没有在它正在寻找的地方找到ldb4.something.这是因为我使用sudo安装了libdb-4.something(实际上是7),而我系统的ruby版本与我用于bdb的ruby版本不同?使用rvm,我该如何处理这种情况?也许我做错了,但在我看来,我的问题是,我所使用的并非所有东西都是宝石,而不是宝石的东西是看错了版本的红宝石.
(如果事实证明,我的问题是一些完全无关的.我仍然有兴趣在这个问题如何做的事情我已经安装在我的系统上使用Ruby的特定版本相处的宝石在不同版本的红宝石用RVM安装? )
我正在寻找一个简单的DBM库,如BerkeleyDB或Kyoto Cabinet,但本身就是为.NET工作.我需要管理超过一百万条记录(可能是一千万条),并且可能采用分层方式(最后一点不是强制性的,我们可以使用线性结构).
这样的事情甚至存在吗?
使用berkeley DB运行java程序时遇到ff错误.
"单个编写器访问无法锁定环境.ENV_LOCKED:无法锁定je.lck文件.环境无效,必须关闭."
知道错误的原因是什么,我们如何解决这个问题.
谢谢!
在berkeley db文档中,声明原因可能如下:
指定了无效的标志值或参数(例如,未知数据库类型,页面大小,散列函数,填充字节,字节顺序)或与指定数据库不兼容的标志值或参数.指定了DB_THREAD标志,并且此架构无法使用快速互斥锁.
DB_THREAD标志指定为DB-> open,但未指定DB_ENV-> open调用创建DB句柄的环境.
使用DB_THREAD标志指定了支持平面文本文件,或者提供的数据库环境支持事务处理.
我使用的唯一标志是DB_CREATE,数据库类型是DB_BTREE.
我想知道导致EINVAL的确切原因,但我没有找到任何可以帮助我在"DB"结构中的详细配置(在DB_ENV中,他们有set_verbose方法,但我不使用DB_ENV).
我在控制台写:
pip3 install bsddb3
Run Code Online (Sandbox Code Playgroud)
但我收到错误:
Collecting bsddb3
Using cached https://files.pythonhosted.org/packages/e9/fc/ebfbd4de236b493f9ece156f816c21df0ae87ccc22604c5f9b664efef1b9/bsddb3-6.2.6.tar.gz
Complete output from command python setup.py egg_info:
Can't find a local Berkeley DB installation.
(suggestion: try the --berkeley-db=/path/to/bsddb option)
Run Code Online (Sandbox Code Playgroud)
后写:python -m pip install bsddb --berkeley-db=/path/to/bsddb
Usage:
/usr/bin/python -m pip install [options] <requirement specifier> [package-index-options] ...
/usr/bin/python -m pip install [options] -r <requirements file> [package-index-options] ...
/usr/bin/python -m pip install [options] [-e] <vcs project url> ...
/usr/bin/python -m pip install [options] [-e] <local project path> ...
/usr/bin/python -m pip install [options] …Run Code Online (Sandbox Code Playgroud)