猿问

最大 LMDB 值大小

是否存在可插入 LMDB 数据库的最大值大小?我试图将一个 16GB 的文件插入到一个初始化为 32GB 大小的 LMDB 中,但我得到了这个错误:


File "build_lmdb.py", line 90, in write_entry

    txn.put(key.encode('ascii'), value)

lmdb.BadValsizeError: mdb_put: MDB_BAD_VALSIZE: Unsupported size of key/DB name/data, or wrong DUPFIXED size

有什么办法解决这个问题,或者需要更改任何设置参数吗?


LEATH
浏览 215回答 1
1回答

慕尼黑的夜晚无繁华

是的,根据LMDB 文档MDB_val的部分,可以输入数据库的数据项的最大大小是字节(大约4GiB),因此 16GB/32GB 对于单个数据项来说太大了。0xFFFF_FFFF2^32 - 1(看起来您正在使用 Python 绑定,但由于这些只是 C API 的绑定,因此适用于 C API 的任何限制也应该是相关的)。
随时随地看视频慕课网APP

相关分类

Python
我要回答