데이터 공부/빅데이터 & 하둡

데이터허브(Datahub) 구축기 - (1/3) 데이터허브란, 데이터 허브 용어 살펴보기

한소희DE 2023. 11. 22. 22:19

안녕하세요 한소희입니다. 공부를 통해 배운 내용을 작성하고 있습니다. 혹여 해당 포스팅에서 잘못된 부분이 있을 경우, 알려주시면 빠르게 수정 조치하도록 하겠습니다. 감사합니다.

 

 

데이터허브 구축기를 작성해 보고자 한다.
목차는 아래와 같으며, 포스팅이 생각보다 길어져서, 몇 개의 글로 나누어 포스팅할 예정이다.
이번 포스팅에서는, 데이터허브의 설명과 장점, 사용하는 용어를 정리하며 데이터허브가 무엇인지에 대해 작성하였다.

 

 

목차

01. Datahub

02. Datahub 용어 정리

03. Datahub 설치

04. Datahub를 구축하며 느낀 점, 마무리

 

 


 

 

 

01. Datahub

 

데이터허브란, 오픈소스 메타데이터 플랫폼이다. Linked In에서 개발되었으며, 데이터를 손쉽게 구성 및 관리할 수 있는 툴이다.

 

데이터허브의 장점 두 관점으로 나눠 정리할 수 있을 것 같은데, '데이터 디스커버리 관점'과 '데이터 품질 관리, 거버넌스 관점'으로 정리하여 설명하고자 한다.

 

 

1-1. 데이터 디스커버리 관점

1. 데이터 히스토리 파악이 수월하다.
2. 어떤 데이터가 있는지 손쉽게 파악이 가능하다. 데이터 직접 보기 권한이 없어도, 사내 어떤 데이터를 수집하고 있는지 파악이 용이하다.

 

일반적으로 회사의 규모가 커지고, 데이터에 관심을 갖게 됨에 따라, 회사 내 구성원은 데이터를 활용하고자 시도한다.

하지만, 어떤 데이터가 우리 회사에 있는지 & 이 데이터가 각각 무엇을 의미하는지 등을 파악하기 위해 데이터 관련 업무자의 확인을 필요로 한다. 

 

활용하려는 사람이 많아지고, 회사에 레거시가 쌓이게 되고, 자산 형성의 세월이 길어질수록, 이에 대한 히스토리를 알려 드리고&알아 가는 과정에서 커뮤니케이션 리소스가 꽤 든다. 또는, 정보 업데이트가 모두에게 일괄적으로 되지 않아 누군가는 이미 변경된 정책에 대한 과거 정보만 알고 데이터를 활용하려 할 수도 있다.

 

이러한 문제를 데이터허브를 도입함으로써 해결할 수 있다. 이처럼, 커뮤니케이션 리소스를 최소화하고, 데이터를 효과적으로 공유 및 파악할 수 있는 툴이다.

 

 

아래와 같이, 데이터 소스는 기본적인 RDB 외에도, 다양한 소스를 불러올 수 있다.

 

 

 

 

 

 

 

1-2. 데이터 품질 관리, 거버넌스 관점

1. 데이터를 적재적소에 활용하고 있는지 확인이 수월하다.
2. 보안 상 문제 될 데이터가 활용되고 있는지 파악이 용이하다.
3. 용어집을 활용하여, 혼재되어 사용되고 있는 용어의 카테고리화를 실현하여 커뮤니케이션 리소스를 단축시킬 수 있다.
4. 사내 데이터가 어디서 생성 및 활용이 되고 있는지 한 툴에서 확인이 가능하다.

 

데이터를 정의 및 관리 포인트를 한 곳으로 모음에 따라, 데이터를 정확한 목적에 맞게 활용이 가능하다. 

더불어, Data의 업스트림/다운스트림 파악도 손쉽게 가능하여, 데이터가 어디에서 파생되었는지에 따른 정보를 'DE를 거치지 않고' 확인할 수 있다.

또한, 보안적인 측면에서도 어떤 칼럼이 어디에서 활용되고 있는지 손쉽게 파악 및 조치가 가능하기 때문에, 데이터 거버넌스 관점에서도 유용하다.

 

Datahub 공식 문서에 참조된 사진을 첨부하겠다.

출처: https://datahubproject.io/docs/api/tutorials/lineage/

 

 

이처럼, 이 데이터가 어디서부터 파생됐는지도 손쉽게 확인이 가능하기 때문에, 데이터 품질에 대한 신뢰를 얻을 수 있다. (다만 UI에서 테이블 단위의 리니지 설정은 가능하나, 아직은 Column별 리니지까지 설정하는 것은 제공하지 않는 것으로 보인다. v23.11.22 기준)

 

이 외에도 다양한 데이터 허브의 기능이 있는데(참고: Datahub 데모 사이트), 이와 같이 데이터 디스커버리 플랫폼을 사용함으로써 얻을 수 있는 이득이 있을 것으로 보아, 데이터 디스커버리 툴에 대해 관심을 갖게 됐다.

 

 


 

 

02. Datahub 용어 정리

 

물론 이 외에도 다양한 개념이 있지만, Datahub에서 거버넌스 차원에서 파악 및 사전 정의되면 좋을 만한 용어를 정리했다.

아래 용어에 대한 Rule을 사전 정의하고, 이에 맞게 운영함으로써 검색 기능을 향상하고 & 데이터 메시적 관점에서 데이터를 효과적으로 운영할 수 있다.

 

 

2-1. Owner

말 그대로 소유권을 의미한다. 특정 유저 혹은 특정 그룹에 소유권은 할당할 수 있다.

이로써, 계정 생성 or 업데이트 시 적절히 수정이 가능하다.

Default Owner 기능 활용 방법 제안
특정 유저에게 Reader 권한을 부여한 뒤, 특정 테이블의 Owner에 해당 유저를 등록하면, 등록된 테이블 or데이터셋에 대해서만 편집 권한을 할당받을 수 있다.
따라서, 제한적 접근 및 수정을 가능하게 하여, 정보의 오염을 예방할 수 있다.

 

 

2-2. Domain

관리자가 Domain을 생성해서, 최상위 분류를 할 수 있다. 예시로는 Marketing, Engineering 등이 있다.

현재 버전(0.11.0) 기준, 데이터셋/테이블에 따라 1개의 Domain 만 설정할 수 있다.

 

 

2-3. Data Product

Domain 별로 갖는 데이터 상품 카테고리 정보다. 특정 Domain에서도, 어떤 카테고리의 Product로 분리되는지 설정할 수 있다.

가령, '매출 예측 모델', '금주의 애완동물 정보' 등이 이에 해당한다.

이 또한 데이터셋/테이블에 따라 1개의 Data Product만 설정할 수 있다.

 

 

2-4. Glossary Terms

비즈니스 용어집을 의미한다. 용어가 다양하게 분산이 될 수 있는데, 이 분산된 용어들을 카테고리화하여 의미를 정의할 수 있다.

이는 계층 구조로 설정할 수 있다. 가령, 비즈니스 용어집에 '개인정보' 용어집을 만들 수 있고, '개인정보' 용어집의 하위 카테고리로 '이메일', '사용자명칭' 등을 생성할 수 있다. 

각 용어집의 의미에 해당하는 테이블/칼럼을 지정하여 설정할 수 있다.

 

 

2-5. Tag

위 2-1 ~ 2-4 내용의 경우 데이터 거버넌스 관점에서 미리 지정이 되어 있어야 하는 카테고리 정보들이라면,

Tag는 비공식적으로 검색이 잘되도록 사용자들이 라벨을 설정하는 것을 의미한다.

데이터셋/테이블/칼럼 별로 자유롭게 태그를 달 수 있다. 권한에 따라 직접 생성할 수도, 기존에 생성된 태그를 달 수도 있다.

예시로는, 칼럼에 partition_key, deprecated 등과 같이 설정하여 의미를 저장할 수 있다.

 

 

결국 Owner를 제외한 나머지(Domain, Data Product, Glossary Terms, Tag)의 목적은, 설정해 둔 군집에 맞게 인덱싱(검색) 및 관리가 가능하다는 데에 의미가 있다.

 

 

 

개념에 대한 깊은 설명은 아래 유튜브 링크와 같다.

https://www.youtube.com/watch?v=CyvujJWV-8A&t=3s

 

 

 

 

 

 

 


 

 

 

다음 포스팅에서는 Datahub 설치 과정에 대해 작성할 예정이다.