Oracle Cloud, Microsoft Azure, Amazon Web Services 전반에 분산된, 선형적으로 확장 가능한 샤딩된 Oracle Databases 배포

다양한 확장 데이터 격리와 함께 여러 클라우드 제공업체에 분산되는 완벽한 데이터 격리를 지원하는 데이터베이스가 필요한 경우 내결함성 토폴로지에 Oracle Database의 샤딩된 인스턴스를 배포합니다. Oracle Cloud, Microsoft Azure, Amazon Web Services 전반에 걸쳐 토폴로지를 배포할 수 있습니다.

Oracle Sharding은 하이퍼스케일, 전 세계에 분산된 통합 데이터베이스를 지원합니다. 데이터 주권을 위해 선형 확장성, 탄력성, 장애 격리 및 지리적 분산이 필요한 애플리케이션을 지원합니다. 이렇게 하려면 독립적인 Oracle 데이터베이스(야드)에 데이터 집합의 조각들을 분산시킵니다. 특수 하드웨어 또는 소프트웨어를 사용하지 않고도 클라우드 또는 온프레미스에서 샤드를 배포할 수 있습니다. Shards는 이 shared-nothing 구조에서 런타임 시 서로 통신하지 않습니다. 따라서 다른 샤드는 서로 다른 클라우드나 온프레미스로 배치하는 동안 하나의 클라우드에 분할 영역을 배치할 수 있습니다.

구조

다음 아키텍처는 결함 허용, 샤딩된 Oracle Database 19c 토폴로지를 보여줍니다. 주 샤드는 Oracle Cloud, Microsoft Azure 및 Amazon Web Services의 여러 지역에 분산됩니다. 각 기본 샤드에 대해 대기 샤드가 동일한 영역 내에 프로비전됩니다.

아키텍처에는 각 클라우드 공급업체의 모든 계층(하드 디렉터, 카탈로그 및 샤드)에 중복된 리소스가 포함되어 있어 샤딩된 데이터베이스의 가용성을 극대화할 수 있습니다.

다음 다이어그램은 이 참조 아키텍처를 보여줍니다.

다음은 sharded-db-oci-azure-aws.png에 대한 설명입니다.
그림 sharded-db-oci-azure-aws.png에 대한 설명

구조에는 다음과 같은 구성 요소가 있습니다.

  • 인터넷 게이트웨이

    인터넷 게이트웨이는 공용 서브넷과 공용 인터넷 사이의 트래픽을 허용합니다. 각 클라우드 제공자는 공용 인터넷에 연결되어 있습니다.

  • 샤드의 연출가

    샤드 디렉터(Global Service Manager라고도 함)는 샤딩 키를 기반으로 적절한 데이터베이스 샤드에 대한 고성능 연결 경로 지정을 가능하게 하는 네트워크 리스너입니다.

    필요한 샤드 디렉터 수를 지정할 수 있습니다. 샤드 디렉터는 각 클라우드 제공자의 개별 컴퓨트 인스턴스에 배치됩니다. 샤드 디렉터에 사용할 컴퓨트 인스턴스의 구성을 선택할 수 있습니다.

  • 기본 및 대기 샤드 카탈로그

    샤드 카탈로그는 자동화된 샤드 배치, 샤딩된 데이터베이스의 중앙 집중식 관리 및 다중샤드 질의를 지원하는 특수 용도의 Oracle Database 인스턴스입니다.

    이 구조에는 각각 단일 노드 데이터베이스 시스템에 있는 카탈로그 데이터베이스의 기본 대기 쌍이 포함되어 있습니다. 카탈로그 데이터베이스에 대해 데이터베이스 구성 및 사용 가능한 스토리지 용량을 선택할 수 있습니다. 카탈로그 데이터베이스의 기본-대기 쌍이 각 클라우드 제공자에 배포됩니다.

  • 데이터베이스 샤드

    각 데이터베이스 샤드는 단일 노드 데이터베이스 시스템입니다. 주요 표준은 Oracle Cloud, Microsoft Azure, Amazon Web Services 간에 배포됩니다. 각 기본 샤드에는 연관된 대기 샤드가 있습니다.

권장 사항

다음 권장 사항을 기반으로 Oracle Cloud, Microsoft Azure, Amazon Web Services에 Oracle Database 샤드를 배포할 수 있습니다. 요구 사항은 여기에 설명된 아키텍처와 다를 수 있습니다.
  • 크기 및 분할 수
    스택을 배치하는 동안 사용할 데이터베이스 구성과 샤드 수를 지정할 수 있습니다.
    • 작업 로드 요구 사항에 따라 적절한 구성을 선택합니다. 지정한 모양은 모든 샤드에 사용됩니다.

      배치 후에 작업 로드의 변경 사항에 맞게 개별 샤드의 구성을 변경할 수 있습니다. 의 모양을 변경한 샤드는 중지된 다음 새 쉐이프를 사용하여 다시 시작합니다.

    • 일반적으로 작은 샤드의 수가 많을수록 작은 수의 대형 샤드보다 전체 내결함성이 향상됩니다. 토폴로지를 스케일 아웃하거나 내결함성을 개선하기 위해 기존 샤드의 가용성에 영향을 주지 않고 언제든지 샤드를 추가할 수 있습니다. 필요한 경우 샤딩된 데이터베이스에서 크기를 조정할 수 있습니다. 데이터를 다른 샤드로 이동한 후 마지막으로 생성된 샤딩이 먼저 제거됩니다.
  • 가용성 제공

    샤드의 고가용성을 보장하려면 대기 샤드를 프로비전하고 기본-대기 동기화 및 페일오버용 Oracle Data Guard를 사용하십시오.

  • 샤드 카탈로그 가용성

    샤드 카탈로그의 고가용성을 위해서는 대기 카탈로그를 프로비전하고 동기화 및 복구를 위해 Oracle Data Guard를 사용하십시오. 샤드 카탈로그의 가용성은 샤딩된 데이터베이스의 가용성에 영향을 주지 않습니다. 샤드 카탈로그의 중단은 대기 카탈로그로 복구하면서 유지 관리 작업 또는 다중샤드 질의를 수행하는 기능에만 영향을 줍니다. OLTP 트랜잭션은 계속해서 샤드로 라우팅됩니다.

  • 샤드 디렉터 가용성

    샤드 디렉터 레이어의 고가용성을 위해서는 여러 샤드 디렉터를 배포합니다. 한 지역에 최대 5개의 샤드 디렉터를 배포할 수 있습니다. Oracle은 두 개 이상의 샤드 디렉터를 배치할 것을 권장합니다. Oracle Cloud에서 Oracle은 별도의 가용성 도메인 또는 결함 도메인에 샤드 디렉터를 분리할 것을 권장합니다.

  • 저장 영역

    워크로드에 적합한 스토리지 용량을 선택하십시오. 예를 들어, 지정된 크기의 로컬 스토리지 또는 블록 볼륨이 각 데이터베이스 샤드에 연결됩니다.

    클라우드 스토리지 제공자 기능에 따라 데이터베이스의 가용성에 영향을 주지 않고 언제든지 스토리지를 확장할 수 있습니다. Oracle Cloud에 있는 샤드의 경우 Oracle Cloud Infrastructure Database 문서에서 Oracle Cloud 저장소에 대한 자세한 내용을 참조하십시오.

고려 사항

  • 애플리케이션 설계

    잘 정의된 데이터 분산 전략이 있고, 주로 고객 ID, 계정 번호 등 샤딩 키를 사용하여 데이터에 액세스하는 응용 프로그램은 샤딩된 데이터베이스에 적합합니다.

  • 확장성

    샤딩된 데이터베이스를 배치한 후 스택을 편집하고 변경 사항을 적용하여 샤드 수를 늘리거나 줄일 수 있습니다. 스택을 배치하는 동안 지정한 복제 요소에 따라 대기 샤드도 확장됩니다.

    샤드 디렉터 수도 확장할 수 있습니다.

  • 보안

    샤딩된 데이터베이스를 배치하는 동안 데이터베이스 서버에 대한 보안 SSH 연결을 사용으로 설정하려면 SSH 공용 키를 지정하십시오.

    특정 사용 사례 및 보안 요구사항에 따라 방화벽 및 프록시를 적절히 사용합니다.

  • 네트워크 격리

    네트워크 격리를 보장하기 위해 샤딩된 데이터베이스를 전용 서브넷에 배치하는 것이 가장 좋습니다. 라우팅 및 방화벽 솔루션은 애플리케이션 설계 및 요구 사항에 따라 결정해야 합니다.