4

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

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

4

1 回答 1

3

是的,根据LMDB 文档MDB_val的部分,可以输入数据库的数据项的最大大小是字节(大约为 4GiB),因此 16GB/32GB 对于单个数据项来说太大了。0xFFFF_FFFF2^32 - 1

(看起来您正在使用 Python 绑定,但由于这些只是 C API 的绑定,因此适用于 C API 的任何限制也应该是相关的)。

于 2020-08-24T17:39:14.070 回答