
Database Driven Development에서 진짜 DDD로의 선회 -1-
두줄요약
데이터베이스 중심 설계의 한계를 넘어 팀 단위 DDD 실천 과정을 공유했습니다. 이벤트 스토밍·몹 프로그래밍·테스트와 인프라 운영의 중요성을 강조합니다.
문제 상황
- FK와 공통 코드·여분 필드 중심의 폐쇄적 데이터베이스 설계
- 데이터 적재를 목표로 삼으며 현실적 문제 해결과 시스템 성장 가능성 간과
- DDD를 과도한 설계 방법론이자 난해한 용어 체계로 인식한 초기 오해
해결 방법
- 이벤트 스토밍으로 기존 도메인과 비즈니스 규칙을 탐험·재검토
- 몹 프로그래밍과 반복 토론으로 유비쿼터스 언어 및 컨텍스트 정렬
- 테스트 주도 도메인 구현 후 적합한 인프라를 점진적으로 선별·추가
성능/운영 포인트
- 전례 없는 트래픽 대응과 레거시 대비 성능 향상 경험
- MongoDB·MySQL 혼용, 드라이버·라이브러리 버전, 배포·모니터링 이슈 대응
- 처리량·인스턴스 크기 실험을 통한 서비스 목적 중심 인프라 구성
주의할 점
- DDD 원칙뿐 아니라 인프라 설정·성능·배포·운영 역량의 동반 필요
- 기술 스택의 성급한 확정 대신 도메인 테스트와 요구에 따른 선택 필요


