MongoDB에서 Cosmos DB로 마이그레이션 계획
Cosmos DB의 이점을 검토한 후 CIO는 개념 증명을 실행할 수 있도록 했습니다. 프로젝트의 첫 번째 단계는 데이터 마이그레이션을 계획하는 것입니다. 여기에는 마이그레이션된 데이터를 호스트하도록 빈 Cosmos DB를 설정하는 것이 포함됩니다.
이 단원에서는 Cosmos DB 데이터베이스를 만들고 오프라인 또는 온라인 마이그레이션 방법을 선택하는 단계를 안내합니다.
MongoDB 호환성 확인
마이그레이션 전 첫 번째 작업은 지원되는 MongoDB 버전에서 마이그레이션하고 있는지 확인하는 것입니다. 다음 사이트에서 최신 버전 지원을 확인할 수 있습니다.
Azure Cosmos DB의 MongoDB API: 지원되는 기능 및 구문
Azure에서 Cosmos DB 사용을 시작하려면 MongoDB API를 사용하여 Cosmos DB 계정을 만듭니다. 그런 다음, 계정에 데이터베이스를 만듭니다. 다른 데이터베이스에서 데이터베이스 워크로드를 분리할 수 있습니다. 이 방법의 이점은 처리량을 설정할 수 있는 세분성입니다.
데이터에 대한 액세스는 Azure VNet(Virtual Network)을 사용하여 제어됩니다. VNET 네트워크 보안 그룹이 포트 53, 443, 445, 9354 및 10000-20000을 열도록 구성합니다. 또한 온-프레미스 MongoDB 서버에 대한 이러한 포트를 통해 액세스할 수 있도록 온-프레미스 방화벽을 구성해야 합니다.
일반적으로 마이그레이션에는 많은 양의 데이터 전송이 포함되며 마이그레이션 중에 일시적으로 처리량을 늘릴 수 있습니다. 데이터베이스 수준 처리량을 지정하는 경우 각 컬렉션에 100RU/초 이상이 필요하다는 점을 고려해야 합니다. 따라서 데이터베이스의 최소 RU/초는 컬렉션 수에 100을 곱한 값입니다. 데이터베이스 수준 처리량은 종종 마이그레이션 시나리오에 대한 컬렉션 수준 처리량보다 더 적합해 보이지만, 만든 후에는 이 설정을 수정할 수 없으므로 마이그레이션 후 데이터베이스를 사용하기에 가장 적합한 설정을 선택해야 합니다.
오프라인 또는 온라인 마이그레이션
오프라인 마이그레이션에서는 데이터베이스에 대한 연결을 중지하고 마이그레이션을 수행한 다음 마이그레이션된 새 데이터베이스에 대한 연결을 설정합니다. 이러한 트랜잭션이 손실되므로 마이그레이션 중에 연결을 방지하기 위해 가져옵니다.
온라인 마이그레이션은 마이그레이션하는 동안 발생하는 모든 트랜잭션을 새 마이그레이션된 데이터베이스에 적용합니다. 트랜잭션이 손실되지 않습니다.
오프라인 마이그레이션은 더 빠르지만 온라인 마이그레이션에는 가동 중지 시간이 줄어듭니다. 가동 중지 시간은 오프라인으로 마이그레이션이 시작될 때 시작되지만, 가동 중지 시간은 온라인을 위해 새 데이터베이스로의 전환이 발생하는 경우 마이그레이션이 끝날 때만 시작됩니다. 라이브 시스템의 복사본에서 테스트 오프라인 마이그레이션을 실행하여 가동 중지 시간이 허용되는지 여부를 조사해야 합니다. 일반적으로 활동이 낮은 시간에 마이그레이션을 실행할 수 있습니다. 오프라인 마이그레이션에 대한 가동 중지 시간이 허용되지 않는 경우 온라인 마이그레이션을 선택합니다.
온라인 마이그레이션에 대한 자세한 내용은 MongoDB를 Azure Cosmos DB Mongo API로 온라인 마이그레이션을 참조하세요.
오프라인 마이그레이션에 대한 자세한 내용은 MongoDB를 Azure Cosmos DB Mongo API로 오프라인 마이그레이션을 참조하세요.