Repository navigation
Architecture
범수 edited this page Sep 12, 2026
·
1 revision
DBTower는 채널, 서비스 코어, DBMS 어댑터를 분리한 Spring Modulith 애플리케이션입니다. 다른 모듈은 공개 서비스와 DTO만 사용하고 구현·엔티티·저장소는 각 모듈의 internal 패키지에 둡니다.
| 영역 | 책임 |
|---|---|
operator |
DbmsOperator 계약과 5개 DBMS 구현, 커넥션 풀·클라이언트 캐시 |
registry |
대상 등록과 헬스체크 |
insight |
스냅샷, 비교, 활동, 파라미터·스키마 차이 |
analysis |
규칙 기반 실행계획 분석, AI 1차 분석, 심층 진단 |
alert |
회귀·이상·복제·역할변경·split-brain 관측과 알림 |
backup |
정책, 실행, 복원 검증, 원격 보관, 신선도 |
review |
변경 판정·승인·상태 전이의 단일 권위 |
workbench |
조회 콘솔, 변경 티켓 실행, 전후 비교, 되돌리기 |
security·audit
|
인증·인가, 비밀값 보호, 월권·상태변경 감사 |
mcp |
stdio·HTTP 전송과 REST 서비스 코어 위임 |
전체 16개 모듈은 생성된 모듈 문서에서 확인할 수 있습니다.
플랫폼 코드는 DbmsOperator에만 의존합니다. 같은 능력의 기종별 구현 선택은 DbmsOperatorFactory 한 곳에서 담당합니다. 새 DBMS 지원은 Operator 구현체가 본체이고 enum, 팩토리, 백업 도구, JDBC 드라이버, 화면 자산은 등록 절차입니다.
DBTower의 상태는 전용 PostgreSQL에 저장합니다. 관리 대상 DB가 느리거나 응답하지 않아도 플랫폼 전체가 멈추지 않도록 풀 생성, 로그인 제한, 수집 작업을 인스턴스별로 격리합니다.
SQL 문장 해석만 믿지 않습니다. 실행 직전 행을 복사하고 사본 행 수와 실제 영향 행 수가 다르면 롤백합니다. 되돌리기는 실행 직후 사본과 현재 행이 같은 경우에만 허용합니다.
AI가 승인이나 실행을 결정하지 않습니다. 사람이 정한 분석 규칙 위에서 1차 분석을 수행하고, 실행 도구는 제공하지 않습니다.
상세 결정과 성능 개선 과정: DESIGN.md
DBTower 저장소 · 문서 안내 · 이슈