Skip to content

Ignite持久化存储

1.概述

Ignite 的持久化追求读写的高性能。使用持久化时,Ignite 将所有数据存储在磁盘上,并将尽可能多的数据加载到内存中进行处理。

启用持久化之后,Ignite 会将每个分区存储在磁盘上的单独文件中,除了数据分区之外,Ignite 还存储索引和元数据。

2.存储配置

每个 Ignite 存储引擎可以有多个存储配置。

3.检查点

检查点是将脏页从内存复制到磁盘上分区文件的过程。脏页是在内存中更新但未写入相应分区文件的页。检查点完成后,所有更改都将保存到磁盘上,并在节点故障并重启时仍然可用。检查点旨在确保数据的持久性并在节点发生故障时进行恢复。此过程通过使磁盘上的页面保持最新状态,能更高效地利用磁盘空间。

4.存储引擎配置示例

在 Ignite 3 中,配置文件支持 HOCONJSON 格式。配置文件有一个名为ignite的根节点,所有配置项都是该节点的子节点、孙节点等。以下示例是具有持久化和检查点的 Ignite 集群配置:

json
{
  "ignite" : {
    "storage" : {
      "engines" : {
        "aipersist" : {
          "checkpoint" : {
            "checkpointDelayMillis" : 100
          }
        }
      },
      "profiles:" : [
        {
          "name" : "clock_aipersist",
          "engine": "aipersist",
          "replacementMode" : "CLOCK"
        }
      ]
    }
  }
}

然后就可以在分布区配置中使用存储配置(在本例中为clock_aipersist)。

18624049226