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

컨버지드 다중 모델 데이터베이스를 사용하여 JSON 중심 애플리케이션의 개발을 간소화하기 위해 문서 데이터베이스(이 경우 MongoDB)를 Exadata 인프라의 Oracle Database 23ai로 마이그레이션합니다.

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

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

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

Oracle Exadata Database Machine은 Oracle Database를 실행하는 데 있어 최고의 성능과 가용성을 실현 할 수 있는 플랫폼으로 설계되었습니다. Exadata는 OLTP(온라인 트랜잭션 처리), DW(데이터 웨어하우징) 및 혼합 워크로드의 통합을 포함하여 모든 종류의 데이터베이스 워크로드를 실행합니다. 간단하고 빠르게 구현되는 Exadata는 가장 중요한 데이터베이스를 강화하고 보호하도록 설계되었으며 DBaaS(Database as a Service)에 이상적인 기반입니다.

기능적 구조

이 참조 아키텍처는 애플리케이션으로 구성된 워크로드를 가정하고 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 Real Application Clusters(Oracle RAC)를 사용하여 여러 데이터베이스 노드에 걸쳐 Exadata에서 고가용성 Oracle Database 23ai 인스턴스를 배포합니다.
  2. 메타데이터 및 데이터를 MongoDB에서 Oracle Database 23ai로 마이그레이션합니다.
  3. VM, 컨테이너 또는 Oracle REST Data Services 등 백엔드 계층 컴퓨팅을 설치하고 구성합니다.
  4. 응용 프로그램이 MongoDB 드라이버를 사용하여 데이터베이스와 통신할 수 있도록 MongoDB API를 사용으로 설정하도록 Oracle REST Data Services를 구성합니다.
  5. 새 데이터베이스 연결 문자열을 사용하도록 응용 프로그램을 구성합니다.
  6. 현재 애플리케이션에 사용된 것과 동일한 MongoDB 도구 및 드라이버를 사용하여 백엔드 애플리케이션을 Oracle Database 23ai에 연결합니다.

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

작업 로드 확장성을 향상시키려면 데이터베이스에 더 많은 컴퓨팅 및 메모리를 할당합니다. Oracle Database 23ai는 멀티 모델, 멀티 워크로드 데이터베이스 기술이기 때문에 관계형, 공간, 그래프 또는 벡터 데이터 유형에 의존하는 추가 기능을 기존 애플리케이션과 함께 추가할 수 있습니다.

물리적 구조

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

프론트엔드 계층

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

백엔드 계층

  • 기존 애플리케이션은 동일한 컴퓨트 인스턴스와 함께 배치되고 사용됩니다.
  • 고객 관리형 Oracle REST Data Services는 애플리케이션 서버에 함께 배치되고 배포됩니다. 응용 프로그램 코드는 Oracle REST Data Services를 통해 Oracle Database 23ai에 연결할 수 있습니다.
  • 백엔드 계층 확장성은 각 애플리케이션 서버에 설치된 Oracle REST Data Services를 암시적으로 확장하는 현재의 확장성 메커니즘을 사용하여 달성됩니다.

데이터베이스 티어

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

비즈니스 연속성

  • Oracle Data Guard 재해 복구 전략을 사용하여 달성합니다.
  • 웜 재해 복구 전략은 백엔드 계층 및 연관된 리소스가 이미 배치되어 실행 중인 것으로 간주됩니다.

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



mongodb-exadata-기계-물리적-arch.zip

물리적 구조를 위한 설계:

비즈니스 연속성

  • 동일한 배치를 가진 두 개의 데이터 센터가 있습니다. 하나는 활성이고 다른 하나는 대기 상태입니다.
  • DNS 트래픽 조정은 사용자 요청을 활성 데이터 센터로 전달합니다. 애플리케이션 계층에서 실행된 DNS 건전성 검사 프로브가 반복적으로 실패할 경우 대기 데이터 센터 작업 로드로 트래픽 경로를 지정하도록 DNS가 재구성됩니다.
  • 로드 밸런서는 수신 요청을 여러 백엔드 계층 VM에 분산하여 단일 실패 지점을 방지합니다.
  • 백엔드 계층에는 사용자 요청을 처리하는 여러 VM이 있습니다.
  • 고객 관리형 Oracle REST Data Services는 백엔드 계층 VM에 배포 및 구성됩니다. VM을 추가하면 애플리케이션 서버와 Oracle REST Data Services가 모두 자동으로 확장됩니다.
  • RTO(복구 시간 목표)는 데이터베이스 복구뿐만 아니라 대기 데이터 센터의 나머지 작업 로드 구성 요소로의 전체 복구에 따라 달라집니다.
  • 데이터베이스 RTO 및 RPO(복구 지점 목표)는 구성된 Oracle Data Guard 보호 모드에 따라 달라집니다.
  • 데이터베이스 페일오버는 비즈니스 연속성 세부 요구 사항에 따라 Oracle Data Guard 수동 또는 자동 페일오버를 활용합니다.

네트워킹

  • 인터넷에서 수신되는 사용자 요청을 수신하는 공용 서브넷이 있습니다.
  • 로드 밸런서 요청은 사용자 요청을 처리하는 백엔드 계층 서버로 경로 지정됩니다.
  • Exadata VM은 클라이언트 및 관리 네트워크에 연결됩니다.
  • Oracle REST Data Services를 통해 데이터베이스에 대한 백엔드 계층 요청은 클라이언트 네트워크 주소를 사용합니다.
  • 2개의 데이터 센터는 Oracle Data Guard 구성을 지원하는 데 필요한 대역폭 및 짧은 대기 시간과 상호 연결됩니다.

데이터베이스

  • Oracle Database 23ai는 Exadata VM 클러스터에 배포됩니다.
  • VM 클러스터는 고가용성을 위해 여러 데이터베이스 노드를 사용합니다.
  • Oracle RAC는 데이터베이스가 작업 로드에 대해 여러 데이터베이스 노드를 사용하도록 보장합니다.

보안

  • 모든 데이터는 전송 중 및 미사용 상태입니다.

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

  • Active Data Guard를 사용하여 읽기 전용 액세스를 위해 대기 데이터베이스를 사용으로 설정하고 운영 분석 질의를 오프로드합니다.

권장사항

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

    애플리케이션이 컨테이너에서 실행될 수 있는 경우 Kubernetes를 사용하여 컨테이너 기반 배포를 사용하는 것이 좋습니다. 컨테이너가 사용되는 경우 백엔드 코드와 고객 관리형 Oracle REST Data Services가 이미 설치된 컨테이너 이미지를 사용하는 것이 좋습니다.

  • 보안

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

  • 관찰성

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

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

자세히 살펴보기

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

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

승인

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