Xodus:密钥和/或值的最大长度是多少?

Ala*_*n47 4 java xodus

ByteIterableXodus中的密钥和/或值是否有最大长度?如果存在硬限制,那么限制是多少(即多少字节)?如果ByteIterable超过这个限制会发生什么?

Vya*_*nov 5

Xodus是一个日志结构的数据库,所有更改都按顺序写入日志,这是一个无限的.xd文件序列.在最低级别,任何键/值对都写为单个记录,只能存在于单个.xd文件中.这意味着键和值的大小总和不能超过单个.xd文件的大小.更重要的是,存储大小接近单个.xd文件大小的键/值对是不好的,因为这会创建一个具有很多不可移动的数据库(通过数据库垃圾收集器)可用空间.写入太大的键/值对的尝试将失败并TooBigLoggableException抛出.

单个.xd文件的大小由EnvironmentConfig.LOG_FILE_SIZE设置控制.它默认为8388608字节(0x800000,8MiB),因此问题的答案就像键的最大长度和值是8388608(0x800000)字节.

要处理任意大小的数据,请使用虚拟文件系统.