Azure Database for MySQL이 작동하는 방식

완료됨

이 단원에서는 아키텍처부터 시작하여 Azure Database for MySQL의 작동 방식을 살펴봅니다. 또한 서비스가 워크로드 요구 사항을 충족하기 위해 고가용성, 백업 기능 및 크기 조정 기능을 제공하는 방법도 알아봅니다.

Azure Database for MySQL 아키텍처

다음 다이어그램은 Azure Database for MySQL - 유연한 서버 인스턴스의 아키텍처를 설명합니다.

앞서 설명한 일반적인 조직의 Azure Database for MySQL에 대한 자세한 아키텍처 다이어그램의 스크린샷.

  1. MySQL 인스턴스는 Azure VM에서 실행됩니다.
  2. 데이터 및 로그는 Azure Premium Storage에 저장됩니다.
  3. 데이터는 백업 및 복원력을 위해 로컬 중복 스토리지에서 세 번 복제됩니다. 또한 이 서비스는 영역 중복 또는 지역 중복 스토리지 백업을 구성하는 옵션을 제공합니다.
  4. 이에 더해, 동일한 가용성 영역 내에서 MySQL 유연한 서버에 연결된 다양한 클라이언트 앱을 공동 배치하는 옵션을 이용할 수 있습니다.

추가로, 대기 복제본을 자동으로 프로비전하고 유지 관리하는 동일한 영역 또는 영역 중복 고가용성을 옵트인할 수 있습니다.

고가용성이 작동하는 방식

Azure Database for MySQL 유연한 서버의 경우 단일 가용성 영역 내에서 호스팅 서버 오류 후 다음 프로세스가 발생합니다.

  1. Azure는 새로운 VM(가상 머신)을 프로비전합니다.
  2. Azure는 새로 프로비전된 VM에 스토리지 및 데이터 파일을 매핑합니다.
  3. MySQL 데이터베이스 엔진이 온라인 상태가 됩니다.
  4. 클라이언트 애플리케이션이 새 MySQL 인스턴스에 다시 연결됩니다.

참고 항목

여러 영역에서 고가용성을 프로비전한 경우 동일 Azure 지역 내의 다른 가용성 영역에서 상시 대기 서버가 유지됩니다. 이 서버는 주 서버의 완전히 동기화된 복제본입니다. 주 서버에 장애가 발생하는 경우 상시 대기 서버가 중단을 최소화하면서 신속하게 인계받아 서비스 가용성을 유지할 수 있습니다.

백업이 작동하는 방식

백업을 사용하면 보존 기간(35일 또는 장기 보존(미리 보기)의 경우 최대 10년) 내 특정 시점으로 서버를 복원할 수 있습니다.

스케일링이 작동하는 방식

Azure Database for MySQL의 크기 조정에는 애플리케이션의 요구 사항에 따라 컴퓨팅 리소스를 조정하는 작업이 포함되며, 이는 사용자 수요, 처리되는 작업의 복잡성 또는 비즈니스 성장과 같은 기타 요인에 따라 변동될 수 있습니다. 이러한 유연성은 최적의 성능과 비용 효율성을 유지하는 데 매우 중요합니다.

크기 조정 유형

  1. 수직적 크기 조정(스케일 업/스케일 다운)
    • 컴퓨팅 스케일링: 이는 MySQL 유연한 서버의 컴퓨팅 계층을 변경하는 것을 의미합니다. Azure는 다양한 형식의 워크로드를 처리하도록 설계된 여러 컴퓨팅 계층을 제공합니다.
      • 버스트 가능: 지속적인 전체 CPU 성능이 필요하지 않고 일시적으로 CPU 사용량이 급증하는 환경에 적합합니다.
      • 범용: 광범위한 애플리케이션을 위해 설계되어 컴퓨팅, 메모리 및 I/O 리소스의 균형을 제공합니다.
      • 중요 비즈니스용: 더 강력한 CPU와 더 빠른 I/O를 통해 데이터베이스에 최고의 성능을 제공하며 트랜잭션이 많고 대기 시간이 짧은 워크로드에 적합합니다.
    • 메모리 및 CPU 할당: 선택한 계층에 따라 vCore 수와 데이터베이스에 사용 가능한 RAM 양의 크기를 조정할 수 있으며, 이는 더 크거나 복잡한 쿼리와 더 많은 수의 동시 연결을 처리하는 기능에 직접적인 영향을 미칩니다.
  2. 수평 크기 조정
    • Azure Database for MySQL은 읽기 복제본을 추가하여 여러 서버에 읽기 트래픽을 분산함으로써 수평으로 크기 조정할 수 있으며, 주 서버를 쓰기 가능한 상태로 유지하면서 읽기 성능을 개선할 수 있습니다. 수평적 크기 조정을 통해 데이터베이스는 더 많은 쿼리 로드를 처리할 수 있어 애플리케이션 응답성이 향상됩니다.
  3. 스토리지 크기 조정
    • 동적 스토리지 크기 조정: Azure Database for MySQL을 사용하면 가동 중지 시간 없이 스토리지 용량을 늘릴 수 있습니다. 더 작은 할당으로 시작하고 데이터가 증가함에 따라 스케일 업할 수 있습니다.
    • 자동 증가 기능: 이 기능은 용량 제한에 도달하기 전에 자동으로 스토리지 크기를 늘려 스토리지 제약 조건과 관련된 중단을 방지합니다.

IOPS 자동 크기 조정

자동 크기 조정 IOPS(초당 입출력 작업 수)는 현재 워크로드에 따라 I/O 처리량을 동적으로 조정하는 기능입니다. 이는 데이터베이스가 수동 개입 없이 갑작스런 로드 증가를 처리할 수 있도록 보장하므로 예측할 수 없거나 급증이 발생하기 쉬운 워크로드 패턴에 특히 유용합니다.

  • 부하에 따른 IOPS 크기 조정: 워크로드가 증가하고 더 많은 I/O 처리량이 필요한 경우 자동 크기 조정 기능은 선택한 컴퓨팅 계층에서 허용되는 최댓값까지 IOPS 제한을 자동으로 늘립니다. 반대로 작업이 적은 기간에는 IOPS를 줄여 비용을 최소화합니다.
  • 비용 효율성: 실제 사용량에 따라 IOPS를 자동으로 조정함으로써 산발적으로만 발생할 수 있는 최대 로드를 처리하기 위해 리소스를 과도하게 프로비전하는 대신 사용하는 IOPS에 대해서만 비용을 지불합니다.

스케일링에 대한 모범 사례

Azure Database for MySQL을 효과적으로 크기 조정하려면 Azure Monitor를 사용하여 성능 메트릭을 모니터링하고, 중요 경고를 설정하고, 사용 패턴을 검토하여 향후 성장을 계획하고, 사용량이 적은 시간에 확장성을 테스트하여 증가된 부하에서 원활한 성능을 보장합니다.

이러한 크기 조정 메커니즘을 이해하고 활용하면 Azure Database for MySQL 유연한 서버가 항상 효율적으로 실행되어 비즈니스의 현재 및 향후 요구 사항에 모두 적응할 수 있습니다.

엔진 동작 구성 및 조정

Azure Database for MySQL에서 서버 변수 및 매개 변수를 쉽게 구성하고 사용자 지정하려면 Azure Portal, Azure CLI 또는 REST API를 사용해 쿼리 캐시 크기, 연결 시간 제한 및 스토리지 엔진 기본 설정과 같은 설정을 조정합니다. 이를 통해 특정 워크로드에 대한 최적의 성능과 동작을 보장할 수 있습니다.

다음으로, Azure Database for MySQL이 조직, 앱 및 데이터베이스 워크로드의 요구 사항을 충족하는지 고려합니다.