Database Driven Development에서 진짜 DDD로의 선회 -1-
황건구 컬리 · 컬리 기술 블로그
AI 핵심 요약
데이터베이스 스키마를 중심으로 시스템을 설계하던 저자는 데이터 입력을 목표로 삼으면 도메인 문제와 개발자의 선택지를 놓칠 수 있다는 지적을 계기로 DDD를 다시 이해했다. DDD를 설계 기법에 한정하지 않고 문제를 도메인 중심으로 탐구하는 과정으로 받아들인 뒤, 팀과 이벤트 스토밍·몹 프로그래밍·테스트 주도 개발을 반복하며 용어와 모델을 다듬었다. 도메인 테스트를 먼저 구축하고 기술 스택과 인프라를 뒤에 선택한 결과, 레거시보다 뛰어난 성능으로 전례 없는 트래픽을 처리하는 시스템을 만들었다고 설명한다. 다만 DDD의 원칙뿐 아니라 데이터베이스, 드라이버, 배포, 모니터링 등 인프라 문제에도 많은 실험과 노력이 필요하다는 점을 강조한다.
- 도메인 지식은 기존 시스템을 그대로 받아들이기보다 현장 사용자와 비즈니스 규칙을 검토하며 팀이 함께 정립해야 한다.
- 이벤트 스토밍으로 업무 흐름과 용어를 시각화하고, 코딩 중 발견한 이해 차이를 다시 모델에 반영한다.
- 몹 프로그래밍과 테스트는 도메인 용어와 설계 가설을 팀이 검증하고 개선하는 수단이 된다.
- 기술 스택을 일찍 고정하기보다 도메인 테스트를 먼저 만들고, 필요한 인프라를 측정과 실험을 통해 선택한다.
- DDD는 모델링에 그치지 않으므로 배포·모니터링·성능 등 인프라 운영 역량도 함께 준비해야 한다.
소개
DDD에 대한 오해에서 벗어나고 개발의 즐거움을 깨달은 이야기
비슷한 학습 자료
컨퍼런스 우아콘 2024
DDD 그거 그렇게 하는 거 아닌데 #우아콘2024 #우아한형제들
컨퍼런스 우아콘 2024
[WOOWACON2024 세션 다시보기] 👉 세션 설명 ㅤ 도메인 주도 설계(Domain-Driven Design)는 복잡한 소프트웨어 구축 과정을 단순화하기 위한 사고방식이자 패턴의 집합입니다. 그러나 최근에는 도메인 주도 설계에 대한 관심이 높아지면서 무조건 적용해야 한다거나, 디자인 패턴만 적용해서 도입하였다는 주장이 많습니다. 본 세션에서는 도메인 주도 설계라는 개념이 해결하려고 했던 문제와 이를 동료 개발자들의 저항 없이 점진적으로 도입하기 위한 방법과 전략을 소개합니다. ㅤ 👉 발표자 소개ㅤ 박재성, 서버 개발자/교육자
개발 · 프로그래밍 기타
책 미크 예스24
데이터베이스 설계, 이렇게 하면 된다
책 미크 예스24
일본 최고 DB 전문가에게 배우는 실전 DB 설계와 최적화 12년 만에 개정된 DB 엔지니어들의 필독서. DB 설계의 올바른 사고방식을 익힐 수 있는 책으로, 전문 DB 엔지니어인 저자가 DB 설계의 기초와 실천 노하우를 이해하기 쉽게 전달한다. 논리 설계의 기본부터 정규화, 성능 등 기초 지식이나 포인트를 폭넓게 체계적으로 설명하고, 풍부한 샘플, 연습 문제, 실제 개발 현장에서 통용하는 지식을 제공하며, 안티 패턴, 주의해야 할 그레이 노하우까지 친절하게 해설한다. DB 엔지니어를 목표로 하는 사람, DB 설계의 기초와 실천을 제대로 배우고 싶은 사람에게 강력히 권한다. 이번 개정판은 초기 구성을 살리면서 내용을 최신화하고 클라우드 내용을 추가했다.
데이터베이스
문서 조문옥
DDD와 MSA 기반으로 좋은 서비스 개발하기
책 최범균 예스24
도메인 주도 개발 시작하기
책 박상한 예스24
웹 개발을 위한 SQL
책 박상한 예스24
사수 없이 배우는 실전 웹 데이터베이스 설계! 이 책을 관통하는 가장 중요한 철학이 하나 있습니다. ‘데이터베이스 설계에는 결론이나 정해진 완벽한 단 하나의 정답은 없다’라는 것입니다. 똑같은 무인 스터디카페 키오스크 화면과 웹소설 대시보드를 보더라도 설계자의 경험과 서비스의 방향성에 따라 테이블의 구조와 관계는 천차만별로 달라질 수 있습니다. 무인 스터디카페와 웹소설 플랫폼 대시보드를 해부해 보면서 화면 뒤의 진짜 데이터 흐름을 체험해 보고 정제되지 않은 데이터를 다루면서 실제 프로젝트에서 겪을 만한 작업을 실행해 볼 수 있습니다. 또한 AI를 활용하여 대량의 데이터를 만들어내고 구성하는 과정을 통해 자신만의 무기를 장착할 수 있습니다. 무엇보다 중요한 것은 '정답을 달달 외우는 것'이 아니라 '직접 시도해 보는 것'입니다.
백엔드 데이터베이스