이 블로그는 Optimize and troubleshoot database performance in Amazon Aurora PostgreSQL by analyzing execution plans using CloudWatch Database Insights를 한국어로 번역 및 편집한 글입니다. Amazon Web Services(AWS)는 Amazon Relational Database Service(Amazon RDS) 및 Amazon Aurora 데이터베이스의 성능과 이벤트에 대한 가시성을 높이기 위한 포괄적인 모니터링 도구들을 제공합니다. 이 게시물에서는 Amazon CloudWatch Database Insights를 사용하여, Aurora PostgreSQL […] ||
이 블로그는 Optimize and troubleshoot database performance in Amazon Aurora PostgreSQL by analyzing execution plans using CloudWatch Database Insights를 한국어로 번역 및 편집한 글입니다.
Amazon Web Services(AWS)는 Amazon Relational Database Service(Amazon RDS) 및 Amazon Aurora 데이터베이스의 성능과 이벤트에 대한 가시성을 높이기 위한 포괄적인 모니터링 도구들을 제공합니다. 이 게시물에서는 Amazon CloudWatch Database Insights를 사용하여, Aurora PostgreSQL 클러스터에서 SQL 실행 계획을 분석하여 문제를 해결하고 SQL 쿼리 성능을 최적화하는 방법을 보여줍니다.
PostgreSQL 쿼리 옵티마이저와 쿼리 액세스 플랜
PostgreSQL 쿼리 옵티마이저는 데이터베이스 엔진의 핵심 구성 요소로, SQL 쿼리를 실행하는 가장 효율적인 방법을 결정하는 역할을 합니다. 쿼리가 제출되면 PostgreSQL은 이를 직접 실행하지 않고, 여러 가능한 실행 전략을 생성한 후 비용 추정을 기반으로 최적의 전략을 선택합니다.
쿼리 실행 계획(Query Access Plan)은 옵티마이저가 선택한 단계별 실행 전략입니다. 실행 계획에는 PostgreSQL이 데이터를 검색하고 처리하는 방법이 상세히 기술되어 있으며, 순차 스캔(Sequential Scan), 인덱스 스캔(Index Scan), 조인(Join), 정렬(Sorting) 작업과 같은 다양한 기법을 사용합니다. 실행 경로를 이해하기 위해 여러 옵션들과 함께 EXPLAIN 명령어를 사용하여 쿼리 플랜을 분석할 수 있습니다.
개발자와 데이터베이스 관리자가 데이터베이스 성능을 최적화하고 리소스 사용을 효과적으로 최적화하기 위해서는, PostgreSQL 쿼리 옵티마이저와 쿼리 액세스 플랜을 이해하는 것이 중요합니다. 자세한 내용은 PostgreSQL이 쿼리를 처리하는 방법 및 분석 방법을 참조합니다.
솔루션 개요
2024년 12월, AWS는 Aurora(PostgreSQL 및 MySQL)와 PostgreSQL, MySQL, MariaDB, SQL Server, Oracle을 포함한 Amazon RDS 엔진을 지원하는 포괄적인 데이터베이스 모니터링 솔루션인 CloudWatch Database Insights를 출시했습니다. 이 가시성(observability) 도구는 DevOps 엔지니어, 개발자 및 DBA가 데이터베이스 성능 문제를 신속하게 식별하고 해결할 수 있게 하기 위해 설계되었습니다. CloudWatch Database Insights는 데이터베이스 플릿 전반에 걸친 통합된 뷰를 제공함으로써 트러블슈팅 워크플로우를 간소화하고 운영 효율성을 향상시킵니다.
CloudWatch Database Insights에는 Advanced 모드와 Standard 모드가 있습니다. Aurora PostgreSQL 실행 계획 분석 도구는 고급 모드에서만 사용 가능합니다. 다음 섹션에서는 Aurora PostgreSQL 클러스터에서 SQL 실행 계획 분석 기능을 활성화