Ignite易失性存储
1.概述
Ignite 易失性存储面向高性能存储,但不提供数据持久化。
为数据区启用纯内存模式后,Ignite 会将数据区中的所有数据存储在内存中,集群关闭时数据将丢失,因此请确保有一个单独的数据区用于持久化存储。
2.存储配置
每个 Ignite 存储引擎可以有多个存储配置,每个配置都具有以下属性:
属性 | 默认值 | 描述 |
---|---|---|
engine | 要使用的存储引擎名。 | |
name | 数据区名。 | |
initSize | 256 * 1024 * 1024 | 分配给数据区的初始空间。 |
maxSize | 256 * 1024 * 1024 | 分配给数据区的最大空间。 |
evictionMode | DISABLED | 退出算法。可选值:DISABLED 、RANDOM_LRU 、RANDOM_2_LRU 、RANDOM |
evictionThreshold | 0.9 | 退出过程的触发阈值。 |
emptyPagesPoolSize | 100 | Ignite 将尝试保留的最大空白页数。 |
pageSize | 16384 | 存储的页面大小(字节)。 |
memoryAllocator.type | Unsafe | 内存分配器配置,用sun.misc.Unsafe 来提高性能,目前没有其他选项可用。 |
3.存储引擎配置示例
在 Ignite 3 中,配置文件支持 HOCON
或 JSON
格式。配置文件有一个名为ignite
的根节点
,所有配置项都是该节点的子节点、孙节点等。下面的示例是使用纯内存模式的数据区的配置:
json
{
"ignite" : {
"storage" : {
"profiles" : [
{
"name" : "aimemory",
"engine" : "aimem",
"replacementMode" : "CLOCK"
}
]
}
}
}
然后就可以在分布区配置中使用存储配置(在本例中为aimemory
)。
18624049226