是否有可插入 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
有没有办法解决这个问题,或者需要更改任何设置参数? 最佳答案
是的,根据 LMDB documentation 的 MDB_val
部分,可以输入数据库的数据项的最大大小是 0xFFFF_FFFF
字节(即 2^32 - 1
或大约 4GiB),因此 16GB/32GB 对于单个数据项来说太大了.
(看起来您正在使用 Python 绑定(bind),但由于这些只是 C API 的绑定(bind),因此适用于 C API 的任何限制也应该相关)。
关于python - 最大 LMDB 值大小,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/63552889/