[1과목] 3. 모델링 - 데이터 모델링의 중요성 및 유의점

yeomss·2022년 3월 4일
0

SQLD

목록 보기
3/14
post-thumbnail

파급 효과 (Leverage)


시스템 구축이 완성되어 가는 시점에서 많은 애플리케이션들이 테스트를 수행하고 대규모의 데이터 이행을 성공적으로 수행하기 위한 많은 단위 테스트들이 수행되고 이러한 과정들이 반복된다.

각 단위 텐스트들이 성공적으로 수행되고 완료되면 이를 전체를 묶어서 병행 테스트, 통합 테스트를 수행한다.

만약 이러한 상황에서 데이터 모델의 변경이 불가피한 상황이 발생한다고 가정.

이를 위해서 데이터 구조 변경에 따른 표준 영향 분석 , 응용 변경 영향 분석 등 많은 영향 분석이 일어난다.

그 이후에 해당 분야의 실제적인 변경 작업이 발생한다.

데이터 구조의 변경으로 인한 일련의 변경 작업은 전체 시스템 구축 프로젝트에서 큰 위험요소 이다.

이러한 이유로 인해 시스템 구축 작업 중에서 다른 어떤 설계 과정보다 데이터 설계가 더 중요하다고 볼 수 있음.

복잡한 정보 요구사항의 간결한 표현 (Conciseness)


  • 데이터 모델은 구축할 시스템의 정보 요구사항과 한계를 가장 명확하고 간결하게 표현할 수 있는 도구
  • 정보 요구사항을 파악하는 가장 좋은 방법 → 수많은 페이지의 기능적인 요구사항을 파악하는 것 ❌ → 간결하게 그려져있는 데이터 모델을 리뷰하면서 파악하는 것 ⭕️

데이터 모델링이란 시스템을 구축하는 많은 관련자들이 설계자의 생각대로 정보요구사항을 이해하고 이를 운용할 수 있는 애플리케이션을 개발하고 데이터 정합성을 유지할 수 있도록 하는 것

이렇게 이상적으로 역할을 할 수 있는 모델이 갖추어야 할 가장 중요한 점은

정보 요구사항이 정확하고 간결하게 표현되어야 한다.

데이터 품질 (Data Quality)


데이터 품질이 중요한 이유

만약 기업에서 가지고 있는 데이터가 정확성이 떨어지고 실용성이 없는 데이터라면 어떨까?

이는 일부 시스템의 기능이 잘못되어 수정하는 성격의 일이 아니라, 해당 데이터로 얻을 수 있었던 소중한 비즈니스 기회마저 상실할 수도 있는 문제.

(데이터 품질의 문제는 데이터 구조가 설계되고 초기에 데이터가 조금 쌓일 때는 인지하지 못하는 경우가 많다. 이러한 데이터의 문제는 오랜 기간 숙성된 데이터를 전략적으로 활용하려고 하는 시점에서 문제가 대두되기 때문.)

데이터 품질의 문제가 야기되는 중대한 이유

  • 데이터 구조의 문제
    • 중복 데이터의 미정의

    • 데이터 구조의 비즈니스 정의의 불충분

    • 동일한 성격의 데이터를 통합하지 않고 분리함으로써의 나타나는 데이터 불일치

      → 이러한 문제로 인한 데이터 품질의 문제는 치유하기에 불가능한 경우가 대부분

데이터 모델링을 할 때 유의점

  1. 중복 (Duplication) 데이터 모델링
    1. 같은 데이터를 사용하는 사람, 시간, 그리고 장소를 파악하는 데 도움을 준다.
    2. 데이터 베이스가 여러 장소에 같은 정보를 저장하는 잘못을 하지 않도록 한다.
  2. 비유연성 (Inflexibility) 데이터 모델링
    1. 해당 모델 설계를 어떻게 설계했느냐에 따라 사소한 업무 변화에도 데이터 모델이 수시로 변경됨으로써 유지 보수의 어려움을 가증시킬 수 있다.
    2. 데이터의 정의를 데이터의 사용 프로세스와 분리함으로써
      데이터 모델링은 데이터 혹은 프로세스의 작은 변화가 앱과 데이터 베이스에
      중대한 변화를 일으킬 수 있는 가능성을 줄인다. (파급효과를 줄인다는 말인듯)
  3. 비일관성 (Inconsistency) 데이터 모델링
    1. 비일관성 데이터의 중복이 없더라도 비일관성은 발생한다.
      1. 신용 상태에 대한 갱신 없이 고객의 납부 이력 정보를 갱신하는 것.
      2. 개발자가 다른 데이터와 모순된다는 고려 없이 일련의 데이터를 수정할 수 있기 때문
    2. 데이터와 데이터 간 상호 연관 관계에 대한 명확한 정의는 이러한 위험을 사전에 예방한다.

0개의 댓글