마이그레이션된 MongoDB 워크로드를 Oracle Database Appliance에 배포
문서 및 문서 데이터베이스를 사용하여 데이터 스키마 및 애플리케이션을 발전시키는 워크로드 및 애플리케이션은 개발자에게 제공하는 유연성 때문에 널리 사용됩니다. 스키마 유연성, 신속한 개발 및 확장성을 통해 애플리케이션 기능의 프로토타이핑 가속화, 손쉬운 애플리케이션 개발, 대규모 사용자 기반을 처리하기 위해 개발자가 확장할 수 있는 반복적으로 작은 애플리케이션 및 기능을 구축할 수 있습니다. 그러나 이러한 유형의 워크로드에는 약한 트랜잭션 보증, 데이터 쿼리 다기능성, 분석 또는 머신 러닝과 같은 문서에서 다른 워크로드를 지원할 수 없는 등 당면 과제가 있습니다.
이러한 워크로드가 기존 문서 데이터베이스의 장점을 활용하고 관계형 데이터베이스의 이점을 활용할 수 있다면 어떨까요? 예를 들어, 데이터를 다른 데이터베이스나 시스템에 복제할 필요 없이 분석 및 머신 러닝과 같은 강력한 트랜잭션 보장 및 추가 기능을 사용할 수 있습니다.
AI, 마이크로서비스, 그래프, 문서, 공간 및 관계형 애플리케이션 개발을 간소화하도록 설계된 Oracle Database 23ai는 하나의 강력한 솔루션에서 필요한 모든 것을 제공하는 컨버지드 데이터베이스 플랫폼입니다.
Oracle Database Appliance는 고가용성 Oracle Database 솔루션의 배포, 관리 및 지원을 간소화하는 엔지니어드 시스템입니다. 소프트웨어, 컴퓨팅, 스토리지 및 네트워킹을 통합함으로써 다양한 온라인 트랜잭션 처리(OLTP), 분석, 데이터 웨어하우징 및 AI 애플리케이션에 대해 안정적인 성능을 제공합니다.
기능적 구조
이 참조 아키텍처는 마이그레이션 프로세스가 아닌 마이그레이션된 워크로드를 배포하는 데 중점을 둡니다. 마이그레이션 프로세스에 대한 자세한 내용은 자세히 살펴보기 섹션을 참조하십시오.
이 아키텍처에서 사용되는 주요 기능 중 하나는 애플리케이션이 MongoDB 명령을 사용하여 Oracle Database의 JSON 문서 모음과 상호 작용할 수 있는 MongoDB용 Oracle Database API입니다. 이를 통해 기존 애플리케이션 코드는 코드를 리팩토링하지 않고도 Oracle Database 23ai에 저장된 데이터로 작업할 수 있습니다.
다음 다이어그램은 데이터베이스, 백엔드 계층 및 프런트엔드 계층으로 구성된 일반적인 애플리케이션을 보여줍니다.
mongodb-logical-arch-migration.zip
이 패턴을 구현하는 데 사용되는 인기 있는 스택은 MEAN 스택입니다.
- MongoDB: 문서 데이터베이스
- Express: 백엔드 프레임워크
- 각도: 프런트엔드 프레임워크
- Node.js: 백엔드 서비스
이 아키텍처는 기존 배포의 예로 MEAN 스택을 사용하여 Oracle Database 23ai로 마이그레이션합니다. 이 워크로드를 Oracle Database 23ai로 마이그레이션하는 작업은 다음과 같은 고급 단계로 구성됩니다.
- Oracle Database Appliance를 배포하고 구성합니다.
- Oracle Database Appliance에서 Oracle Database 23ai 인스턴스를 생성합니다.
- 메타데이터 및 데이터를 MongoDB에서 Oracle Database로 마이그레이션합니다.
- Oracle Database Appliance에서 VM을 만들어 백엔드 계층 및 Oracle REST Data Services를 실행합니다.
- Oracle Database Appliance VM에서 백엔드 계층 및 Oracle REST Data Services를 배포하고 구성합니다.
- 응용 프로그램이 MongoDB 드라이버를 사용하여 데이터베이스와 통신할 수 있도록 MongoDB API를 사용으로 설정하도록 Oracle REST Data Services를 구성합니다.
- 새 데이터베이스 연결 문자열을 사용하도록 응용 프로그램을 구성합니다.
- 애플리케이션에 사용된 것과 동일한 MongoDB 도구 및 드라이버를 사용하여 백엔드 애플리케이션을 Oracle Database에 연결합니다.
워크로드를 Oracle Database로 마이그레이션한 후에는 데이터베이스에서 데이터를 복사하지 않고도 향상된 보안, 운영 보고, 분석 및 머신 러닝과 같은 추가 기능을 사용으로 설정하여 기능을 향상시킬 수 있습니다. Oracle Database 23ai는 관계형, 공간, 그래프 또는 벡터 데이터 유형을 기존 애플리케이션과 함께 활용하는 기능을 원활하게 통합할 수 있는 멀티 모델 멀티 워크로드 플랫폼입니다.
작업 로드 확장성을 향상시키려면 데이터베이스 및 애플리케이션 VM에 할당된 CPU 코어를 조정하여 데이터베이스에 더 많은 컴퓨팅 및 메모리를 할당합니다.
가용성 향상을 위해 Oracle Database Appliance에는 2개의 컴퓨트 노드를 사용하여 데이터베이스 및 백엔드 계층을 배포하는 완전 이중 고가용성 시스템인 Oracle Database Appliance 고가용성이 있습니다. Oracle Database 23ai Real Application Clusters와 함께 사용할 경우 완전한 고가용성이 보장됩니다.
물리적 구조
프론트엔드 계층
- 현재 배포가 사용됩니다.
- 사용자는 인터넷 또는 회사 네트워크에서 연결할 수 있습니다.
- 페일오버 시 요청을 대기 데이터 센터로 라우팅하도록 구성된 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 인프라를 실행하십시오.
다음 다이어그램은 이 참조 구조를 보여줍니다.
물리적 구조를 위한 설계:
비즈니스 연속성
- 동일한 배치를 가진 두 개의 데이터 센터가 있습니다. 하나는 활성이고 다른 하나는 대기 상태입니다.
- 백업은 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 라이센스에 포함됩니다.