이 문서에서는 온라인 트랜잭션 처리(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에서 사용되는 이 멀티 등급 캐시 아키텍처로 인해 초당 입력 및 출력 작업(IOP)은 다른 데이터베이스 시스템과 비교하는 PostgreSQL용 AlloyDB 컨텍스트와 관련이 없습니다.
하지만 초당 트랜잭션 수(TPS)/분당 트랜잭션 수(TPM)를 사용하면 유의미한 비교를 통해 PostgreSQL용 AlloyDB에서 처리할 수 있는 데이터 양을 이해할 수 있습니다.
기본 크기 조절 측정항목은 TPS입니다. 필요한 PostgreSQL용 AlloyDB 크기를 추정하려면 다음 단계를 수행합니다.
- 기존 워크로드를 식별합니다. 자체 관리형 PostgreSQL 또는 기타 상업용 데이터베이스에서 마이그레이션하는 경우에는 기존 워크로드의 TPS 값이 이미 있을 수 있습니다.
- 쿼리를 분석합니다. 워크로드에서 가장 중요한 쿼리를 식별하고 성능 요구사항을 확인합니다.
HammerDB
또는pgbench
와 같은 도구를 사용합니다. 이러한 도구는 PostgreSQL용 AlloyDB를 벤치마킹하고 머신 크기가 TPS 요구사항을 충족하는지 확인하는 데 도움이 됩니다.- PostgreSQL용 AlloyDB OLTP 벤치마킹 가이드를 사용합니다. 이 가이드에서는 TPS 요구사항을 충족하는 구성을 찾을 수 있도록 다양한 PostgreSQL용 AlloyDB 구성 성능 데이터를 제공합니다.
- 적절한 PostgreSQL용 AlloyDB 크기를 선택합니다. 현재 데이터 크기와 향후 성장 기대치를 고려하세요.
머신 크기 가이드라인
다음 예시 표에는 읽기-쓰기 비율이 읽기 약65%, 쓰기 약35%인 TPC-C 벤치마킹 데이터에 대한 권장사항이 나와 있습니다. PostgreSQL용 AlloyDB 인스턴스 크기를 조절할 경우에는 운영체제 예약 오버헤드가 방지되도록 안정적인 상태의 CPU 사용률이 약 60~70%가 되도록 해야 합니다. 이를 통해 클라이언트 애플리케이션 리소스 사용량 급증에 대비할 수 있습니다.
vCPU/Mem | 권장 트랜잭션/초 범위(30% 캐시됨) |
권장 작업 데이터 크기(최대 총 크기 128TB) |
권장 max_connections |
---|---|---|---|
2/16GB | 최대 1,000 | 최대 100GB | 1000 |
4/32GB | 최대 2,500 | 최대 250GB | 2000 |
8/64GB | 최대 4,000 | 최대 500GB | 4000 |
16/128GB | 최대 8,000 | 최대 1TB | 5000 |
32/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%)
머신 유형에 대한 자세한 내용은 일반 머신 크기 가이드라인을 참조하세요.
읽기 풀 인스턴스가 있는 기본
읽기 풀 인스턴스가 있는 기본을 배포하는 경우에는 다음 사항을 고려하세요.
- 지연 시간에 민감한 읽기가 있으면 읽기 쿼리를 읽기 풀 인스턴스로 오프로드하는 것이 좋습니다. 모든 읽기 풀 인스턴스에서 노드를 최대 20개까지 구성할 수 있습니다. 자세한 내용은 읽기 풀 인스턴스 만들기를 참조하세요.
- 데이터베이스가 두 개 이상 있으면(예: 같은 인스턴스에 CRM 또는 Finance가 있는 경우) 읽기 풀 인스턴스를 여러 개 구성합니다. 이 전략을 사용하면 효과적인 캐싱과 쿼리 성능에 도움이 됩니다.
- 요구사항에 따라 기본 인스턴스와 읽기 풀 인스턴스의 크기를 다르게 조절할 수 있습니다. 읽기 풀 인스턴스 권장사항에 대한 자세한 내용은 AlloyDB 성능 및 가용성 향상을 위한 권장사항을 참조하세요.
- 고가용성을 위해 노드를 읽기 풀 인스턴스당 2개 이상 추가합니다.
- 읽기 쿼리 성능을 위해 특정 읽기 풀 인스턴스에서 열 기반 엔진을 선택적으로 사용 설정합니다. 기본 인스턴스에서 열 기반 엔진을 사용 설정하지 않아도 됩니다.
색인 도우미와 같은 기본 제공 기능을 사용하여 쿼리 성능을 향상시킬 수 있는 색인을 추가하는 것이 좋습니다.
OLAP 워크로드
OLAP 워크로드의 경우 기본 크기 조절 측정항목은 쿼리 성능, 특히 전체 테이블 스캔이나 집계를 요구하는 쿼리입니다. PostgreSQL용 AlloyDB에는 분석 쿼리 속도를 높이는 데 도움이 되는 열 기반 엔진이 기본 제공됩니다. 기본적으로 열 기반 엔진을 사용 설정하면 메모리의 30%가 소비되고 초고속 캐시 데이터가 자동으로 사용됩니다.
TPC-H 워크로드를 사용하여 PostgreSQL용 AlloyDB로 OLAP 성능을 측정하는 방법에 대한 자세한 내용은 PostgreSQL OLAP 벤치마킹을 위한 PostgreSQL용 AlloyDB 가이드를 참조하세요.
배포 유형
워크로드에 따라 PostgreSQL용 AlloyDB를 기본 인스턴스만으로 또는 읽기 풀 인스턴스가 있는 기본 인스턴스로 배포할 수 있습니다.
기본만
기본 인스턴스만 배포하는 경우에는 다음 사항을 고려하세요.
- 분석 쿼리(HTAP)가 포함된 트랜잭션에 이 배포를 사용합니다.
- OLAP 쿼리에 도움이 되도록 열 기반 엔진을 사용 설정합니다.
- 열 기반 데이터를 저장할 수 있는 메모리를 제공하는 vCPU가 16개 이상 있는 머신으로 배포하는 것이 좋습니다.
읽기 풀이 있는 기본
읽기 풀 인스턴스가 있는 기본 인스턴스를 배포하는 경우에는 다음 사항을 고려하세요.
- 쓰기가 많고 짧은 지연을 요구하는 지연 시간에 민감한 분석 읽기가 있으면 HA가 사용 설정되고 읽기 풀 인스턴스가 있는 기본 인스턴스를 배포합니다.
- 분석 쿼리를 실행하는 읽기 풀 인스턴스에서 열 기반 엔진을 사용 설정합니다.
- 데이터베이스가 두 개 이상 있으면(예: 같은 인스턴스에 CRM 또는 Finance가 있는 경우) 읽기 풀 인스턴스를 여러 개 구성합니다. 이 전략을 사용하면 효과적인 캐싱과 쿼리 성능에 도움이 됩니다.
- 요구사항에 따라 기본 인스턴스와 읽기 풀 인스턴스의 크기를 다르게 조절할 수 있습니다. 읽기 풀 인스턴스 권장사항에 대한 자세한 내용은 AlloyDB 성능 및 가용성 향상을 위한 권장사항을 참조하세요.
- 고가용성을 위해 노드를 읽기 풀 인스턴스당 2개 이상 추가합니다.
- 읽기 쿼리 성능을 위해 특정 읽기 풀 인스턴스에서 열 기반 엔진을 선택적으로 사용 설정합니다. 기본 인스턴스에서 열 기반 엔진을 사용 설정하지 않아도 됩니다.
다음 단계
- 성능 및 가용성 향상을 위한 권장사항 알아보기
- PostgreSQL OLTP 벤치마킹을 위한 PostgreSQL용 AlloyDB 가이드
- PostgreSQL OLAP 벤치마킹을 위한 PostgreSQL용 AlloyDB 가이드