Linkedin Datahub 탐방기

안효민·2022년 11월 7일
0

Datahub Features

  1. 데이터 통합 검색
  2. 데이터 리니지 시각화
    • 데이터셋 리니지(Dataset -> Dataset)
      • Snowflake
      • BigQuery
      • dbt
    • 파이프라인 리니지(DataJob -> Dataset)
      • Airflow
      • File(yml)
      • Nifi
    • 대시보드 리니지(Dashboard -> Chart)
      • Looker
  3. 영향도 분석 기능
  4. 데이터셋 통계 생성(인기있는 데이터셋, MAU 등)
  5. 실시간 데이터 관리
    • 변경 이벤트 발생 시 알람, 메일 발송 기능
    • 써드파티 시스템에 변경사항 동기화(스노우플레이크)
    • 감사 기능
  6. 유저 / 그룹 단위 오너십 지정
  7. 엔티티별 마크다운 문서 작성 기능
  8. yaml 기반 메타데이터 주입

Datahub Architecture

출처: https://datahubproject.io/docs/architecture/architecture

Datahub Components

출처: https://datahubproject.io/docs/architecture/architecture

메타데이터 스토어

MySQL, Elastic Search, Spring, Kafka

메타데이터 모델

수집 프레임워크

파이썬 라이브러리, yaml형식(recipe)으로 source와 sink를 정의하여 메타데이터 주입
구성요소: source, sink, transformers(도메인, 태그, 소유자 등 정보 수정)
SDK(Python, Java)도 제공.

UI / CLI 두 가지 방식으로 메타데이터 주입
모든 대상 DB에 SELECT 권한이 있어야 메타데이터 수집 가능.
권한에 민감한 DB일 경우, information_schema에서 파일형태로 메타데이터를 뽑아 Datahub로 주입하는 방법을 사용할 수도 있음.

  • Source: Oracle, S3, HDFS, Spark, Hive, Snowflake, Vertica 등 다양한 소스와의 연결제공. 대부분 추가 플러그인 설치필요. Spark의 경우, Spark application을 리스닝하는 별도의 자바 에이전트를 제공.
  • Sink:
    • Console
    • Datahub: Rest, Kafka 두가지 싱크를 제공
    • File

GraphQL API

GraphQL API를 활용하여 타 서비스에 수집한 메타데이터 제공

유저 인터페이스

React기반 웹앱 제공

고려할 점

메타데이터 주입 파이프라인 구축

Datahub UI에서 수집작업별 스케줄러 제공
Airflow와 연동하여 별도의 파이프라인 구축 가능

기존 은행 시스템과 연동(결재 시스템, 망분리, ControlM)

궁금한 것

  • 데이터 통계 커스터마이징이 가능한지?
  • 배포 방법
  • 데이터 리니지 구성 방법?
  • impact analysis?
profile
어제보다 많이 알고, 어제보다 많이 이해하자

0개의 댓글