第 3 章 在缓存存储之间迁移数据
Data Grid 提供了一个 Java 实用程序,用于在缓存存储之间迁移持久性数据。
对于升级数据网格,主要版本之间的功能差异不允许在缓存存储之间向后兼容。您可以使用 StoreMigrator
转换数据,使其与目标版本兼容。
例如,升级到 Data Grid 8.0 将默认的 marshaller 更改为 Protostream。在以前的 Data Grid 版本中,缓存存储使用与 marshalling 的更改不兼容的二进制格式。这意味着 Data Grid 8.0 无法从带有之前 Data Grid 版本的缓存存储中读取。
在其他情况下,Data Grid 版本弃用或删除缓存存储实现,如 JDBC Mixed 和 Binary 存储。在这些情况下,您可以使用 StoreMigrator
转换为不同的缓存存储实现。
3.1. 缓存存储 migrator
Data Grid 提供 CLI migrate store
命令,用于为最新的数据网格缓存存储实施重新创建数据。
存储 migrator 从以前的 Data Grid 版本获取缓存存储作为源,并使用缓存存储实现作为目标。
当您运行存储 migrator 时,它会使用您使用 EmbeddedCacheManager
接口定义的缓存存储类型创建目标缓存。存储 migrator 然后将源存储中的条目加载到内存中,然后将其放入目标缓存中。
存储 migrator 还允许您将数据从一种类型的缓存存储迁移到另一种缓存存储。例如,您可以从基于 JDBC 字符串的缓存存储迁移到 SIFS 缓存存储。
存储 migrator 无法将数据从分段缓存存储迁移到:
- 非分段缓存存储。
- 分段缓存存储,它们具有不同的片段数。