是否有可插入 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 documentationMDB_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/

10-09 03:08