안녕하세요 오늘은 BESPIN GLOBAL DATA실 한제호님이 작성해주신 ‘Data Catalog – Datahub’에 대해 소개해드리도록 하겠습니다.
목차
1. 개요
2. Data Catalog란?
3. Data Catalog 다양한 요구사항 증가
4. Datahub
5. 결론
1. 개요
- 퍼블릭 클라우드가 활성화되고 고객의 다양한 분석 요건이 늘어나면서 고객사의 IT 조직은 on-premise 환경에 구축되어 있는 Data Warehouse 및 Hadoop 환경을 클라우드 오브젝트 스토리지 기반의 데이터레이크 환경으로 구축하는 경우가 늘어났습니다. 안타까운 것은 막상 데이터레이크 환경을 구축하더라도 활용도가 떨어져 데이터 늪으로 빠지는 경우가 많았습니다. 필자는 다양한 industry에서 클라우드 기반의 데이터레이크 구축을 수행하면서 데이터레이크 요소중에 가장 중요한 부분이 어떤것일까 항상 고민해왔습니다.
- 데이터 레이크가 데이터 늪에 빠지지 않기 위해서는 데이터 활용 방법이 프로젝트 초기에 어느정도 확정되어야 하고 활용방법에 따라 필요한 데이터만 수집해야 하고, 데이터 분석을 위한 거버넌스가 명확히 확립 되어야 한다고 생각합니다. 물론 대부분의 고객 상황이 프로젝트 시작 전 또는 초기에 해당 내용을 완벽히 확정하기는 쉽지 않다는것에 동의합니다.
- 다만 적어도 모아놓은 데이터가 쓰레기 취급을 당하는 것은 최소화해야 합니다. 그래서 오늘은 데이터레이크에 모아놓은 데이터를 좀 더 원활히 분석에 활용할 수 있도록 데이터 거버넌스 측면에서 카탈로그의 활용방법에 대해 몇가지 소개를 하려 한다. 또한 요즘 뜨고 있는 오픈소스 솔루션 중에 Datahub의 기능도 간략히 설명하고자 합니다.
2. Data Catalog란?
데이터가 많이 쌓이면서 사용자가 필요한 데이터 소스를 검색할 수 있게 하고 탐색 한 데이터 소스를 관리할 수 있는 기능들을 제공합니다.

- 구성 요소
- Connectors and Curation Tools
- 카탈로그 강화를 위해 다양한 커넥터 보유하고 있습니다.
- Automation
- 카탈로그 생성 자동화를 통해 사용자는 데이터의 문제(유효성 검사/수정등)에 좀 더 집중할 수 있습니다
- Efficient Search Options
- 카탈로그에 대한 다양한 검색 기능을 통한 편리한 데이터 분석을 할 수 있습니다.
- Lineage or Lifecycle Tracking
- 데이터 이슈(정합성등) 발생 시 추적의 용이하게 합니다.
- Universal Glossary and Data Dictionary
- 상세한 메타데이터 관리 기능(의미, 관계, 출처, 용도, 형식등)을 제공합니다.
- Profiling
- 데이터에 대한 완전성 정확성, 일관성 및 적시성을 평가하기 위한 정보를 제공합니다.
- Connectors and Curation Tools
3. Data Catalog 다양한 요구사항 증가
- 전통적인 Data Catalog 제품의 관점에서 가장 중요한 기능들은 얼마나 많은 데이터 소스들(데이터베이스, API들) 과 연결을 할 수 있느냐와 연결된 데이터 소스들로부터 가지고 온 메타데이터 (테이블, 컬럼, 폴더, 등등)에 대한 검색 및 관리 필요합니다.
- 정형 데이터 뿐만 아니라 반정형/비정형 데이터를 포함하는 데이터 레이크 또는 No-SQL과 같은 수많은 데이터 소스가 생기면서 Data Catalog에서 연동되어야 하는 다양한 기술이 증가합니다.
- 데이터 프로파일링(데이터들의 평균, 합 등)이나 데이터 품질 진단(Null이 있는지, 잘못된 값은 없는지)은 데이터베이스에서는 쉽게 설정이 가능하나 비정형/반정형 데이터는 설정이 어렵습니다.
- Data Lineage 필요: 데이터가 여러 ETL을 거치면서 합쳐지고 나눠지고를 반복하게 되는데 이 자체를 한눈에 보면서 어느 부분에서 문제 혹은 변경을 해야 확장성이나 성능을 높일 수 있는지 판단이 필요합니다.

4. Datahub
- 소개
- 소스 시스템에서 보유하고 있는 객체(테이블 또는 데이터셋)의 메타데이터 정보를 수집하여 검색, 가시성 및 데이터 거버넌스를 지원하도록 구축된 데이터 카탈로그 솔루션입니다. 2022년 초 공식 출시된 이후에 현재(v0.12.0)까지 지속적으로 기능 개선을 이어오고 있다. 데이터 분석가 및 사이언티스트들은 자신이 원하는 데이터가 어디에 있는지 해당 데이터는 어떤 경로를 통해 수집 되었는지 등의 정보를 제공받을 수 있습니다.
- 기능
- main 화면
- 수집된 메타데이터 목록과 플랫폼별 데이터셋에 대한 통계정보를 제공하며 검색 기능을 통해 원하는 정보를 찾아볼 수 있습니다.
- main 화면

- 메타데이터 수집
- CSP의 관리형 솔루션 및 다양한 오픈소스들과의 연동을 지원합니다.


- 프로그래밍 방식(API, SDK) 뿐만 아니라 UI를 통해 스케줄 형태로 수집 기능을 구현할 수 있습니다. (https://datahubproject.io/docs/api/datahub-apis)

- 메타데이터 검색
- 검색 기능을 통해 원하는 데이터가 어떤 데이터셋(테이블)에 위치하는지 확인 가능합니다.


- 데이터 리니지
- 필자는 해당 기능이 제일 매력적으로 보입니다. 물론 연동되는 솔루션 종류에 따라 리니지를 제공하지 않는 경우도 있습니다.
- 아래 화면은 Snowflake와 연동 시 query history view기반으로 데이터를 수집하여 리니지 정보를 자동으로 만들어서 보여줍니다. 추가적으로 파이프라인으로 airflow를 쓰고 있다면 datahub와의 연동을 통해 DAG 정보를 수집하여 리니지 정보로 표현할 수도 있습니다.

- 테이블 통계 정보

- 최근 수행한 쿼리 내역

- datahub 사용 통계
- 메타데이터 현황 및 사용자 검색 통계등 다양한 정보를 제공합니다.

5. 결론
- Data Catalog의 정의, 기본요소 그리고 Datahub의 기능에 대해서 간략히 확인해 보았습니다. 이미 데이터 거버넌스 시장에는 수많은 데이터 카탈로그 솔루션이 존재하고 있습니다. datahub의 경우 아직 출시된지 얼만 안된 솔루션임에도 불구하고 기본적으로 제공해야할 데이터 카탈로그 기능을 거의 제공하고 있습니다.
- 아직 상세하게 모든 기능을 검토해보지는 못했지만 “심플한 UI”, “다양한 시스템 연동 기능”, “UI를 통한 수집기능”등 꽤 괜찮은 기능들을 제공하고 있는것으로 보이며 만약 오픈소스 데이터 카탈로그를 도입해야하는 프로젝트가 있다면 개인적으로 datahub를 추천하고 싶습니다.
- 추가적으로 요즘 Table의 데이터 유효성 검사를 위해 GX(Great Expectations)이라는 오픈소스 도입을 종종 보게되는데 Datahub는 GX와 연동을 통해 각 데이터셋 및 테이블별로 유효성 검사 결과도 모니터링 가능합니다.
여기까지 ‘Data Catalog – Datahub’에 대해 소개해드렸습니다. 유익한 정보가 되셨길 바랍니다. 감사합니다.
Written by 한 제호/ DATA실
BESPIN GLOBAL