본문 바로가기

데이터 Story/데이터 상념(想念)

좋은 모델러가 되려면...

주변에서 모델러가 되고 싶어하는 사람들을 많이 봅니다.

막연하게 좋아보이니까 모델러가 되고 싶어하는 거 같습니다.

 

이 글을 읽는 분들은 대부분 프로그래밍 개발 경험이 있을 거 같습니다.

처음 프로그래밍 언어를 대할 때를 생각해 보시면 아마 해당 언어에 대한 책 한 두 권은 필독하셨을 거 같고요.

 

일단 언어가 익숙할 수 있도록 많은 연습(Hello World로 시작되는)과 몰두를 했을 것입니다.

프로그래밍 언어를 처음 시작할 때의 설레임과 각오, 노력이 떠오를 것 같습니다.

 

모델러가 되기 위해서도 기본적으로 같은 노력을 해야 합니다. 이번 글에서는 모델러가 되기 위해 알아야 하는 이론에 대해서 언급하겠습니다.

 

프로그래밍을 개발하려면 프로그래밍 언어를 알아야 하듯이 모델링을 하려면 모델링에 대한 이론을 알아야 합니다. 특히 모델링 언어라고 할 수 있는 정규화에 대해서 완전한 이해가 필요합니다.

 

하지만 정규화를 완전히 이해하는 모델러조차 드문 것이 현실입니다. 정규화를 모르고 어떻게 모델링을 수행하는지 모르겠지만 많은 사람들이 정규화를 모르는채 모델링을 수행하고 있습니다.

 

3규형까지로 제한하고 모델링을 한다고 해도 4정규형, 보이스코드정규형, 5정규형까지도 알아야 됩니다. 정규화 외에 엔터티, 속성, 관계를 비롯한 비정규화, 이력모델, 서브타입 등에 대한 이론을 알아야 됩니다.

 

모델러는 모델링 이론 외에 DBMS에 대해서도 상세하게 알아야 됩니다.

인덱스, 파티션 등의 기본적인 것 외에 해당 DBMS에서의 주요 기능을 알고 있어야 합니다.

SQL 작성 능력도 뛰어나야 자신이 구축한 모델에 대해 확신할 수 있습니다. 또한 SQL로 설명하면 모델로 설명하는 것 보다 훨씬 이해도가 빠릅니다.

 

사례 데이터도 대단히 중요한데 한 번 보여주는 것이 박스와 선으로 된 다이어그램 가지고 열 번 설명하는 것 보다 좋을 때가 많습니다.

 

데이터 모델링은 결국 DBMS에 구현될 모델을 만드는 것이기 때문에 DBMS를 모르면 모델러로서 한계를 느끼게 될 것입니다.

간혹 개념 모델만을 전문적으로 하는 모델러도 있지만 일반적인 모델러는 아닙니다.

 

그리고 튜닝을 할 줄 알아야 한다는 것이 제 생각입니다.

데이터를 정확하고(무결성) 빠르게(성능) 제공할 수 있는 모델을 구축하는 것이 모델러가 해야 할 일이기 때문에 튜닝에 대한 해박한 지식이 있어야 성능 문제를 해결하면서 모델링을 수행할 수 있습니다.

 

이런 다양한 기술력은 갖춰야 좋은 모델러가 된다고 생각합니다. 어떠한 분야든지 몰두해야 하는 것은 가장 어려우면서 기본적인 사항입니다.