크기 및 배포 권장사항

이 문서에서는 온라인 트랜잭션 처리 (OLTP) 및 온라인 분석 처리 (OLAP) 워크로드 모두에 대해 PostgreSQL용 AlloyDB 인스턴스의 크기를 조절하기 위한 워크로드 및 배포 권장사항을 제공합니다.

개요

PostgreSQL용 AlloyDB는 데이터베이스 성능을 개선하는 데 도움이 되는 다음과 같은 기본 제공 기능을 제공합니다.

  • 자동 메모리 관리
  • 적응형 자동 정리
  • 최적화된 내장 성능 설정
  • 낮은 복제 지연
  • 확장 작업 중에 기본 인스턴스의 다운타임이 1초 미만이고 읽기 풀 노드의 다운타임이 없는 무중단 유지보수

성능을 위해 PostgreSQL용 AlloyDB 인스턴스를 조정하는 작업에는 다음을 관리하는 작업이 포함됩니다.

  • 기본 및 읽기 풀 인스턴스 크기 조정
  • 성능에 영향을 주는 플래그 업데이트

크기 고려사항

PostgreSQL용 AlloyDB 인스턴스의 크기를 조정하기 전에 다음을 결정합니다.

  • 워크로드 유형: OLTP, OLAP 또는 HTAP
  • 성능 요구사항: 지연 시간 및 처리량 요구사항
  • 예상 데이터 크기: PostgreSQL용 AlloyDB에 저장할 데이터의 크기 및 활성 데이터 세트 크기
  • 워크로드 규모: 시간 경과에 따른 데이터 크기의 증가 또는 성장

OLTP 작업

PostgreSQL용 AlloyDB 데이터베이스를 영역 인스턴스 (단일 노드) 또는 고가용성 인스턴스 (각 영역에 노드 2개)로 배포할 수 있습니다. 원하는 경우 지리적으로 분산된 워크로드 또는 재해 복구 (DR)를 위해 다른 리전에 읽기 풀 인스턴스와 보조 클러스터를 추가할 수도 있습니다.

PostgreSQL용 AlloyDB는 분산된 컴퓨팅과 스토리지가 있는 클라우드 규모의 분산 아키텍처를 사용하여 배포됩니다. 블록 구현이 스토리지로 오프로드되는 동안 쓰기 전 로그 (WAL) 파일이 지역 스토리지에 저장되는 즉시 쓰기가 확인됩니다.

마찬가지로 다층 캐시 아키텍처를 사용하면 데이터가 버퍼 캐시, 초고속 캐시, 지능형 스토리지 엔진 사이에 자동으로 배치됩니다. PostgreSQL용 AlloyDB에 사용되는 이 다층 캐시 아키텍처로 인해 PostgreSQL용 AlloyDB의 맥락에서 다른 데이터베이스 시스템과 비교할 때 입력 및 출력 작업 수 (IOP)는 관련이 없습니다.

그러나 초당 트랜잭션 수(TPS)/분당 트랜잭션 수 (TPM)를 사용하면 PostgreSQL용 AlloyDB에서 처리할 수 있는 데이터의 양을 파악하는 데 유용한 비교 정보를 얻을 수 있습니다.

기본 크기 조정 측정항목은 TPS입니다. 필요한 PostgreSQL용 AlloyDB 크기를 추정하려면 다음 단계를 따르세요.

  1. 기존 워크로드를 식별합니다. 자체 관리 PostgreSQL 또는 다른 상용 데이터베이스에서 마이그레이션하는 경우 기존 워크로드의 TPS 값이 이미 있을 수 있습니다.
  2. 검색어를 분석합니다. 워크로드에서 가장 중요한 쿼리를 식별하고 성능 요구사항을 확인합니다.
  3. HammerDB 또는 pgbench과 같은 도구를 사용합니다. 이러한 도구는 PostgreSQL용 AlloyDB를 벤치마킹하고 머신 크기가 TPS 요구사항을 충족하는지 확인하는 데 도움이 됩니다.
  4. PostgreSQL용 AlloyDB OLTP 벤치마킹 가이드를 사용합니다. 이 가이드에서는 TPS 요구사항을 충족하는 구성을 찾을 수 있도록 다양한 PostgreSQL용 AlloyDB 구성의 성능 데이터를 제공합니다.
  5. 적절한 PostgreSQL용 AlloyDB 크기를 선택합니다. 현재 데이터 크기와 향후 예상 성장률을 고려하세요.

머신 크기 가이드라인

다음 표 예에서는 읽기-쓰기 비율이 약 65% 읽기 및 35% 쓰기인 TPC-C 벤치마킹을 사용한 데이터에 대한 권장사항을 보여줍니다. PostgreSQL용 AlloyDB 인스턴스의 크기를 조절할 때는 운영체제 예약 오버헤드를 방지하기 위해 안정적인 상태의 CPU 사용률을 약 60~70% 로 유지하는 것을 목표로 해야 합니다. 이렇게 하면 클라이언트 애플리케이션의 리소스 사용량이 급증할 여지가 생깁니다.

vCPU/메모리 권장 트랜잭션/초
범위 (캐시된 30%)
권장 작업
데이터 크기 (총 크기 최대 128TB)
권장 max_connections
2 / 16GB 최대 1,000개 최대 100GB 1000
4GB / 32GB 최대 2,500 최대 250GB 2000
8/ 64GB 최대 4,000 최대 500GB 4000
16GB / 128GB 최대 8,000 최대 1TB 5000
32GB / 256GB 최대 14,000 최대 3TB 5000
64 / 512GB 최대 20,000 최대 8TB 5000
96 / 768GB 최대 25,000 최대 16TB 5000
128 / 864GB 20,000 초과 최대 32TB 5000

배포 유형

워크로드에 따라 PostgreSQL용 AlloyDB를 기본 인스턴스 전용으로 배포하거나 기본 인스턴스와 읽기 풀 인스턴스로 배포할 수 있습니다.

기본만

다음 워크로드에는 기본 전용 배포를 선택합니다.

  • 쓰기 빈도가 높고 읽기 빈도가 낮음
  • 쓰기가 적은 읽기 중심 쿼리
  • 일반적인 OLTP 읽기-쓰기(읽기 60~70%, 쓰기 30~40%)

머신 유형에 대한 자세한 내용은 일반 머신 크기 가이드라인을 참고하세요.

읽기 풀 인스턴스가 있는 기본

읽기 풀 인스턴스가 있는 기본 인스턴스를 배포하려면 다음 사항을 고려하세요.

  • 지연 시간에 민감한 읽기가 있는 경우 표준 PostgreSQL에 비해 복제본 지연 시간이 25배 더 짧은 읽기 풀 인스턴스로 읽기 쿼리를 오프로드하는 것이 좋습니다. 모든 읽기 풀 인스턴스에서 노드를 최대 20개까지 구성할 수 있습니다.
  • 데이터베이스가 두 개 이상인 경우(예: 동일한 인스턴스의 CRM 또는 Finance) 여러 읽기 풀 인스턴스를 구성합니다. 이 전략을 사용하면 효과적인 캐싱과 쿼리 성능을 얻을 수 있습니다.
  • 요구사항에 따라 기본 풀 인스턴스와 읽기 풀 인스턴스의 크기를 다르게 지정할 수 있습니다. 읽기 풀 인스턴스에 관한 권장사항에 대한 자세한 내용은 AlloyDB 성능 및 가용성 개선을 위한 권장사항을 참고하세요.
  • 고가용성을 위해 읽기 풀 인스턴스당 노드를 두 개 이상 추가합니다.
  • 읽기 쿼리 성능을 위해 특정 읽기 풀 인스턴스에서 열 형식 엔진을 선택적으로 사용 설정합니다. 이 경우 기본 인스턴스에서 열 엔진을 사용 설정할 필요가 없습니다.

색인 자문과 같은 내장 기능을 사용하여 쿼리 성능을 개선할 수 있는 색인을 추가해 보세요.

OLAP 워크로드

OLAP 워크로드의 경우 기본 크기 조정 측정항목은 쿼리 성능, 특히 전체 테이블 스캔 또는 집계가 필요한 쿼리입니다. PostgreSQL용 AlloyDB에는 분석 쿼리 속도를 높이는 데 도움이 되는 내장 열 기반 엔진이 포함되어 있습니다. 열 형식 엔진을 사용 설정하면 기본적으로 메모리의 30% 가 사용되고 초고속 캐시 데이터가 자동으로 사용됩니다.

TPC-H 워크로드를 사용하여 PostgreSQL용 AlloyDB로 OLAP 성능을 측정하는 방법에 관한 자세한 내용은 PostgreSQL용 AlloyDB의 PostgreSQL OLAP 벤치마킹 가이드를 참고하세요.

배포 유형

워크로드에 따라 PostgreSQL용 AlloyDB를 기본 인스턴스 전용으로 배포하거나 기본 인스턴스와 읽기 풀 인스턴스로 배포할 수 있습니다.

기본만

기본 전용 인스턴스를 배포하는 경우 다음 사항을 고려하세요.

  • 분석 쿼리가 있는 트랜잭션 (HTAP) 모두에 이 배포를 사용하세요.
  • 열 형식 엔진을 사용 설정하여 OLAP 쿼리를 지원합니다.
  • 열 데이터를 저장할 메모리가 더 많은 16개 이상의 vCPU를 갖춘 머신으로 배포하는 것이 좋습니다.

읽기 풀이 있는 기본

읽기 풀 인스턴스가 있는 기본 인스턴스를 배포하는 경우 다음 사항을 고려하세요.

  • 쓰기가 많고 지연 시간 요구사항이 낮으며 지연 시간에 민감한 분석 읽기가 있는 경우 HA가 사용 설정된 기본 인스턴스와 읽기 풀 인스턴스를 배포합니다.
  • 분석 쿼리를 실행하는 읽기 풀 인스턴스에서 열 기반 엔진을 사용 설정합니다.
  • 데이터베이스가 두 개 이상인 경우(예: 동일한 인스턴스의 CRM 또는 Finance) 여러 읽기 풀 인스턴스를 구성합니다. 이 전략을 사용하면 효과적인 캐싱과 쿼리 성능을 얻을 수 있습니다.
  • 요구사항에 따라 기본 풀 인스턴스와 읽기 풀 인스턴스의 크기를 다르게 지정할 수 있습니다. 읽기 풀 인스턴스에 관한 권장사항에 대한 자세한 내용은 AlloyDB 성능 및 가용성 개선을 위한 권장사항을 참고하세요.
  • 고가용성을 위해 읽기 풀 인스턴스당 노드를 두 개 이상 추가합니다.
  • 읽기 쿼리 성능을 위해 특정 읽기 풀 인스턴스에서 열 형식 엔진을 선택적으로 사용 설정합니다. 이 경우 기본 인스턴스에서 열 엔진을 사용 설정할 필요가 없습니다.

다음 단계