콘텐츠로 이동하기
데이터베이스

Cloud SQL의 PostgreSQL 13 지원

2020년 12월 15일
https://storage.googleapis.com/gweb-cloudblog-publish/images/BlogHeader_Data_Management_SaecVYL.max-2600x2600.jpg
Maayan Rossmann

Product Manager, Google Cloud Platform

 * 본 아티클의 원문은 2020년 11월 6일 Google Cloud 블로그(영문)에 게재되었습니다. 

오늘 Google에서는 PostgreSQL, MySQL, SQL Server용 완전 관리형 데이터베이스 서비스인 Cloud SQL이 이제 PostgreSQL 13을 지원한다는 소식을 발표합니다. 커뮤니티 정식 버전 공개 직후 PostgreSQL 13이 정식 지원되면서 사용자는 Cloud SQL에 복잡한 운영 업무를 맡기는 한편 최신 PostgreSQL 기능을 활용할 수 있어 팀에서 애플리케이션 제공을 앞당기는 데 매진할 수 있게 되었습니다. 

PostgreSQL 13에서는 고급 파티션 나누기 기능, 색인 및 청소 효율성 증진, 모니터링 확장 개선을 비롯해 전반적으로 성능이 향상되었습니다. 새로운 기능을 몇 가지 소개하면 다음과 같습니다.

  • 파티션 나누기 및 프루닝 사례 추가 지원: PostgreSQL의 직전 2개 버전에서 파티션을 나눈 테이블이 개선된 데 이어 파티션 경계가 정확히 일치하지 않을 때 파티션을 나눈 테이블이 조인되는 것을 비롯해 새로운 파티션 프루닝 및 직접 조인의 새로운 사례가 도입되었습니다. 그뿐만 아니라 이제 파티션을 나눈 테이블에서 BEFORE 트리거가 지원됩니다.

  • 증분 정렬: 정렬은 성능 집약적 작업이므로 이 영역을 개선하면 차이를 만들어낼 수 있습니다. PostgreSQL 13은 쿼리의 초기 단계 정렬을 활용하고 증분 비정렬 필드만 정렬하는 증분 정렬을 도입하여 정렬된 블록이 메모리에 맞을 확률이 높아져 성능이 향상됩니다.

  • 효율적인 해시 집계: 이전 버전에서는 해시 테이블이 메모리에 맞는지 여부에 따라 계획 단계에서 해시 집계 기능이 사용될 수 있는지 여부가 결정되었습니다. 새로운 버전에서는 메모리 공간에 상관없이 비용 분석을 바탕으로 해시 집계 사용 여부를 판단할 수 있습니다.

  • B-tree 색인: 중복 값 삭제를 통해 저장공간이 축소된 덕분에 B-tree 색인이 보다 효율적으로 작동합니다.

  • 청소(Vacuum): 청소는 특히 까다롭고 중요한 워크로드에서 데이터베이스의 상태와 성능을 유지하기 위한 필수 작업입니다. 이 작업은 비활성 튜플이 차지하고 있는 공간을 재확보한 후 추후 사용을 위해 가시성 지도에 카탈로그로 추가합니다. PostgreSQL 13에서는 다음과 같이 성능이 개선되고 자동화 기능이 향상되었습니다. 

    • 청소 속도 향상: 여러 색인의 동시 청소로 청소 실행 시간이 단축됩니다.

    • 자동 청소: 기존 업데이트 및 삭제 명령에 더해 이제 삽입 명령으로도 자동 청소가 트리거되므로 가시성 지도가 제때 업데이트됩니다. 이로써 버퍼 캐시에 있는 동안에도 고정 튜플을 보다 원활하게 조정할 수 있습니다.

  • 모니터링 기능: EXPLAIN의 WAL 사용량 가시화, 고급 로깅 옵션, 공유 메모리 및 LRU 버퍼 사용량 모니터링을 위한 새로운 시스템 보기 등의 기능이 제공됩니다.

  • FETCH FIRST에 WITH TIES 추가: FETCH FIRST WITH TIES는 간편한 페이지 지정, 처리 과정 간소화, 구문 수 감소를 위해 ORDER BY 절에 따른 결과 집합에서 마지막 행과 동순위인 모든 추가 행을 반환합니다.

Cloud SQL은 사용자가 PostgreSQL 13의 기능을 신속하고 안전하게 활용하는 데 도움이 됩니다. 자동 패치 및 업데이트와 함께 유지보수 제어까지 제공해 업그레이드와 관련된 위험성을 줄이고 최신 부 버전으로 최신 상태를 유지할 수 있습니다.

이 버전은 IAM 데이터베이스 인증(보안 강화), 감사 로깅(규정 준수 니즈 충족), point-in-time recovery(데이터 보호 향상) 같은 Cloud SQL의 최신 기능과도 완벽하게 통합되므로 엔터프라이즈 워크로드를 지원할 수 있습니다.

IAM 데이터베이스 인증

PostgreSQL을 Cloud Identity and Access Management(Cloud IAM)와 통합하면 기존 데이터베이스 비밀번호 대신 동일한 Cloud IAM 사용자 인증 정보를 사용할 수 있어 사용자 관리 및 인증 프로세스가 간소화됩니다.

Cloud SQL IAM 데이터베이스 인증은 인증 워크플로를 통합하므로 관리자가 사용자의 액세스를 쉽고 간편한 방법으로 모니터링하고 관리할 수 있게 됩니다. 이 방식을 사용하면 특히 까다롭고 확장된 환경에서 다른 Google Cloud 데이터베이스 서비스와 통합할 때 일관성이 높아집니다. 

감사 로깅

정부, 금융 또는 ISO 인증을 준수해야 하는 기업을 위해 이제 Cloud SQL에서 감사 로깅이 지원됩니다. pgaudit 확장을 통해 추후 조사 또는 감사 목적에 필요한 세부적인 수준으로 감사 로그를 생성할 수 있습니다. 이로써 어떤 구문 클래스를 로깅할지 지정하는 구성을 설정하여 로깅된 구문을 유연하게 제어할 수 있습니다. 

point-in-time recovery

point-in-time recovery(PITR)는 사용자 오류 또는 중단 이벤트가 발생하는 경우 관리자가 백업과 WAL 파일을 사용하여 인스턴스를 특정 시점으로 복원 및 복구하는 데 도움이 됩니다. PITR을 사용하면 데이터 보호 수단이 추가되며 최근 7일 중 특정 시점의 새 인스턴스로 인스턴스를 복원할 수 있습니다. Cloud SQL에서 PostgreSQL 13 인스턴스를 새로 만들면 point-in-time recovery가 기본적으로 사용 설정됩니다. 

PostgreSQL 13 시작하기

Cloud SQL을 사용하여 새 PostgreSQL 13 인스턴스를 배포하려면 데이터베이스 버전 드롭다운 메뉴에서 PostgreSQL 13을 선택하기만 하면 됩니다.

https://storage.googleapis.com/gweb-cloudblog-publish/images/PostgreSQL_13.max-600x600.jpg

PostgreSQL 13용 Cloud SQL을 자세히 알아보려면 Google Cloud 문서를 참조하세요. Cloud SQL은 사용자의 니즈에 맞는 동급 최고의 가용성, 보안, 통합 기능을 계속 제공하는 한편 사용자가 최신 버전과 기능에 계속 액세스할 수 있도록 지원합니다. Google Cloud의 모든 데이터베이스 엔진과 관련된 소식이 계속 업데이트될 예정이니 기대해 주세요.

게시 위치