권순용의 데이터모델링 이야기
데이터 모델링의 필요성 0 4 99,999+

by axiom 데이터모델링 데이터모델링필요성 [2014.03.11]


데이터 모델링이라는 것은 무엇인가? 데이터 모델링은 사용자 및 업무에 의해 발생하는 다양한 데이터를 체계적으로 관리하는 것을 의미한다.

현재 데이터 모델링은 다양한 분야에서 필요로 하고 있는 것이 사실이며, 데이터의 정합성을 위해 반드시 필요한 요소로 인식되고 있다.

번 시간부터는 데이터 모델링의 필요성과 그에 따른 실제적인 데이터 모델을 수행하는 과정을 확인해 보겠다.

데이터 증가에 따른 문제 발생

데이터가 증가하면서 시스템에는 많은 변화가 생기게 된다. 그 중에서 데이터에 대해서만 확인해 본다면 데이터의 증가와 함께 발생하는 문제는 두 가지로 요약될 수 있다.

  • - 데이터의 증가 → 데이터의 중복발생 → 데이터 정합성에 문제 발생
  • - 데이터의 증가 → SQL 응답 속도 저하 → 성능 저하

성능 저하는 SQL의 튜닝으로 해결할 수 있다. 또한 데이터의 정합성 문제는 애플리케이션에서 해결할 수 있다.

하지만 이와 같은 방법이 근본적인 문제를 해결할 수 있는 것은 아니다. 데이 터의 증가에 따라 더욱 중요해지는 이 두 가지 문제는 최적화된 데이터 모델링을 통해 해결할 수 있으며 이 방법이야말로 근본적 인 문제를 해결하는 방법일 것이다.

하지만 데이터 모델링은 언 제나 할 수 있는 것은 아니다. 그러므로 데이터 모델링을 재수 행하는 단계에서 최적의 데이터 모델링이 되도록 노력해야 할 것이다.

  • [그림1] 데이터 증가가 유발하는 문제
  • 데이터 증가가 유발하는 문제

인식의 변화

이와 같은 인식 변화의 이유는 무엇일까? 이는 우리 주변의 많 은 시스템들에서 데이터가 증가하며 그에 따른 문제들이 계속 발 견되고 있기 때문이다.

렇기 때문에 많은 사람들이 데이터 모 델링의 중요성을 공유하게 됐다([그림2] 참조).

  • [그림2] 데이터에 대한 인식의 변화
  • 데이터에 대한 인식의 변화

데이터와 프로세스 관점의 데이터 모델링

데이터와 프로세스 관점에서 데이터 모델링은 프로젝트를 수행할 때 커뮤니케이션의 도구가 된다.

실제 프로젝트를 수행하다 보면 모든 개발자들은 데이터 모델링의 산출물인 ERD를 가지고 의사소통하는 경우가 많다.

이와같은 ERD에는 기본적으로 데이터에 대한 요소가 포함될 것이다.

엄밀히 이야기하면 업무 프로세스는 ERD에 포함되지는 않지만 데이터와 업무를 완전히 분리할 수 없기때문에 어느 정도는 표현될 수 있다.

  • [그림3] 데이터와 프로세스, 그리고 데이터 모델링
  • 데이터와 프로세스, 그리고 데이터 모델링

ERD 관점의 데이터 모델링

데이터 모델링을 구성하는 주요 요소는 Entity, Relationship 및 Attribute다.

  • - Entity : 데이터를 저장하는 역할을 수행하며 Physical Modeling 시에는 테이블로 구현된다.
  • - Relationship : Entity들의 관계를 의미하며 Physical Modeling 시에는 참조키로 표현될 수도 있다.
  • - Attribute : Entity를 구성하는 속성을 의미하며 Physical Modeling 시에는 컬럼으로 구현 된다.

결국, 데이터 모델링은 주요 요소인 Entity, Relationship, Attribute를 도출하는 단계이며 최적화된 구성 요소의 도출을 통해 데이터 정합성 및 성능을 보장해야 한다.

  • [그림4] 데이터 모델링의 주요 요소
  • 데이터 모델링의 주요 요소

- 강좌 URL : http://www.gurubee.net/lecture/2705

- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^

- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.

by 꼬비 [2014.09.25 16:57:10]

유용한 글입니다..~


by 임금 [2014.12.24 09:38:16]

감사합니다 쭉 정독 하겠습니다!


by 아샤 [2015.02.16 01:14:50]

관심에서 관점으로 읽어가고있습니다.


by 초보 개발자 [2017.07.31 16:13:16]

좋은 글 감사드립니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입