관계형 데이터 모델링 프리미엄 가이드 DB구축 (2017년)
비정규형의 단점 0 0 547

by 구루비스터디 비정규화 Denormalization [2018.02.23]


  • 데이터를 중복시키는 것이 비정규화의 핵심
  • 데이터 정합석 때문에 중복 데이터의 사용을 최소화해야 함
  • 중복이 많을수록 데이터 정합성이 궁극적으로 데이터의 품질은 떨어짐
  • 무결성 손실은 거의 필연적임
  • 어플리케이션에서 아무리 체크하더라도 한계가 있음. 사람의 실수, 임의 조작, 예외 처리등도 포함
  • 하나의 원천 속성에 중복, 추출 속성이 몇 개 존재하는지도 관리하기 쉽지 않음
  • 정규형이면 원천 속성 값만 변경시키면 되지만 중복, 추출 속성이 사용되면 원천 속성이 변경될때 모든 중복 데이터의 값을 변경시겨야 함
  • 조회 성능에 문제가 없는데도 조인(Join)을 하지 않으려는 이유로 중복 데이터를 사용해서는 안됨
  • 부적절한 비정규화는 엔터티의 성격을 불명확하게 만들며 엔터티 간의 관계도 모호하게 만들 수 있음
  • 속성이 적은 엔터티에 중복 속성이 몇개 추가되면 엔터티가 마치 다른 엔터티인 것 같아짐
  • 모델을 보고 이해히기도 어려워져 커뮤니케이션에 방해가 될 수 있음
  • 시간이 지나거나 담당자가 바뀌면 엔터티가 오용될 가능성은 커짐
  • 정규화를 완전하게 거치지 않고 비정규형을 채택하면 엔터티의 성격이 더욱 혼재됨
  • 모델의 확장성 불리
  • 데이터 조작(update, insert, delete) 성능의 저하. 중복 데이터를 채택한 모든 속성에 값을 일치시켜야 함
  • 한 엔터티에 많은 중복 속성이 있으면 인스턴스의 길이가 늘어남. 한 블록에 존재할 인스턴스가 두 개의 블록에 존재할 수 있고,
  • 한 블록에 여러 인스턴스가 존재할 수 없어 조회 결과를 얻는데 상대적으로 많은 블록이 필요해질 수 있음
  • 중복 데이터 발생으로 저장 공간을 더 많이 차지하게 됨

요약

데이터 정합성 문제, 데이터 품질 문제, 모델의 가독성 문제, 모델의 확장성 문제, 데이터벳이스 공간 문제, 데이터 생성 성능 문제 등 많은 단점이 존재

"주주클럽 스터디모임" 에서 2017년에 "관계형 데이터 모델링 프리미엄 가이드" 도서를 스터디하면서 정리한 내용 입니다.

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

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

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

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