본문 바로가기

데이터 Story/모델링 이론

어떤 데이터를 이력 데이터로 관리해야 하는가?

이력 데이터의 가장 커다란 특징은 변하는 데이터라는 것입니다. 따라서 이력 데이터를 관리하는 가장 중요한 기준은 어떤 데이터가 시간의 흐름에 따라 변할 수 있는지가 기본적인 기준이 됩니다. 시간이 흘러도 데이터가 변할 수 없다면 이력 관리 대상이 아닙니다.

그리고 특정 데이터의 과거 상태를 추적할 필요가 있으면 이력 데이터를 관리해야 하는 대상이 됩니다. 데이터가 변경됐지만 변경되기 전에 어떤 데이터였는지 관심이 없다면, 알아야 아무 도움이 되지 않는 데이터라면 이력 관리 대상이 아닙니다. 해당 데이터에 대해서 업데이트만 하면 되니까요.

물론 데이터의 과거 상태를 추적할 요건이 없더라도 시간이 흐름에 따라 데이터가 변할 수 있다면 이력을 관리할 수 있는 모델을 우선으로 고려하는 것이 좋습니다.

현업의 요건으로만 판단하면 최적의 모델이 될 수 없어 간혹 모델러의 판단이 필요합니다. 가능하면 중요 엔터티는 이력 데이터 관리 요건이 생길 것을 대비하는 것이 좋습니다. 지금은 없지만 가까운 미래에 필요성이 생길 수 있으니까요. 정보화 사회가 진행될수록 이력 데이터에 대한 요건이 더욱 많이 생길 것입니다.

몇 번 언급했듯이 이력 데이터를 관리하는 것은 엔터티 정의와도 연관되며 중복(추출) 속성과도 연관되므로 이력 데이터 관리는 생각보다 간단하지 않은데요. 바뀌는 데이터이며, 바뀌기 전 기존 데이터가 사용된다면 이력 데이터를 관리하는 것이 기본입니다.

이력 데이터를 따지기 전에 본질(원천) 데이터를 먼저 따져야 된다는 것은 몇 번 강조한 내용이고요. 본질 데이터가 어디 있는지, 그게 맞는지부터 명확히 한 후에 이력 데이터를 관리할지를 고려해야 합니다.