Tony가 해결하는 문제
데이터베이스 성능은 눈에 띄지 않게 저하됩니다. 성장하는 테이블에 인덱스가 누락된 사실은 P95 지연 시간이 급증하고 엔지니어들이 새벽 2시에 잠에서 깨어날 때까지 보이지 않습니다. 커넥션 풀 고갈은 누군가 데이터베이스를 확인하기 전까지 애플리케이션 버그처럼 보입니다. 느린 쿼리는 하루에 수백 번 실행되면서 데이터베이스 CPU의 80%를 소비하고 있지만, 쿼리 분석을 인프라 비용과 연결하는 시스템이 없어 아무도 모릅니다. 이러한 문제를 진단하고 수정하려면 일반적으로 다음이 필요합니다:pg_stat_statements쿼리 또는 MySQL 슬로우 쿼리 로그 활성화- 실행 계획(EXPLAIN ANALYZE 출력) 읽기 및 해석
- 현재 인덱스와 쿼리 패턴 상호 참조
- PostgreSQL/MySQL 구성 파라미터와 트레이드오프 이해
다른 도구들의 한계
| 도구 | 기능 | 부족한 점 |
|---|---|---|
| AWS Performance Insights | 데이터베이스 부하 및 쿼리 대기 시간 시각화 | AWS RDS 전용, 해석에 SQL 전문성 필요, 권장사항 없음 |
| pganalyze | PostgreSQL 쿼리 분석 및 인덱스 권장 | PostgreSQL 전용, 대화형 인터페이스 없음, DBA 해석 필요 |
| Percona Monitoring (PMM) | 오픈소스 데이터베이스 모니터링 | 복잡한 설정, 기술적 대시보드, AI 분석 없음 |
| Datadog APM | 애플리케이션 + 데이터베이스 추적 상관관계 | 모니터링 전용, 수정 권장사항 없음, 대규모 사용 시 고비용 |
| New Relic / AppDynamics | 데이터베이스를 포함한 풀스택 가시성 | 가시성 도구로, 전문가 해석이 여전히 필요 |
Tony의 작동 방식
- 데이터베이스에 읽기 접근으로 연결 —
pg_stat_statements, MySQL Performance Schema, RDS Performance Insights, Aurora, MongoDB 프로파일러 - 느린 쿼리 식별 — 실행 시간, 호출 빈도, 리소스 소비를 분석하여 가장 영향이 큰 대상을 자동으로 찾습니다
- 실행 계획 읽기 — EXPLAIN ANALYZE 출력을 해석하여 테이블 스캔, 인덱스 누락, 조인 비효율성을 파악합니다
- 정밀한 권장사항 제공 — 실제 P95 사용률을 기반으로 한 구체적인
CREATE INDEX구문, 쿼리 재작성, 구성 변경 사항과 전후 영향 추정치를 생성합니다 - 트레이드오프 이해 — 새 인덱스의 쓰기 오버헤드, 구성 변경의 메모리 영향, 스키마 변경의 다운타임 요구사항을 고려합니다
주요 기능
| 영역 | 기능 |
|---|---|
| 쿼리 최적화 | SQL 분석, 실행 계획, 인덱스 권장, 쿼리 재작성 |
| 성능 튜닝 | 커넥션 풀링, 구성 최적화, 병목 지점 식별 |
| 데이터 분석 | 사용 패턴, 트렌드 분석, 용량 계획, 메트릭 시각화 |
| 운영 | 백업/복구, 복제, 유지보수, 재해 복구 계획 |
지원 플랫폼
| 분류 | 플랫폼 |
|---|---|
| 관계형 | PostgreSQL, MySQL, MariaDB, SQL Server, Oracle |
| 클라우드 관리형 | AWS RDS, Aurora, Azure SQL, Cloud SQL |
| NoSQL | MongoDB, Redis, DynamoDB, DocumentDB |
| 분석 | Redshift, BigQuery, Snowflake |
프롬프트 패턴
쿼리 분석
성능 최적화
데이터베이스 상태 확인
백업 및 복구
도구 사용
| 도구 | Tony 활용 사례 |
|---|---|
#dashboard | 쿼리 지연 시간(P50/P95/P99), 커넥션, I/O, 복제 지연 |
#report | 성능 분석, 최적화 권장사항, 용량 계획 |
#recommend | 인덱스 변경, 구성 업데이트, 쿼리 재작성 |
#alert | 느린 쿼리, 커넥션 풀 고갈, 복제 지연 |
#chart | 쿼리 트렌드, 리소스 사용률, 성장 패턴 |
도구 활용 예시
효과적인 프롬프트 작성
팁: 메트릭을 포함하세요연결 요구사항
Tony는 성능 메트릭 접근 권한이 있는 데이터베이스 연결이 필요합니다:| 플랫폼 | 필요한 접근 권한 |
|---|---|
| PostgreSQL | pg_stat_statements, 쿼리 로그, 성능 스키마 |
| MySQL | Performance Schema, 슬로우 쿼리 로그, 상태 변수 |
| RDS/Aurora | Enhanced Monitoring, Performance Insights |
| MongoDB | 프로파일러, serverStatus, 작업 로그 |
일반적인 워크플로우
성능 위기 대응
사전 최적화
용량 계획
다음 단계
PostgreSQL 연결
Tony를 PostgreSQL 데이터베이스에 연결
MySQL 연결
Tony를 MySQL 데이터베이스에 연결
Deep Response Engine
Tony가 데이터베이스 관련 인시던트를 자동으로 조사하는 방식
Anna
인프라 + 데이터베이스 비용 최적화를 위해 Tony와 Alex를 조율