本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
准备从 Neo4j 迁移到 Neptune
从Neo4j图形数据库迁移到Neptune图形数据库服务可以通过以下两种主要方式之一来实现:重构平台或重构/重新架构。平台重塑方法包括修改现有的数据模型和应用程序架构,以最好地利用Neptune的功能,而重构方法则侧重于在Neptune中寻找等效的组件来构建类似的实现。实际上,通常使用这些策略的组合,因为迁移过程涉及在目标Neptune架构与现有Neo4j实现的限制和要求之间取得平衡。无论采用哪种方法,关键都是要从应用程序的用例向后推进,设计出最能满足您需求的数据模型、查询和整体架构。
迁移方法
将 Neo4j 应用程序迁移到 Neptune 时,我们推荐两种策略之一:要么重构平台,要么重构/转换架构。有关迁移策略的更多信息,请参阅 Stephen Orban 撰写的博客文章将应用程序迁移到云中的 6 种策略
平台重组方法(有时被称为 lift-tinker-and-shift)涉及以下步骤:
确定您的应用程序要满足的用例。
使用 Neptune 的功能修改现有的图形数据模型和应用程序架构,以最好地满足这些工作负载需求。
确定如何将数据、查询和源应用程序的其它部分迁移到目标模型和架构中。
如果这是一个全新的项目,这种逆向工作的方法可以让您将应用程序迁移到您可能设计的这种 Neptune 解决方案中。
相比之下,重构方法涉及:
确定现有实施的组件,包括基础设施、数据、查询和应用程序功能。
在 Neptune 中寻找可用于构建类似实现的等效项。
这种向前推进的方法试图将一种实现换成另一种实现。
实际上,您很可能会混合使用这两种方法。您可以从一个用例开始,设计目标 Neptune 架构,但然后转向现有的 Neo4j 实现来确定您必须维护的约束和不变量。例如,您可能需要继续与其他外部系统集成,或者继续为图形应用程序的使用者提供特定的APIs产品。利用这些信息,您可以确定哪些数据已经存在可移动到目标模型,哪些数据必须从其它地方获取。
在其它时候,您可以从分析 Neo4j 实现的特定部分开始,以此作为有关您的应用程序打算完成的任务的最佳信息来源。现有应用程序中的这种考古学可以帮助定义一个用例,然后您可以设计这个用例来使用 Neptune 的功能。
无论您是使用 Neptune 构建新的应用程序,还是从 Neo4j 迁移现有应用程序,我们都建议您从用例向后倒推,以设计可满足您业务需求的数据模型、一组查询和应用程序架构。