데이터 카탈로그
Data Catalog
산출물
회사 안에 어떤 데이터가 어디에 있고 각 칸이 무엇을 뜻하는지 한곳에 모아 둔 목록입니다.
등장 배경
데이터가 쌓이기 시작하면 표의 개수보다 이름이 먼저 문제가 됩니다. 가입자를 세는 표가 하나였던 시절은 짧고, 반년만 지나면 비슷한 이름의 표가 넷쯤 생깁니다. 분석가가 어느 것을 써야 하는지 알 방법은 그 표를 만든 사람에게 물어보는 것뿐이었습니다.
물어볼 사람이 늘 자리에 있는 것도 아닙니다. 표를 만든 사람이 다른 팀으로 옮기거나 회사를 떠나면 그 표는 아무도 못 쓰는 표가 됩니다. 값은 매일 들어오고 있지만 각 칸이 무엇을 세는 것인지 아는 사람이 없어서, 새로 들어온 분석가는 같은 집계를 하는 표를 하나 더 만듭니다. 그러면 비슷한 이름의 표가 다섯이 됩니다.
더 나쁜 경우는 뜻이 어긋난 채로 쓰이는 겁니다. 활성 계정이라고 적힌 칸이 어떤 표에서는 접속한 사람을 세고 다른 표에서는 문서를 하나라도 만든 사람을 셉니다. 둘 다 활성 계정이라는 이름을 달고 있으니 회의에서 서로 다른 숫자가 나오고, 그 자리에서는 어느 쪽이 맞는지 가릴 방법이 없습니다. 데이터 카탈로그는 사람 머릿속에 있던 이 설명을 밖으로 꺼내 문서로 만든 겁니다.
구성 항목
한 항목은 표 하나를 가리키고, 그 아래에 다음이 붙습니다. 이름만 적어 둔 목록은 카탈로그가 아닙니다.
- 표 이름과 한 줄 설명 — 이 표가 무엇을 한 줄씩 담고 있는지 씁니다. "결제 시도 한 건이 한 줄" 처럼 한 줄의 단위를 먼저 밝힙니다. 같은 결제 표라도 시도 기준인지 성공 기준인지에 따라 합계가 달라집니다.
- 칸별 뜻 — 각 칸이 무엇을 담는지 적습니다. 앞서 본 활성 계정 칸이 접속 기준인지 문서 생성 기준인지를 여기서 못 박습니다. 값의 범위도 같이 적으면 좋습니다. 요금제 칸에 들어올 수 있는 값이 무료·팀·기업 셋뿐이라는 식입니다.
- 주인 — 이 표를 책임지는 사람 한 명입니다. 틀린 값을 발견했을 때 연락할 곳이고, 비워 두면 고장이 나도 고칠 사람이 없습니다.
- 갱신 주기와 마지막 갱신 시각 — 매시간 갱신인지 하루 한 번인지, 그리고 지금 보이는 값이 언제까지 반영된 것인지입니다. 신선도를 판단하는 자리라서, 하루 한 번 갱신되는 표를 오전 열 시에 보고 오늘 수치라고 읽는 실수를 막습니다.
- 개인정보 표시 — 개인 식별 정보, 곧 한 사람을 특정할 수 있는 값이 든 칸에 표시를 답니다. 이 표시가 붙은 칸은 열람 권한을 좁히고 외부로 나가는 파일에서 빼는 식으로 다르게 다룹니다.
- 쓰는 예 — 이 표를 쓰는 대표 질의를 한두 개 붙입니다. 설명을 열 줄 읽는 것보다 실제로 돌아가는 질의 한 개가 빠릅니다.
작성자와 독자
쓰는 사람과 읽는 사람이 다르다는 점이 이 문서의 성격을 정합니다. 표 이름과 칸 목록, 마지막 갱신 시각처럼 기계가 알 수 있는 것은 데이터 엔지니어가 저장소에서 자동으로 긁어 채웁니다. 사람이 손으로 채우는 것은 자동으로 알 수 없는 것들입니다. 칸의 뜻, 표의 한 줄 단위, 쓰지 말아야 할 경우가 그렇습니다.
손으로 채우는 몫은 표를 만든 사람이 집니다. 이 대목에서 카탈로그가 대개 무너집니다. 만드는 사람에게는 이미 아는 내용을 적는 일이고, 안 적어도 당장은 아무 일도 일어나지 않기 때문입니다. 그래서 새 표를 만들 때 설명을 적지 않으면 배포되지 않게 막아 두는 팀이 많습니다.
읽는 쪽은 그 표를 만들지 않은 사람 전부입니다. 데이터 분석가가 새 질문을 받았을 때 어느 표부터 열지 고르는 자리이고, 프로덕트 매니저가 대시보드 숫자의 정의를 확인하는 자리이고, 들어온 지 일주일 된 사람이 남에게 묻지 않고 혼자 시작할 수 있는 자리입니다. 같은 질문을 두 번째 받는 사람이 답 대신 이 목록의 링크를 보낼 수 있으면 제 역할을 하는 겁니다.
실무 용례
"그 숫자 어느 표에서 뽑은 거예요? 카탈로그에 주인이 누구로 돼 있죠?"
값이 이상하니 책임자를 찾아 확인하자는 말입니다.
"활성 계정 정의가 두 표에서 달라요. 카탈로그에 적힌 쪽을 기준으로 하죠."
문서에 적힌 정의를 단일 기준으로 삼자는 제안입니다.
"새 표 올릴 때 칸 설명 안 채우면 배포가 막히게 해 뒀어요."
설명을 나중에 채우자고 하면 영영 안 채워진다는 뜻입니다.
페이지덱에서는 주간 지표 회의에서 활성 계정 수가 두 자료에 다르게 적혀 나오면서 카탈로그를 처음 만들었습니다. 지현이 쓴 자료는 접속한 사람을 셌고 마케팅 쪽 자료는 문서를 만든 사람을 셌습니다. 둘 다 틀리지 않았지만 같은 이름을 달고 있어서 회의 삼십 분이 어느 숫자가 맞는지 가리는 데 들어갔습니다.
그다음 주에 태오가 저장소에 있는 표 목록과 칸 이름을 자동으로 뽑아 뼈대를 만들고, 표마다 주인을 한 명씩 적었습니다. 뜻을 적는 것은 주인 몫으로 돌렸습니다. 두 달 뒤 눈에 띄게 달라진 것은 숫자의 정확도가 아니라 질문의 양이었습니다. "이 표 써도 되나요" 라는 문의가 절반 아래로 줄었습니다.
흔한 오해
카탈로그를 들이면 데이터가 정확해진다고 기대하는 경우가 많습니다. 데이터 품질 도구로 묶여 소개되니 자연스러운 기대입니다. 하지만 이 목록은 설명을 모아 둔 문서일 뿐이라 값 자체는 손대지 않습니다. 잘못 집계되는 표는 카탈로그에 올려도 그대로 잘못 집계됩니다. 값이 규칙에 맞는지 보는 것은 데이터 검증의 몫이고, 카탈로그는 그 검증을 누가 걸어야 하는지 알려 주는 자리입니다. 목록만 깔아 두고 점검을 걸지 않으면 틀린 값이 잘 정리된 설명을 달고 돌아다닙니다.
한 번 만들어 두면 유지된다고 보는 것도 흔합니다. 자동으로 긁히는 부분이 있어서 더 그렇게 보입니다. 실제로는 칸이 추가되고 뜻이 바뀌는 속도가 설명을 고치는 속도보다 빠릅니다. 반년만 방치하면 설명과 실제가 어긋난 항목이 섞이고, 한 번 틀린 설명을 본 사람은 그다음부터 이 목록을 믿지 않고 다시 사람에게 물어봅니다. 그러면 문서는 남아 있는데 아무도 안 보는 상태가 됩니다. 그래서 표마다 주인을 적어 두는 일을 데이터 거버넌스에서 먼저 정하고 시작합니다.
자주 헷갈리는 용어
| 용어 | 무엇을 담는가 | 데이터 카탈로그와의 차이 |
|---|---|---|
| 데이터 계보 | 값이 어느 원천에서 나와 어떤 가공을 거쳐 화면까지 왔는지의 경로 | 같은 추적 갈래지만 축이 다릅니다. 카탈로그는 지금 무엇이 어디에 있는지를 가로로 보여 주고, 계보는 그 표 하나가 어디서 왔는지를 세로로 따라갑니다. 대시보드 숫자가 틀렸을 때 고칠 곳을 찾는 데는 계보가 쓰입니다 |
같이 보면 좋은 페이지
마지막 업데이트 2026-09-16