마이그레이션된 MongoDB 워크로드를 Oracle Database Appliance에 배포

Migrate an existing workload that uses a document database, in this case MongoDB, to Oracle Database 23ai on Oracle Database Appliance for simplified development of JSON-centric applications using a converged, multi-model database.

문서 및 문서 데이터베이스를 사용하여 데이터 스키마 및 애플리케이션을 발전시키는 워크로드 및 애플리케이션은 개발자에게 제공하는 유연성 때문에 널리 사용됩니다. 스키마 유연성, 신속한 개발 및 확장성을 통해 애플리케이션 기능의 프로토타이핑 가속화, 손쉬운 애플리케이션 개발, 대규모 사용자 기반을 처리하기 위해 개발자가 확장할 수 있는 반복적으로 작은 애플리케이션 및 기능을 구축할 수 있습니다. 그러나 이러한 유형의 워크로드에는 약한 트랜잭션 보증, 데이터 쿼리 다기능성, 분석 또는 머신 러닝과 같은 문서에서 다른 워크로드를 지원할 수 없는 등 당면 과제가 있습니다.

이러한 워크로드가 기존 문서 데이터베이스의 장점을 활용하고 관계형 데이터베이스의 이점을 활용할 수 있다면 어떨까요? 예를 들어, 데이터를 다른 데이터베이스나 시스템에 복제할 필요 없이 분석 및 머신 러닝과 같은 강력한 트랜잭션 보장 및 추가 기능을 사용할 수 있습니다.

AI, 마이크로서비스, 그래프, 문서, 공간 및 관계형 애플리케이션 개발을 간소화하도록 설계된 Oracle Database 23ai는 하나의 강력한 솔루션에서 필요한 모든 것을 제공하는 컨버지드 데이터베이스 플랫폼입니다.

Oracle Database Appliance는 고가용성 Oracle Database 솔루션의 배포, 관리 및 지원을 간소화하는 엔지니어드 시스템입니다. 소프트웨어, 컴퓨팅, 스토리지 및 네트워킹을 통합함으로써 다양한 온라인 트랜잭션 처리(OLTP), 분석, 데이터 웨어하우징 및 AI 애플리케이션에 대해 안정적인 성능을 제공합니다.

기능적 구조

이 참조 아키텍처는 애플리케이션으로 구성된 워크로드를 가정하고 MongoDB 데이터베이스는 온프레미스에 존재하며 Oracle Database 23ai를 데이터베이스로 사용하도록 마이그레이션됩니다. 이후 상태 구조, 이점, 배치 방법 및 기존 작업 로드를 보강하는 데 사용할 수 있는 추가 기능에 대해 설명합니다.

이 참조 아키텍처는 마이그레이션 프로세스가 아닌 마이그레이션된 워크로드를 배포하는 데 중점을 둡니다. 마이그레이션 프로세스에 대한 자세한 내용은 자세히 살펴보기 섹션을 참조하십시오.

이 아키텍처에서 사용되는 주요 기능 중 하나는 애플리케이션이 MongoDB 명령을 사용하여 Oracle Database의 JSON 문서 모음과 상호 작용할 수 있는 MongoDBOracle Database API입니다. 이를 통해 기존 애플리케이션 코드는 코드를 리팩토링하지 않고도 Oracle Database 23ai에 저장된 데이터로 작업할 수 있습니다.

다음 다이어그램은 데이터베이스, 백엔드 계층 및 프런트엔드 계층으로 구성된 일반적인 애플리케이션을 보여줍니다.



mongodb-logical-arch-migration.zip

이 패턴을 구현하는 데 사용되는 인기 있는 스택은 MEAN 스택입니다.

  • MongoDB: 문서 데이터베이스
  • Express: 백엔드 프레임워크
  • 각도: 프런트엔드 프레임워크
  • Node.js: 백엔드 서비스

이 아키텍처는 기존 배포의 예로 MEAN 스택을 사용하여 Oracle Database 23ai로 마이그레이션합니다. 이 워크로드를 Oracle Database 23ai로 마이그레이션하는 작업은 다음과 같은 고급 단계로 구성됩니다.

  1. Oracle Database Appliance를 배포하고 구성합니다.
  2. Oracle Database Appliance에서 Oracle Database 23ai 인스턴스를 생성합니다.
  3. 메타데이터 및 데이터를 MongoDB에서 Oracle Database로 마이그레이션합니다.
  4. Oracle Database Appliance에서 VM을 만들어 백엔드 계층 및 Oracle REST Data Services를 실행합니다.
  5. Oracle Database Appliance VM에서 백엔드 계층 및 Oracle REST Data Services를 배포하고 구성합니다.
  6. 응용 프로그램이 MongoDB 드라이버를 사용하여 데이터베이스와 통신할 수 있도록 MongoDB API를 사용으로 설정하도록 Oracle REST Data Services를 구성합니다.
  7. 새 데이터베이스 연결 문자열을 사용하도록 응용 프로그램을 구성합니다.
  8. 애플리케이션에 사용된 것과 동일한 MongoDB 도구 및 드라이버를 사용하여 백엔드 애플리케이션을 Oracle Database에 연결합니다.

워크로드를 Oracle Database로 마이그레이션한 후에는 데이터베이스에서 데이터를 복사하지 않고도 향상된 보안, 운영 보고, 분석 및 머신 러닝과 같은 추가 기능을 사용으로 설정하여 기능을 향상시킬 수 있습니다. Oracle Database 23ai는 관계형, 공간, 그래프 또는 벡터 데이터 유형을 기존 애플리케이션과 함께 활용하는 기능을 원활하게 통합할 수 있는 멀티 모델 멀티 워크로드 플랫폼입니다.

작업 로드 확장성을 향상시키려면 데이터베이스 및 애플리케이션 VM에 할당된 CPU 코어를 조정하여 데이터베이스에 더 많은 컴퓨팅 및 메모리를 할당합니다.

가용성 향상을 위해 Oracle Database Appliance에는 2개의 컴퓨트 노드를 사용하여 데이터베이스 및 백엔드 계층을 배포하는 완전 이중 고가용성 시스템인 Oracle Database Appliance 고가용성이 있습니다. Oracle Database 23ai Real Application Clusters와 함께 사용할 경우 완전한 고가용성이 보장됩니다.

물리적 구조

Oracle Database 23ai로 마이그레이션된 이 워크로드의 물리적 아키텍처는 다음을 지원합니다.

프론트엔드 계층

  • 현재 배포가 사용됩니다.
  • 사용자는 인터넷 또는 회사 네트워크에서 연결할 수 있습니다.
  • 페일오버 시 요청을 대기 데이터 센터로 라우팅하도록 구성된 DNS 기능이 있습니다.

백엔드 계층

  • 기존 애플리케이션은 Oracle Database Appliance VM에 배포되어 워크로드를 통합하고 전체 비용을 절감할 수 있습니다.
  • 고객 관리형 Oracle REST Data Services는 애플리케이션 서버 Oracle Database Appliance VM에 함께 배치 및 배포되므로 애플리케이션 코드는 Oracle REST Data Services를 통해 Oracle Database 23ai에 연결할 수 있습니다.
  • 백엔드 계층 확장성은 필요한 경우 Oracle Database Appliance VM을 더 추가하고 각 애플리케이션 서버 VM에 설치된 Oracle REST Data Services를 암시적으로 확장하여 달성할 수 있습니다.

데이터베이스 티어

  • Oracle Database 23ai는 단일 노드 구성으로 Oracle Database Appliance에 배포되며, 백엔드 계층에 JSON 문서를 저장하고 제공하는 데 사용됩니다.
  • MongoDB용 Oracle Database API는 Oracle REST Data Services를 사용하여 사용으로 설정되므로 코드를 변경하지 않고도 기존 애플리케이션 코드를 사용할 수 있습니다.

비즈니스 연속성

  • 백업 기반 재해 복구 전략이 사용됩니다.
  • 대기 데이터 센터에서 작업 로드를 실행할 때 동일한 애플리케이션 SLO(서비스 레벨 목표)가 유지되도록 하려면 해당 위치에서 유사한 Oracle Database Appliance 인프라를 실행하십시오.

다음 다이어그램은 이 참조 구조를 보여줍니다.



mongodb-oda-physical-arch.zip

물리적 구조를 위한 설계:

비즈니스 연속성

  • 동일한 배치를 가진 두 개의 데이터 센터가 있습니다. 하나는 활성이고 다른 하나는 대기 상태입니다.
  • 백업은 NFS(네트워크 파일 스토리지)에 저장되고 대기 사이트로 복제됩니다.
  • 활성 데이터 센터에서 장애가 발생하면 최신 백업을 통해 대기 센터에서 워크로드를 신속하게 실행할 수 있습니다.
  • DNS 트래픽 조정은 사용자 요청을 활성 데이터 센터로 전달합니다. 애플리케이션 계층에서 실행된 DNS 건전성 검사 프로브가 반복적으로 실패할 경우 대기 데이터 센터 작업 로드로 트래픽 경로를 지정하도록 DNS가 재구성됩니다.
  • 로드 밸런서는 수신 요청을 여러 백엔드 계층 VM에 분산하여 단일 실패 지점을 방지합니다.
  • 고객 관리형 Oracle REST Data Services는 백엔드 계층 VM에 배포 및 구성됩니다. VM이 추가될 때마다 애플리케이션 서버와 Oracle REST Data Services가 모두 그에 따라 확장됩니다.
  • RTO(복구 시간 목표)는 마지막으로 복제된 백업에서 데이터베이스를 복원하는 등 대기 데이터 센터에 있는 모든 작업 로드 구성 요소의 배치에 따라 달라집니다.
  • RPO(복구 지점 목표)는 가장 최근에 복제된 백업에 따라 다릅니다.

네트워킹

  • 인터넷에서 수신되는 사용자 요청을 수신하는 공용 서브넷이 있습니다.
  • Oracle Database Appliance 공용 NIC(네트워크 인터페이스 카드)는 워크로드 전용 서브넷에 연결됩니다.
  • 로드 밸런서 요청은 사용자 요청을 처리하는 Oracle Database Appliance 백엔드 계층 VM으로 경로 지정됩니다.

데이터베이스

  • Oracle Database 23ai는 Oracle Database Appliance에 배포됩니다.
  • 데이터 복원성을 높이기 위해 이중 또는 삼중 미러링으로 데이터가 중복 저장됩니다.
  • 자동화된 데이터베이스 백업은 NFS로 백업하도록 구성되며, 이러한 백업은 기존 NFS 복제 기능을 사용하여 대기 데이터 센터 NFS로 복제됩니다.

보안

  • 데이터베이스 RBAC(역할 기반 액세스 제어) 기능은 워크로드를 보호하는 데 사용됩니다.
  • Oracle Database Enterprise Edition Advanced Security Option을 사용하는 경우 데이터베이스에 저장된 데이터는 TDE(투명한 데이터 암호화)를 사용하여 암호화할 수 있습니다.

단순성을 위해 이 배포에 명시되지 않은 잠재적인 설계 개선 사항은 다음과 같습니다.

  • 2개의 컴퓨트 노드로 구성된 Oracle Database Appliance HA(고가용성) 시스템을 활용하여 백엔드 워크로드 고가용성을 보장합니다. 자동 재시작 및 페일오버를 통해 두 노드에 VM을 배치합니다.
  • Oracle Database Appliance HA와 Oracle Database Enterprise Edition 및 Oracle Real Application Clusters(Oracle RAC)를 함께 사용하여 데이터베이스 계층에 고가용성을 제공합니다.

권장사항

다음 권장 사항을 시작점으로 사용하여 작업 로드를 더욱 향상시키고 발전시킵니다. 요구 사항은 여기에 설명된 아키텍처와 다를 수 있습니다.
  • 애플리케이션 배치

    여러 백엔드 계층 VM을 활용하여 복원력을 높입니다. CPU 리소스의 Oracle Database Appliance 관리를 사용으로 설정하여 적절한 양의 VM 컴퓨팅을 할당함으로써 애플리케이션에 필요한 서비스 품질을 보장합니다.

  • 보안

    Oracle Database Advanced Security Option 기능을 사용하여 미사용 데이터를 암호화하고 동적 데이터 편집을 사용으로 설정하는 것이 좋습니다. Oracle Database Advanced Security Option을 사용하려면 Oracle Database Enterprise Edition 라이센스가 필요합니다.

  • 관찰성

    Oracle Data Safe를 사용하여 작업 로드 보안 상태를 더욱 높이고 데이터베이스 감사를 수행할 수 있습니다.

  • 운영 효율성

    인프라를 코드로 사용하는 것이 좋습니다. 즉, Terraform을 Oracle Database Appliance SDK와 함께 사용하면 VM 및 데이터베이스 배포를 자동화할 수 있습니다.

  • 애플리케이션 진화
    • SQL 및 Oracle APEX와 같은 프론트엔드를 사용하여 Oracle Database 23ai에서 운영 분석 및 실시간 보고를 배포하는 것을 고려해 보세요. 신뢰할 수 있는 실시간 분석을 위해 데이터베이스 내에 데이터를 보관할 수 있습니다.
    • Oracle Machine Learning for SQL을 사용하는 머신 러닝에 Oracle Database 23ai를 사용하고, 데이터 이동 없이 JSON 데이터로 모델을 구축 및 교육하고, 기존 워크로드와 함께 모델을 배포하여 효율적인 추론을 수행하는 것이 좋습니다.
    • 추가 워크로드 기능 및 유연성을 위해 데이터베이스를 사용하여 추가 데이터 유형(관계형, 벡터, 공간 또는 그래프)을 저장하는 것이 좋습니다.
    • 운영 분석 이상의 분석을 위해 Oracle Database Appliance 및 Oracle Database 23ai를 사용하는 것이 좋습니다. 데이터 분석을 위해 맞춤화된 효율적인 열 형식인 Hybrid Columnar Compression을 통해 데이터 저장에 필요한 공간을 줄이면서 분석 성능을 향상시킬 수 있습니다. Hybrid Columnar Compression은 Oracle Database Appliance에서 지원되며 Oracle Database Enterprise Edition 라이센스에 포함됩니다.

자세히 살펴보기

MongoDB에서 Oracle Database Appliance로 마이그레이션된 워크로드를 배포하는 방법에 대해 자세히 알아보십시오.

다음 추가 리소스를 검토하십시오.

승인

  • 작성자: José Cruz
  • 기여자: Massimo Castelli, Simon Griffiths, Matt DeMarco, Julian Dontcheff