본문 바로가기
WIKI 기술 지식 베이스

Bits 데이터베이스 최적화

원문 보기 위키 갱신

Bits 데이터베이스 최적화 (Bits Database Optimization)

출처: 문서

본문

참고: Bits 데이터베이스 최적화(Bits Database Optimization)는 PostgreSQL과 MySQL에서만 사용할 수 있어요. 다른 데이터베이스 관리 시스템에 대한 지원을 요청하려면 Datadog 담당자나 Datadog 지원에 문의하세요.

개요 (Overview)

Bits 데이터베이스 최적화는 데이터베이스 플릿 전반의 성능이 낮은 쿼리를 감지하고, 환경의 시뮬레이션 복사본을 대상으로 검증된 최적화를 식별하며, 그 결과를 쿼리를 유발한 정확한 코드를 수정하는 풀 리퀘스트(pull request)로 전달해요.

최적화 후보는 별도의 설정 없이 데이터베이스 모니터링 텔레메트리에서 자동으로 선택돼요. 후보는 잠재적 영향이 가장 큰 순서로 식별되며, 쿼리 실행 시간, 블로킹 쿼리, 회귀된(regressed) 쿼리에 중점을 둬요.

참고: Bits 데이터베이스 최적화는 데이터베이스에 대한 쓰기(write) 액세스가 필요하지 않으며, 환경의 실제 데이터를 내보내거나 사용하지 않아요. 최적화는 스키마의 통계적 속성을 사용해 합성 데이터로 채운 데이터베이스 시뮬레이션을 대상으로 경험적으로 테스트돼요.

사전 요구 사항 (Prerequisites)

  • 대상 데이터베이스 인스턴스에 데이터베이스 모니터링이 구성되어 있어야 해요. 데이터베이스 모니터링 설정을 참고하세요.
  • 대상 인스턴스에서 스키마 수집(Schema collection) 이 활성화되어 있어야 해요.
  • 자동 PR 생성을 위해:

최적화 보기 (Viewing optimizations)

쿼리 목록 (Query list)

데이터베이스 모니터링 > 쿼리 화면에서 최적화를 사용할 수 있는 쿼리에는 상태(Status) 열에 AI 아이콘이 표시돼요. 아이콘 위에 마우스를 올리면 최적화 요약을 볼 수 있고, 아이콘을 클릭하면 최적화 패널(Optimization panel)이 열려요.

목록 위의 최적화(Optimizations) 에서 옵션을 선택해서 최적화 유형별로 쿼리 목록을 필터링할 수 있어요.

최적화 패널 (Optimization panel)

최적화 패널에는 쿼리 문제 요약, 시뮬레이션에 사용된 최적화된 쿼리, 시뮬레이션된 성능 영향(Simulated Performance Impact) 시각화가 포함돼요.

개선 사항에 대한 자세한 내용을 보려면 시뮬레이션된 성능 영향 시각화를 살펴보세요.

  • 개선 요약(예: "96.9x faster") 위에 마우스를 올리면 개선 전후 실행 시간, 논리적 읽기(logical reads), shared blocks dirtied를 볼 수 있어요. 표에는 각 메트릭의 평균, 중앙값, P95, 최댓값이 표시돼요.
  • 시각화의 각 항목 위에 마우스를 올리면 자세한 내용을 볼 수 있어요.

계획 비교(Compare Plans) 를 클릭하면 현재 실행 계획과 최적화된 실행 계획을 나란히 비교해서 볼 수 있어요.

  • 리스트 뷰(List View): 실행 계획 작업의 계층적 목록을 보여주며 각 단계의 노드 비용과 행 추정치를 표시해요.
  • 맵 뷰(Map View): 실행 계획의 시각적 표현을 보여주며, 다양한 메트릭으로 계획을 비교하는 옵션을 제공해요.
  • 원시(Raw): 원시 실행 계획 출력을 보여줘요.

풀 리퀘스트 검토 (Review the pull request)

데이터베이스 최적화 수정용 PR을 검토하려면 Bits AI로 PR 검토(Review PR by Bits AI) 를 선택해요. GitHub PR이 시뮬레이션 결과가 포함된 사전 채워진 설명과 함께 열려요.

참고: 자동 풀 리퀘스트는 쿼리를 발행하는 서비스에 APM이 구성되어 있고, Datadog 조직에 GitHub 리포지토리가 연결되어 있어야 해요.

더 알아보기 (Learn more)