데이터 카탈로그

Data Catalog

산출물

회사 안에 어떤 데이터가 어디에 있고 각 칸이 무엇을 뜻하는지 한곳에 모아 둔 목록입니다.

등장 배경

데이터가 쌓이기 시작하면 표의 개수보다 이름이 먼저 문제가 됩니다. 가입자를 세는 표가 하나였던 시절은 짧고, 반년만 지나면 비슷한 이름의 표가 넷쯤 생깁니다. 분석가가 어느 것을 써야 하는지 알 방법은 그 표를 만든 사람에게 물어보는 것뿐이었습니다.

물어볼 사람이 늘 자리에 있는 것도 아닙니다. 표를 만든 사람이 다른 팀으로 옮기거나 회사를 떠나면 그 표는 아무도 못 쓰는 표가 됩니다. 값은 매일 들어오고 있지만 각 칸이 무엇을 세는 것인지 아는 사람이 없어서, 새로 들어온 분석가는 같은 집계를 하는 표를 하나 더 만듭니다. 그러면 비슷한 이름의 표가 다섯이 됩니다.

더 나쁜 경우는 뜻이 어긋난 채로 쓰이는 겁니다. 활성 계정이라고 적힌 칸이 어떤 표에서는 접속한 사람을 세고 다른 표에서는 문서를 하나라도 만든 사람을 셉니다. 둘 다 활성 계정이라는 이름을 달고 있으니 회의에서 서로 다른 숫자가 나오고, 그 자리에서는 어느 쪽이 맞는지 가릴 방법이 없습니다. 데이터 카탈로그는 사람 머릿속에 있던 이 설명을 밖으로 꺼내 문서로 만든 겁니다.

구성 항목

한 항목은 표 하나를 가리키고, 그 아래에 다음이 붙습니다. 이름만 적어 둔 목록은 카탈로그가 아닙니다.

  1. 표 이름과 한 줄 설명 — 이 표가 무엇을 한 줄씩 담고 있는지 씁니다. "결제 시도 한 건이 한 줄" 처럼 한 줄의 단위를 먼저 밝힙니다. 같은 결제 표라도 시도 기준인지 성공 기준인지에 따라 합계가 달라집니다.
  2. 칸별 뜻 — 각 칸이 무엇을 담는지 적습니다. 앞서 본 활성 계정 칸이 접속 기준인지 문서 생성 기준인지를 여기서 못 박습니다. 값의 범위도 같이 적으면 좋습니다. 요금제 칸에 들어올 수 있는 값이 무료·팀·기업 셋뿐이라는 식입니다.
  3. 주인 — 이 표를 책임지는 사람 한 명입니다. 틀린 값을 발견했을 때 연락할 곳이고, 비워 두면 고장이 나도 고칠 사람이 없습니다.
  4. 갱신 주기와 마지막 갱신 시각 — 매시간 갱신인지 하루 한 번인지, 그리고 지금 보이는 값이 언제까지 반영된 것인지입니다. 신선도를 판단하는 자리라서, 하루 한 번 갱신되는 표를 오전 열 시에 보고 오늘 수치라고 읽는 실수를 막습니다.
  5. 개인정보 표시 — 개인 식별 정보, 곧 한 사람을 특정할 수 있는 값이 든 칸에 표시를 답니다. 이 표시가 붙은 칸은 열람 권한을 좁히고 외부로 나가는 파일에서 빼는 식으로 다르게 다룹니다.
  6. 쓰는 예 — 이 표를 쓰는 대표 질의를 한두 개 붙입니다. 설명을 열 줄 읽는 것보다 실제로 돌아가는 질의 한 개가 빠릅니다.

작성자와 독자

쓰는 사람과 읽는 사람이 다르다는 점이 이 문서의 성격을 정합니다. 표 이름과 칸 목록, 마지막 갱신 시각처럼 기계가 알 수 있는 것은 데이터 엔지니어가 저장소에서 자동으로 긁어 채웁니다. 사람이 손으로 채우는 것은 자동으로 알 수 없는 것들입니다. 칸의 뜻, 표의 한 줄 단위, 쓰지 말아야 할 경우가 그렇습니다.

손으로 채우는 몫은 표를 만든 사람이 집니다. 이 대목에서 카탈로그가 대개 무너집니다. 만드는 사람에게는 이미 아는 내용을 적는 일이고, 안 적어도 당장은 아무 일도 일어나지 않기 때문입니다. 그래서 새 표를 만들 때 설명을 적지 않으면 배포되지 않게 막아 두는 팀이 많습니다.

읽는 쪽은 그 표를 만들지 않은 사람 전부입니다. 데이터 분석가가 새 질문을 받았을 때 어느 표부터 열지 고르는 자리이고, 프로덕트 매니저가 대시보드 숫자의 정의를 확인하는 자리이고, 들어온 지 일주일 된 사람이 남에게 묻지 않고 혼자 시작할 수 있는 자리입니다. 같은 질문을 두 번째 받는 사람이 답 대신 이 목록의 링크를 보낼 수 있으면 제 역할을 하는 겁니다.

실무 용례

"그 숫자 어느 표에서 뽑은 거예요? 카탈로그에 주인이 누구로 돼 있죠?"

값이 이상하니 책임자를 찾아 확인하자는 말입니다.

"활성 계정 정의가 두 표에서 달라요. 카탈로그에 적힌 쪽을 기준으로 하죠."

문서에 적힌 정의를 단일 기준으로 삼자는 제안입니다.

"새 표 올릴 때 칸 설명 안 채우면 배포가 막히게 해 뒀어요."

설명을 나중에 채우자고 하면 영영 안 채워진다는 뜻입니다.

페이지덱에서는 주간 지표 회의에서 활성 계정 수가 두 자료에 다르게 적혀 나오면서 카탈로그를 처음 만들었습니다. 지현이 쓴 자료는 접속한 사람을 셌고 마케팅 쪽 자료는 문서를 만든 사람을 셌습니다. 둘 다 틀리지 않았지만 같은 이름을 달고 있어서 회의 삼십 분이 어느 숫자가 맞는지 가리는 데 들어갔습니다.

그다음 주에 태오가 저장소에 있는 표 목록과 칸 이름을 자동으로 뽑아 뼈대를 만들고, 표마다 주인을 한 명씩 적었습니다. 뜻을 적는 것은 주인 몫으로 돌렸습니다. 두 달 뒤 눈에 띄게 달라진 것은 숫자의 정확도가 아니라 질문의 양이었습니다. "이 표 써도 되나요" 라는 문의가 절반 아래로 줄었습니다.

흔한 오해

카탈로그를 들이면 데이터가 정확해진다고 기대하는 경우가 많습니다. 데이터 품질 도구로 묶여 소개되니 자연스러운 기대입니다. 하지만 이 목록은 설명을 모아 둔 문서일 뿐이라 값 자체는 손대지 않습니다. 잘못 집계되는 표는 카탈로그에 올려도 그대로 잘못 집계됩니다. 값이 규칙에 맞는지 보는 것은 데이터 검증의 몫이고, 카탈로그는 그 검증을 누가 걸어야 하는지 알려 주는 자리입니다. 목록만 깔아 두고 점검을 걸지 않으면 틀린 값이 잘 정리된 설명을 달고 돌아다닙니다.

한 번 만들어 두면 유지된다고 보는 것도 흔합니다. 자동으로 긁히는 부분이 있어서 더 그렇게 보입니다. 실제로는 칸이 추가되고 뜻이 바뀌는 속도가 설명을 고치는 속도보다 빠릅니다. 반년만 방치하면 설명과 실제가 어긋난 항목이 섞이고, 한 번 틀린 설명을 본 사람은 그다음부터 이 목록을 믿지 않고 다시 사람에게 물어봅니다. 그러면 문서는 남아 있는데 아무도 안 보는 상태가 됩니다. 그래서 표마다 주인을 적어 두는 일을 데이터 거버넌스에서 먼저 정하고 시작합니다.

자주 헷갈리는 용어

용어무엇을 담는가데이터 카탈로그와의 차이
데이터 계보값이 어느 원천에서 나와 어떤 가공을 거쳐 화면까지 왔는지의 경로같은 추적 갈래지만 축이 다릅니다. 카탈로그는 지금 무엇이 어디에 있는지를 가로로 보여 주고, 계보는 그 표 하나가 어디서 왔는지를 세로로 따라갑니다. 대시보드 숫자가 틀렸을 때 고칠 곳을 찾는 데는 계보가 쓰입니다

같이 보면 좋은 페이지

  • 데이터 품질

    카탈로그가 어느 목적을 위한 도구인지 위에서 봅니다

  • 데이터 계보

    표를 찾은 다음 그 값이 어디서 왔는지로 이어집니다

마지막 업데이트 2026-09-16