메타데이터란?

·2024년 7월 30일
0

CS

목록 보기
5/6
post-thumbnail


생각해 보자.

만약 회사에서 일을 하는데, 동료 개발자와 아무 대화 없이 DB 구성을 짠다. 그렇게 개발이 완료되었다.

나중에 수정사항이 생겼다. 동료는 타 프로젝트로 바쁘기 때문에 같이 구축 업무를 했던 내가 수정사항을 반영하기로 했다.

역시 유지보수가 재미있지~ 진국은 유지보수 아니겠어? 수정하기 위해서 코드를 봤는데, 칼럼의 값이 이쪽은 스네이크 케이스로 되어 있고, 이쪽은 카멜 케이스로 되어 있다. 날짜도 누군가는 varchar 값을 사용했고 누군가는 date 값을 사용했다.

누군가는 true 를 integer 1 로 넣었고, 누군가는 char T 로 넣었다.

…. 이때부터 지옥이다. 나는 너무 슬프다.

파라미터를 사용하거나 값을 저장할 때나 DB 에서 불러올 때 전부 각자 따로따로 작성하여 통일감 없는 정의서를 찾아봐야 하고 종일 문서나 뒤지다 무엇이 잘못되었는가를 깨닫는다.

협업할 때 정의를 대충하면 지옥이구나…

그래서 회사에서는 메타 데이터 관리 시스템을 구축하여 DBA 가 테이블 정의와 칼럼 정의를 관리한다. 국가 같은 경우 행안부에서 용어 관리집을 낸다. 이 메타 관리 시스템이 불완전할 경우 readabilty 와 유지보수성이 떨어진다.

그렇다면 메타 데이터란 대체 무엇일까?

메타 데이터를 알기 위해 먼저 데이터 표준화를 알아 보자.

⭐ 데이터 표준화
데이터 표준화란, 현실 세계의 정보를 컴퓨터로 관리하기 위해 데이터 베이스에 저장하는 정보 항목의 종류, 명칭, 형식, 유효값, 관리절차 등을 특정 기준에 따라 표준을 만드는 일이다.

지금까지 앞서 설명했던 예시들은 표준화가 필요한 이유들이다. 그렇다면 메타 데이터는 무엇일까?

⭐ 메타데이터
메타데이터(Metadata)는 일반적으로 데이터에 관한 구조화된 데이터로, 대량의 정보 가운데에서 확인하고자 하는 정보를 효율적으로 검색하기 위해 원시데이터(Raw data)를 일정한 규칙에 따라 구조화 혹은 표준화한 정보를 의미합니다.

그러니까 데이터를 위한 데이터인 것이다. 테이블을 설계하는 이름을 정의하는, 칼럼의 이름을 정의해 주는 데이터라고 생각하면 된다. 데이터 표준화를 위한 데이터가 메타 데이터인 것이다.

이러한 메타 데이터가 잘 구축되어 있는 집단이었을 때 비로소 협업의 완성도가 높아진다.

profile
자바 백엔드 개발자 개인 위키

0개의 댓글