애플리케이션을 운영하면서 발생하는 데이터를 잘 분류해서 데이터를 저장해놔야 한다. 그래야 나중에 필요한 데이터가 있을 때 쉽게 찾아서 조회할 수 있고, 데이터를 수정 및 삭제하기도 쉬워진다. 데이터를 어떻게 분류해서 저장할 지를 설계하는 행위를 보고 **데이터베이스 모델링(Database Modeling)**이라고 표현한다. 데이터 모델링, **데이터베이스 설계(DB 설계)**라고도 부른다.
<aside> 🧑🏻
“현업에서 자주 쓰이는 키워드는 알아둬야 검색을 할 때도 편하고 의사소통 할 때도 편하다.“
</aside>
사람들마다 옷장에 옷들을 정리해놓는 방식이 다 다르다. 누군가는 외출복과 집에서 입는 옷을 구분해서 분류를 하기도 하고, 누구는 상의와 하의를 기준으로 구분을 하기도 하고, 또 다른 누군가는 색깔별로 옷을 구분해서 관리하기도 한다. 만약 옷장에 옷들을 비효율적으로 정리하게 된다면 내가 필요한 옷을 찾을 때 헤맬 수도 있다.
데이터들도 마찬가지다. 다양한 데이터를 저장하는 방법은 사람들마다 다 다를 수 있다. 하지만 아무런 규칙 없이 마음대로 데이터를 저장해뒀다가는 나중에 필요한 데이터를 찾기가 어려울 수 있다. 이런 비효율 때문에 어떻게 하면 효율적으로 데이터를 저장할 수 있을까를 고민하다 나온게 ‘데이터베이스 모델링 방법’이다.
데이터베이스 모델링 방법을 배워놓으면 특정 규칙을 가지고 일관되게 데이터를 저장할 수 있게 된다. 일관되게 데이터를 저장하다보니 데이터도 쉽게 찾을 수 있게 된다. 실제 운영하는 서비스들은 주로 데이터의 종류와 양이 아주 많다. 규칙성 없이 데이터를 저장했다가는 데이터들끼리 꼬여서 엉망진창이 되어버릴 수도 있다.
백엔드 개발자는 수많은 복잡한 데이터를 다룰 일이 많다보니 관리를 잘해야 한다. 따라서 백엔드 개발자는 필수적으로 데이터베이스 모델링의 방법을 배워야 한다.
<aside> 🧑🏻
“이런거 다 떠나서 백엔드 개발자로 취업할 때 필요한 필수 역량 중 하나이기 때문에 배워야 한다.”
</aside>