본문 바로가기

데이터 Story/모델링 이론

이력 엔터티 판단 시점

언제 이력 엔터티를 도출하는 것이 좋을까요?

 

개념 모델링 단계에서 시작해야 한다는 것이 제 생각입니다. 물론 핵심적이지 않은 엔터티는 논리 모델링 단계에 도출해도 됩니다.

 

본질 데이터를 먼저 확고히 해야 한다는 점만 주의하면, 개념 모델링 단계에서 이력 엔터티를 고려하는 것이 좋습니다.

 

실무에서는 일반적으로 이력 엔터티를 물리 모델링 단계에서 고려하는데요. 이력 데이터가 본질 데이터가 아니라서 뒷 단계에서 별도로 고려합니다.

 

하지만 이력 데이터 관리 방법에 따라 모델 구조가 바뀔 수 있어 후반에 별도의 타스크에서 고려하는 것은 바람직하지 않습니다. 핵심 엔터티의 구조가 후반에 바뀔수록 영향은 심각해집니다.

 

주요 엔터티는 본질이 정의되는 시점에 이력 데이터 관리 방안을 같이 논의하는 것이 현실적으로 효율적입니다. 다만 본질 데이터는 명확해야 합니다. 동시에 생각한다고 본질 데이터와 변경 데이터가 뒤범범되면 안 됩니다.

 

이력 엔터티를 물리 모델링 단계(정확히는 논리 모델링이 끝난 상태)에서 도출하면 기존 엔터티 정의가 틀어질 때도 많습니다. 이런 현상은 내역과 이력을 명확히 안 한 상태에서 더욱 심해져 결국 거의 처음부터 모델링하는 거나 마찬가지 상태가 될 때가 많습니다.

 

모델링은 종합적으로 이뤄지기 때문에 너무 단계에 집착하는 것은 바람직하지 않습니다. 중요한 엔터티는 업무 식별자(또는 PK)와 주요 핵심 속성, 이력 데이터 관리 방안, 심각한 성능 이슈 등을 한꺼번에 고민하고 종합적으로 분석·판단해야 됩니다.

 

단계가 실익(實益)이 있는지를 항상 따지는 게 좋을 거 같습니다.