

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 準備從 Neo4j 遷移到 Neptune
<a name="preparing-to-migrate-from-neo4j"></a>

 從 Neo4j 圖形資料庫遷移至 Neptune 圖形資料庫服務的方式有兩種：重新建構或重構/重新架構。重構方法涉及修改現有的資料模型和應用程式架構，以充分利用 Neptune 的功能，而重構方法著重於在 Neptune 中尋找同等元件，以建置相當的實作。實際上，通常會使用這些策略的組合，因為遷移程序涉及平衡目標 Neptune 架構與現有 Neo4j 實作的限制和需求。無論方法為何，關鍵是從應用程式的使用案例向後工作，以設計最符合您需求的資料模型、查詢和整體架構。

## 遷移的方法
<a name="migration-approaches"></a>

將 Neo4j 應用程式遷移到 Neptune 時，我們建議您使用以下兩種策略之一：平台轉換或重構/重新架構。如需有關遷移策略的詳細資訊，請參閱[將應用程式遷移至雲端的 6 個策略](https://aws.amazon.com/blogs/enterprise-strategy/6-strategies-for-migrating-applications-to-the-cloud/)，這是 Stephen Orban 所撰寫的部落格文章。

「平台轉換方法」**有時稱為「捨棄再購買」(lift-tinker-and-shift)**，其中涉及以下步驟：
+ 識別您的應用程式想要滿足的使用案例。
+ 修改現有的圖形資料模型和應用程式架構，以使用 Neptune 的功能充分處理這些工作負載需求。
+ 決定如何將來源應用程式的資料、查詢和其他部分遷移至目標模型和架構。

如果這是一個全新的專案，這種回溯運作方法可讓您將應用程式遷移到您可能設計的 Neptune 解決方案。

相比之下，「重構方法」**涉及：
+ 識別現有實作的元件，包括基礎設施、資料、查詢和應用程式功能。
+ 在 Neptune 中尋找可用來建置類似實作的等效項目。

這種向前運作方法試圖將一個實作交換為另一個實作。

在實務中，您可能會採用這兩種方法的混合。您可以從使用案例開始，設計目標 Neptune 架構，但然後轉至現有的 Neo4j 實作，來識別您必須維護的限制條件和不變量。例如，您可能必須繼續與其他外部系統整合，或繼續為圖形應用程式的消費者提供特定的 API。使用此資訊，您可以判斷已存在哪些資料要移至目標模型，以及哪些資料必須在其他位置取得。

在其他時候，您可能從分析 Neo4j 實作的特定部分開始，作為最佳資訊來源，取得應用程式打算執行之工作的相關資訊。現有應用程式中的這種考古方式可以協助定義一個使用案例，然後您可以使用 Neptune 的功能針對其進行設計。

無論您是使用 Neptune 建置新的應用程式還是從 Neo4j 遷移現有的應用程式，我們建議您透過使用案例的回溯運作來設計資料模型、一組查詢，以及處理您商務需求的應用程式架構。