0

我最近开始在两个不同的内容管理系统之间进行内容存储库迁移项目。

我们在源存储库中有大约 11 PB 的文档。我们希望通过使用源系统 API 查询并通过目标系统 API 保存来一次迁移所有这些文档。

我们将有一台独立的机器用于此迁移,并且应该能够管理(启动、停止、恢复)整个过程。

对于此类任务,您会建议哪些平台和工具?Flink 的有界数据的 Dataset API 是否适合这项工作?

4

2 回答 2

2

Flink 的 DataStream API 可能是比 DataSet API 更好的选择,因为流 API 可以停止/恢复并且可以从故障中恢复。相比之下,DataSet API 从一开始就重新运行失败的作业,这不适合可能运行数天(或数周)的作业。

虽然 Flink 的流 API 是为无界数据流设计的,但它也适用于有界数据集。

如果底层 CMS 可以支持并行迁移,Flink 很容易适应这一点。异步 I/O 功能在这种情况下会很有帮助。但是,如果您要连续进行迁移,那么我不确定您是否会从 Flink 或 Spark 之类的框架中获得很多好处。

于 2018-03-30T14:19:45.210 回答
1

基本上就是大卫上面所说的。我认为您将遇到的主要挑战是跟踪进度,以便检查点/保存点(并因此重新启动)正常工作。

这假设您有一些相当有效且稳定的方法来枚举源系统中所有 1B 文档的唯一 ID。我们在之前的迁移项目中使用的一种方法(虽然不是 Flink)是使用文档创建时间戳作为“事件时间”。

于 2018-04-01T15:30:05.253 回答