6.12. RocksDB 缓存存储
RocksDB 为高度并发环境提供基于键值文件系统的存储,具有高性能和可靠性。
RocksDB 缓存存储 RocksDBStore
使用两个数据库。一个数据库为内存中数据提供主缓存存储;其他数据库包含 Data Grid 从内存中过期的条目。
参数 | 描述 |
---|---|
| 指定提供主缓存存储的 RocksDB 数据库的路径。如果您没有设置位置,则会自动创建。请注意,路径必须相对于全局持久位置。 |
| 指定为过期的数据提供缓存存储的 RocksDB 数据库的路径。如果您没有设置位置,则会自动创建。请注意,路径必须相对于全局持久位置。 |
| 为过期条目设置内存队列的大小。当队列达到大小时,Data Grid 会将已过期刷新到 RocksDB 缓存存储中。 |
| 在删除和重新初始化(re-init) RocksDB 数据库前设置条目的最大数量。对于较小的大小缓存存储,它会对所有条目进行迭代,并单独删除每个条目可以提供一个更快的方法。 |
调整参数
您还可以指定以下 RocksDB 调优参数:
-
compressionType
-
blockSize
-
cacheSize
配置属性
(可选)在配置中设置属性,如下所示:
-
使用
数据库的前缀
属性来调整和调优 RocksDB 数据库。 -
使用
数据
添加前缀属性,以配置 RocksDB 存储您的数据的列系列。
<property name="database.max_background_compactions">2</property> <property name="data.write_buffer_size">64MB</property> <property name="data.compression_per_level">kNoCompression:kNoCompression:kNoCompression:kSnappyCompression:kZSTD:kZSTD</property>
<property name="database.max_background_compactions">2</property>
<property name="data.write_buffer_size">64MB</property>
<property name="data.compression_per_level">kNoCompression:kNoCompression:kNoCompression:kSnappyCompression:kZSTD:kZSTD</property>
分段
RocksDBStore
支持分段,并创建每个网段的独立列系列。片段的 RocksDB 缓存存储提高了查找性能和迭代,但写入操作的性能稍微降低。
您不应该配置超过几百个片段。RocksDB 不设计为拥有无限数量的列系列。太多片段也会显著增加缓存存储启动时间。
RocksDB 缓存存储配置
XML
JSON
YAML
ConfigurationBuilder
带有属性的 ConfigurationBuilder