기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
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에서 기존 애플리케이션을 마이그레이션하든 사용 사례부터 거꾸로 작업하여 비즈니스 요구 사항을 해결하는 데이터 모델, 쿼리 세트 및 애플리케이션 아키텍처를 설계하는 것을 권장합니다.