DDD 설계, SQL 중심 설계

GaramFlow·2023년 11월 10일
0

DDD 설계, SQL 중심 설계

  • 해당 개념들에 대해서 학습한다.

1) DDD (Domain Driven Design) 설계

(1) DDD 설계란?

  • DDD는 도메인 주도 설계 (Domain Driven Design)의 줄임말로 설계를 도메인 중심으로 접근해서 비지니스의 복잡성을 관리한다.
  • 도메인 그 자체와 도메인 로직에 초점을 맞춘 설계이다.

DDD에서 도메인 (Domain) 이란?

  • DDD에서 도메인은 실세계의 비즈니스 집합을 의미한다.
  • 비즈니스 집합 (비즈니스 도메인)이란 유사한 영역의 업무, 그 안의 로직이나 규칙, 데이터 등을 포괄하는 개념이다.
  • 예를 들어서 은행 업무란 상위 도메인이 있고 계좌 관리, 대출, 이체 등의 하위 도메인이 있을 수 있다.

(2) DDD의 장단점은 무엇인가?

장점

  • 비즈니스 로직에 초점이 맞쳐져 있으므로 비즈니스 요구사항 발생 시 변경에 유연하게 대응가능하다.
  • 개발자와 비즈니스 이해 관계자 간 의사소통이 용이하다.
  • 재사용성 및 코드 테스트가 용이하다.

단점

  • 학습 곡선이 높고 도입 비용이 상대적으로 높다.
  • 설계가 과하게 복잡할 수 있어서 작은 프로젝트에 어울리지 않을 수 있다.

2) SQL 중심 설계

(1) SQL 중심 설계란 무엇인가?

  • 데이터베이스 구조와 SQL 쿼리에 초점을 맞추고, 데이터베이스 스키마 설계가 애플리케이션 설계의 핵심인 설계이다.
  • CRUD 작업 효율화를 위해 정규화된 데이터베이스 구조를 사용한다.
  • 트랜잭션 관리 및 무결성 제약 조건, 쿼리 최적화 등에 중점을 둔다.

(2) SQL 중심 설계의 장단점은 무엇인가?

장점

  • 데이터 중심의 애플리케이션에 적합하다.
  • 데이터 무결성과 일관성을 보장한다.
  • 관계형 데이터베이스의 조인, 인덱싱 등의 기능을 사용할 수 있다.

단점

  • 비즈니스 로직이 데이터베이스와 밀접하게 결합되어서, 데이터베이스 변경 시 로직 변경이 불가피하게 생길 수 있다.
  • 다른 유형의 데이터 저장소로 이동이 어려울 수 있다.

3) DDD와 SQL 중심 설계 차이점은 무엇인가?

  • 설계시 초점 : DDD는 비즈니스 로직에, SQL 중심 설계는 데이터베이스 구조에 초점을 둔다.
  • 개발 접근 : DDD는 비즈니스 영역을 이해하고 모델링하는 것에 중점을 두지만, SQL 중심 설계는 데이터 저장 및 검색 방법에 더 많은 중점을 둔다.
  • 데이터 베이스 관계 : DDD는 응용 프로그램이 데이터베이스에 종속적이지 않고 독립적인 비즈니스 로직을 가지지만, SQL 중심 설계는 데이터베이스 스키마에 강하게 결합된다.
profile
간단한 지식 저장 및 공유를 위한 블로그입니다.

0개의 댓글