SQLD 자격증 공부 - 데이터 모델링 part.2
SQLD 자격증 대비를 위한 데이터 모델링의 중요성, 데이터 품질 기준, 프로젝트 라이프 사이클과의 연계 등을 자세히 정리한 글입니다.
02. 데이터 모델링의 중요성
왜 데이터 모델링이 중요한가?
시스템 개발이나 데이터베이스 구축 시, 데이터 모델링은 단순히 데이터 구조를 설계하는 것을 넘어 전체 시스템 품질과 유지보수 비용에 직접적인 영향을 미치는 핵심 활동입니다. 데이터 모델이 잘못 설계될 경우, 후속 개발 단계에서 예기치 못한 비용, 일정 지연, 품질 저하 등의 문제가 발생할 수 있습니다.
파급효과 (Leverage)
모델링이 잘못된 상태에서 시스템이 진행되다 보면, 중간에 구조를 변경하는 일이 전체 시스템에 큰 파장을 일으킬 수 있습니다.
예를 들어,
- 서비스 방향 변경으로 데이터 속성 정의를 바꿔야 할 때,
- 기존 데이터 구조가 이 변경에 종속되어 있다면,
모델 변경 → 표준 재정의 → 응용 시스템 재작업 → 테스트 재수행 이라는 비용 높은 작업이 연쇄적으로 발생합니다.
결국, 초기에 올바르게 모델링함으로써 전체 프로젝트의 효율성과 안정성을 높일 수 있습니다.
간결한 표현 (Conciseness)
데이터 모델은 시스템의 정보 요구사항을 간결하게 시각화하는 역할을 합니다.
- 복잡한 수십 페이지의 요구사항 문서를 읽기보다,
- 하나의 데이터 모델 다이어그램으로 전체 흐름을 이해할 수 있습니다.
개발자, 기획자, 디자이너 등 다양한 이해관계자들이 같은 그림을 보고 같은 내용을 이해할 수 있도록 만드는 도구가 바로 데이터 모델입니다.
데이터 품질 (Data Quality)
데이터는 기업의 자산입니다. 그러나 단순히 많은 데이터를 저장한다고 해서 가치가 생기지는 않습니다. 정확하고 일관성 있는 데이터가 비즈니스에 가치를 제공하며, 그 품질은 설계 단계인 모델링에서 결정됩니다.
데이터 품질은 다음과 같은 기준으로 평가됩니다:
중복 (Duplication)
- 동일한 데이터를 여러 테이블에 저장하지 않아야 함
- 중복된 데이터는 데이터 정합성을 해치고, 관리 비용을 증가시킴
비유연성 (Inflexibility)
- 환경이 조금만 바뀌어도 데이터 구조 전체를 변경해야 하는 경우 유지보수가 어려움
- 유연한 구조는 작은 변화에 쉽게 대응 가능
비일관성 (Inconsistency)
- 같은 항목에 대해 서로 다른 표현, 규칙 없는 상태 발생
- 모델링 시 명확한 제약조건과 참조 무결성 규칙을 수립해야 함
데이터 품질을 확보하려면, 데이터 간 관계 정의와 표준화가 필수입니다.
03. 프로젝트 라이프 사이클과 데이터 모델링
프로젝트 라이프 사이클이란?
시스템 구축은 단발성 작업이 아닌, 일련의 단계별 흐름을 거칩니다. 이를 프로젝트 라이프 사이클이라 하며, 대표적인 방법론으로 Waterfall(폭포수) 모델이 있습니다.
단계 | 데이터 모델링 활동 | 비고 |
---|---|---|
분석 | 개념/논리 데이터 모델링 | 업무 요구사항 파악 중심 |
설계 | 물리 데이터 모델링 | 실제 DB 테이블, 인덱스 설계 |
개발 | DB 구축 및 관리 | 실제 개발 진행 |
테스트 | DB 성능 튜닝 | 품질 검증 단계 |
전환/이행 | 데이터 이전 및 설치 | 운영 환경 적용 |
라이프 사이클의 분석/설계 단계에서 데이터 모델링이 핵심적으로 수행됩니다.
04. 데이터 모델링의 이해관계자
데이터 모델링은 단지 DB 설계자만의 일이 아닙니다. 다음과 같은 모든 구성원이 모델링 결과에 영향을 주거나 해석할 책임이 있습니다:
- 개발자: 구현을 위해 테이블 구조와 제약 조건을 정확히 해석
- 기획자/분석가: 요구사항이 제대로 반영되었는지 확인
- PM/PO: 전체 일정과 변경 영향 예측
- IT 비전공자: 모델을 해석해 업무 흐름 이해 및 커뮤니케이션 가능
모든 이해관계자는 데이터 모델을 해석할 수 있는 능력이 필요하며, 개발자는 특히 모델링 자체에 대한 깊은 이해도가 요구됩니다.
연습문제 복습
문제 1: 데이터 모델링의 중요성이 아닌 것은?
- (1) 파급효과 ◯
- (2) 간결한 표현 ◯
- (3) 중복효과 X
- (4) 데이터 품질 ◯
문제 2: 데이터 품질 평가 기준이 아닌 것은?
- (1) 중복 ◯
- (2) 향상성 X
- (3) 비유연성 ◯
- (4) 비일관성 ◯
문제 3: 설계 단계에서 수행하는 모델링은?
- (1) 개념 데이터 모델링 X
- (2) 논리 데이터 모델링 X
- (3) 물리 데이터 모델링 ◯
- (4) 논리 및 개념 데이터 모델링 X