Data Catalog 만들기 읽고 요약해보기

‘Data Catalog 만들기 : Data Lake 플랫폼의 핵심 서비스 구현’이라는 책을 읽고 요약해보려고 합니다.

데이터 카탈로그

  • 데이터 레이크라는 개념과 함께 등장했던 서비스

데이터 레이크 플랫폼

  • 데이터 레이크
    • 전사 원천 시스템의 원천 데이터를 포맷 그대로 수집하여 서비스하기 위한 플랫폼
  • 데이터 레이크의 필요 요건
    • 잘 정리된 메타데이터 기반 검색 구현
    • 데이터를 즉시 수집 가능한 Schema on Read 구조
      • 하둡 분산 파일 시스템
    • 전사 데이터의 연계 분석이 가능한 환경
    • 다양한 데이터 전처리 분석 도구의 손쉬운 연계
  • 데이터 레이크 목적
    • 전사의 모든 원천 데이터를 한 곳에 모으기
    • 데이터를 필요로 하는 구성원은 누구든 활용
    • 기존의 시스템 간 단절 제거
    • 자유롭게 데이터 연계 분석 가능
  • 충분한 개방성을 위해 모든 사용자에게 데이터 오픈
    • 일부 민감 데이터의 경우에만 비식별화
  • 다양한 형태의 분석이 가능하도록 데이터 구조 유연성

  • 대용량 데이터의 분석을 위한 성능

데이터 레이크 플랫폼에서 데이터 카탈로그의 역할

  • 방대한 양의 데이터를 적재하고 있는 데이터 레이크 데이터에 접근하기 위해서 데이터 카탈로그 필요

  • 사용자의 데이터 서비스 통로

  • 사용자의 데이터 전달 플랫폼

  • 데이터 레이크의 데이터 자산화 도구 역할

  • 다양한 데이터 서비스 간의 연계

데이터 카탈로그 vs 상품 카탈로그

  • 상품 카탈로그와 유사

  • 데이터에 대한 상세한 메타데이터 정보 제공

  • 사용자가 데이터를 찾기 위해 키워드, 카테고리 분류로 검색
  • 검색 결과에서 데이터를 선택하고, 정보를 조회하여 데이터의 컨텍스트 이해
  • 다양한 쿼리를 통해 데이터 조회하고, 다운로드
  • 데이터 활용한 후에는 평가

데이터 카탈로그의 정의

  • 데이터 카탈로그 사전적 정의
    • 데이터의 활용 홍보를 위해 데이터에 대한 설명을 붙여 제공하는 목록
  • 기업의 빅데이터 환경
    • 전사의 모든 데이터를 쉽고 빠르게 활용
    • 필요한 데이터의 간편한 검색
    • 상세한 컨텍스트 제공
    • 신속한 데이터 확보가 가능한 체계

데이터 카탈로그의 주요 기능

  • 사용자 프론트엔드 기능
    • 사용자가 이용하는 화면 중심
  • 백엔드 기능
    • 서비스 제공을 위해 서버에서 실행
  • 관리자 기능
    • 데이터 카탈로그 관리자, 운영자의 업무 처리

기존 메타데이터 관리 시스템 차이점

  • 관리 대상 데이터 객체
    • 데이터 카탈로그는 원천 데이터 객체와 사용자 생성 객체도 포함
  • 메타 데이터 관리 항목
    • 데이터 객체 설명과 비즈니스 메타데이터도 포함
    • 기술 메타데이터도 추가 제공
  • 메타 데이터 입력 주체
    • 일부 정보는 카탈로그 에이전트로 자동 추천
    • 데이터 Steward 큐레이션 등록 관리
  • 데이터 검색
    • 기술적 명칭과 비즈니스 키워드도 검색 가능
  • 다른 도구와 연계
    • 카탈로그 서비스 내에 포함된 용어사전, 쿼리 서비스와 전처리 도구나 분석 도구도 연계 가능

데이터 카탈로그는 왜 중요한가?

데이터 레이크 플랫폼의 출발점이자 관문

  • 데이터 카탈로그 서비스를 사용자가 만족할 수 있도록 성공적으로 구현
    • 데이터 레이크 플랫폼 프로젝트 성공

전사 데이터의 자산화

  • 데이터 자산화
    • 데이터 카탈로그 서비스 중심
  • 원천 데이터를 수집한 이후 데이터 카탈로그로 다양하고 유용한 메타 데이터를 생성해서 함께 제공
    • 사용자에게 익숙한 비즈니스 키워드로 필요한 데이터 검색
  • 다운로드 데이터를 전처리 분석 도구와 연계해서 수행 후 산출물을 데이터 카탈로그로 다시 데이터 레이크에 배포

  • 데이터 카탈로그는 원천 데이터와 가공 데이터를 자산화함

데이터 도구의 활용성 향상

  • 데이터 레이크 플랫폼 구현 후에도 사용자는 데이터 카탈로그 서비스로 검색, 조회, 다운로드

  • 사용자 선호 도구를 서버 환경에서 계속 이용할 수 있으면서, 데이터 카탈로그로 자동화 편리

데이터 카탈로그의 실패는 데이터 늪

  • 데이터 늪
    • 늪은 물 속이 불투명하여 찾을 수 없게 되어버린 습지
  • 데이터 레이크는 원천 데이터를 계속 수집하고 사용자들이 잘 활용할 수 있도록 정리하며, 높은 데이터 품질 유지

  • 데이터 레이크를 유지하거나 데이터 늪을 만들지 결정하는 것은 데이터 카탈로그 서비스를 성공적으로 구현하고 운영 여부

  • 데이터 카탈로그
    • 데이터 레이크 플랫폼이 되도록 하는 핵심 서비스

데이터 카탈로그 주요 기능 만들기

사용자 프론트엔드 기능

  • 카탈로그 검색
    • 사용자가 키워드를 통해 필요한 데이터 검색
    • 비즈니스 카테고리, 데이터 유형 카테고리 분류를 활용하여 검색하는 기능
  • 카탈로그 조회
    • 각 데이터 객체의 비즈니스 메타데이터, 기술 메타데이터를 활용한 운영 메타데이터로 조회하여 데이터에 대한 컨텍스트를 이해하는 기능
  • 데이터 수집 요청
    • 사용자가 카탈로그 검색 이후 필요한 데이터를 찾지 못한 경우
    • 원천 데이터의 추가 수집을 요청하는 기능
  • 데이터 질의응답
    • 사용자가 데이터 문의하면 해당 담당자가 응답하는 기능
  • 카탈로그 큐레이션
    • 데이터 Steward가 카탈로그 정보를 관리하는 기능
  • 실데이터 조회
    • 사용자가 대화식 쿼리 서비스로 조회하고 다운로드하며 데이터 API를 생성하는 기능
  • 실행 스케줄러
    • 사용자가 작성한 쿼리, API를 등록한 주기에 따라 실행하고, 전송하는 기능
  • 데이터 전처리 도구와의 연계
    • 사용자가 카탈로그 페이지와 실데이터 조회 후, 전처리/분석 도구로 연계해서 다시 데이터 카탈로그로 배포하여 다른 사용자와 공유하는 기능
  • 용어사전 관리
    • 카탈로그 페이지의 어려운 비즈니스 용어나 기술 용어가 있을 경우, 용어사전에 조회 추가 수정할 수 있는 기능
  • My Catalog
    • 사용자가 수행한 모든 작업 이력 조회
    • 대시보드 형태로 조회할 수 있는 기능

백엔드 기능

  • 메타데이터 수집
    • 전사 DA 시스템 혹은 원천 시스템으로부터 직접 메타데이터를 수집하여 메타데이터 데이터베이스에 적재하는 기능
  • 메타데이터 추천
    • 수집한 기술 메타데이터 정보와 기존에 입력한 메타데이터 정보를 활용하여 메타데이터 생성/추천
    • 데이터 Steward 피드백을 받아 기계 학습을 통해 계속 추천 로직을 향상하는 기능
  • 검색엔진 색인 생성
    • 해당 키워드 보유한 데이터를 빠른 속도로 찾기 위하여, 해당 데이터와 키워드를 키 값 구조의 색인 데이터베이스에 적재하는 기능
  • 쿼리 로그 수집/파싱
    • 활용한 쿼리를 모두 수집하고, 이를 파싱하여 데이터 객체의 활용 현황 정보로 제공
    • 데이터 리니지 정보를 생성 추천하는 기능
  • 데이터 프로파일링
    • 수집한 데이터의 통계를 산출하여 사용자에게 제공함으로써, 실데이터에 대한 조회 없이도 데이터의 구성에 대한 이해를 지원하는 기능
  • 데이터 활용 현황 집계
    • 데이터 카탈로그에서 현황 집계하는 기능
  • 데이터 배치 처리
    • 데이터 작업이 정해진 스케줄에 따라 처리되도록 관리하는 기능
    • 생성한 주기에 따라 실행
  • 데이터 보안 처리
    • 데이터 보안 정책에 따라 암호화, 비식별화, 마스킹 처리 기능

관리자 기능

  • 데이터 활용 현황판
    • 사용자의 모든 데이터 활용 활동을 파악 가능하도록 대시보드 형태로 제공하는 기능
  • 카테고리 관리
    • 데이터 steward는 담당 영역 태그의 계층구조를 조정하며 비즈니스 카테고리 분류체계 관리
    • 데이터 유형별 카테고리 관리해서 카탈로그 탐색 지원 기능
  • 데이터 요청 처리
    • 데이터 레이크에 수집되지 않은 원천 데이터의 수집을 요청하는 기능
  • 데이터 라이플 사이클 관리
    • 관리 정책을 등록하고 관리하며, 실행 스케줄러에 등록되어 자동 실행하는 기능
  • 데이터 품질 관리
    • 데이터 프로파일링 결과에 대한 이상 여부 판단을 하는 점검 규칙 등록
    • 이상 발견 시 지정된 데이터 steward에 즉시 알리는 기능
  • 플랫폼 보안 관리
    • 데이터 수집 시 메타 데이터 분석을 통해 데이터가 민감한지 분류
    • 태그별 보안 처리 정책을 등록하고 관리하는 기능
  • 플랫폼 모니터링
    • 처리 성능, 문제 발생 여부 모니터링
    • 한계점 초과 시 담당자 알림 메시지 전송

데이터 카탈로그 개발 절차

  • 기획 단계

  • 분석 단계

  • 설계 단계

  • 개발 및 테스트 단계

자체 개발 vs 솔루션 도입 의사결정

  • TF 구성하여 전반적인 솔루션의 기능과 요건에 대한 학습 기간 필요
    • 주의사항
      • IT 담당자로만 구성하지 않기
  • 다양한 국내 외 데이터 카탈로그 솔루션 검토
    • alation data catalog
    • waterline data (lumada data catalog)
    • metadata management system

단계별 구현 로드맵 수립

  • 데이터 카탈로그의 구축 목적과 방향성 수립
    • 데이터 카탈로그 구축을 통해 달성하고자 하는 목표 지점 기술
    • 도달하기 위해 추진해야 하는 과제 도출
  • 데이터 카탈로그가 사용자 핵심 서비스이지만, 데이터 카탈로그만 구축한다고 모든 문제를 해결할 수 없다는 것 명심

  • 단계별 추진 목표와 달성하기 위한 주요 구현 내용과 추진 방안 수립

  • 주의사항
    • 데이터 카탈로그 사업의 추진 조직
      • CEO 중심으로 연계 업무 담당
    • 사업 추진 일정
      • 솔루션을 도입하더라도 단순 커스터마이징 일정으로 수립 불가
    • 사업자 선정 시 수행 인력에 대한 검토

메타데이터 구축 모듈

  • 대상 데이터 객체 범위 정의
    • 데이터 객체란 데이터를 보유하고 있는 단위 및 집합
    • 원천 데이터 객체와 사용자 객체
  • 데이터 Steward 지정
    • 데이터 Steward는 담당하는 객체에 대한 메타 데이터의 입력과 데이터 품질 등 활동 수행
  • 데이터 객체 유형별 메타데이터 관리 항목 정의
    • 비즈니스 메타, 기술 메타, 활용 메타
  • 항목별 메타데이터 수집 방법 및 기능 설계
    • 메타 데이터 수집 방법
      • 원천 시스템으로부터 자동 수집
      • 사용자가 화면에서 수작업으로 입력
      • 카탈로그 에이전트가 메타데이터를 추천하고 사용자 보완
      • 카탈로그 에이전트가 메타 데이터 자동 생성 및 수집
  • 메타데이터 관련 백엔드 기능 개발
    • 메타 데이터 수집
      • 전사 DA 시스템으로부터 메타데이터를 수집하고 일별 업데이트하는 프로그램 필요
    • 메타 데이터 추천
      • 대상 객체와 다른 객체 간의 메타 데이터를 비교하여 유사도 계산
      • 이 기준으로 가장 유사한 객체 찾는 알고리즘 개발
    • 쿼리 로그 수집 및 파싱
      • 사용된 쿼리를 쿼리 로그 데이터베이스로 수집하는 기능 개발
    • 데이터 프로파일링
      • 실 데이터 수집 시 다양한 방식으로 통계 산출
      • 해당 컬럼 또는 필드에 대한 메타 데이터로 생성하는 프로그램 필요
  • 카탈로그 큐레이션
    • 데이터 Steward는 실 데이터가 수집됨에 따라 자신이 담당하는 데이터 객체 목록 조회
    • 업무 활용도가 높은 데이터, 데이터 분석가의 활용도가 높을 것으로 예상되는 데이터 중심 큐레이션
    • 비즈니스 카테고리 관리 업무도 수행
    • 컬럼 혹은 필드별로 생성되는 데이터 프로파일링 정보를 확인하여 데이터 품질 점검

데이터 파이프라인 구축 모듈

  • 원천 데이터 수집 범위 정의
    • 카탈로그 대상 데이터 객체 범위를 정의하는 작업과 병행
    • 주의사항
      • 사용하지 않고 있는 테이블과 파일 다수
      • 데이터 웨어하우스 및 분석 시스템의 데이터는 수집하지 않기 권고
  1. 카탈로그 대상 객체를 고려하여 대상 원천 시스템 유형 식별
  2. 본 사업의 타깃 사용자의 요구사항을 참고해서 대상 원천 시스템 식별
  3. 대상 테이블 및 파일 식별
  4. 대상 테이블 및 파일의 데이터 수집 기간 정의
  • 데이터 오너 지정
    • 해당 데이터 현업 담당자
    • 비즈니스 배경지식을 데이터 Steward 전달하고, 사용자 질의가 있을 경우 답변
  • 데이터 파이프라인 설계
    • 데이터 파이프라인
      • 사용자에게 필요한 데이터를 제공하기 위해 데이터를 수집하고 처리하는 모든 과정
      • 데이터 파이프라인 처리는 데이터 유형 및 수집 주기별로 별도 도구에 의해서 별도 프로세스 진행
      • 이벤트 메시지, 데이터베이스, 파일 시스템
  • 데이터 파이프라인 개발
    • 곧바로 해당 객체에 대한 데이터 수집 시작하는 것 바람직
    • 카탈로그 큐레이션은 상당한 시간 소요
    • 개발은 물론 개발 서버에서 진행해야 하지만, 기능 검증이 완료된 후에는 곧바로 운영 서버 배포
  • 원천 데이터 수집
    • 실시간, 준 실시간 수집 프로그램은 항상 다양한 문제 발생
    • 철저한 기능 테스트와 데이터 정합성 검증 필요
    • 오류를 모두 검증한 후에 원천 데이터를 수집하려면 상당한 기간이 소요
      • 배치부터 진행하면서 점차 실시간, 준실시간 수집 진행 권고
    • 얼마나 많은 데이터에 대해 큐레이션 진행했는지 중요

프론트엔드 구축 모듈

  • 데이터 카탈로그 프론트엔드 요건 정의
    • 디자인 측면
      • 데이터 카탈로그 타깃 사용자인 시민 분석가의 관점 도출
    • 사용자 활용 프로세스 기반으로한 기능 측면
      • 사용자의 데이터 활용 행동을 기반으로 기능 도출
  • 데이터 카탈로그 프론트엔드 기능 설계
    • 누구나 이해할 수 있는 쉬운 용어 사용
    • 불필요한 정보 제거
    • 프론트엔드의 각 기능 설계 시 백엔드 기능과 연동된 동작 확인
  • 데이터 카탈로그 프론트엔드 기능 개발
    • 카탈로그 큐레이션 관련된 기능 우선 개발

변화관리 모듈

  • 변화관리 계획 수립
    • 사용자 그룹별로 특화된 프로그램 기획 후 진행
    • 데이터 오너, 데이터 Steward, 데이터 분석가, 시민 분석가, 경영진
    • 각 사용자 그룹별 인원 현황 파악 필요
  • 사용자 그룹별 커뮤니케이션
    • 대상자와 커뮤니케이션 및 교육을 진행하기 전 사전 준비
      • 각 사용자 그룹과 커뮤니케이션을 위한 적절한 자료 준비
      • 사용자 그룹별로 별도의 커뮤니케이션 채널 구성
      • 설계가 진행되는 대로 사용자를 대상으로 한 커뮤니케이션 수행
  • 사용자 변화관리
    • 별도의 데이터 카탈로그 홍보 사이트 운영
    • 사내 이메일을 통한 공지와 홍보
    • 파워 유저를 통한 교육

통합 테스트

  • 확인사항
    • 모든 기능을 개발 완료 후 기능 간의 원활한 연계가 이루어지는지
    • 사용자 관점에서 업무 처리를 매끄럽게 진행할 수 있는지
    • 입력된 데이터의 정합성은 잘 맞는지
  • 통합 테스트는 프로젝트 참여자가 아닌 제 3자가 사용자의 관점에서 수행

  • 통합 테스트 완료 후 필요한 데이터 이행과 함께 전사 공지로 데이터 카탈로그 시스템 오픈 알림

  • 신규 데이터 카탈로그 시스템의 안정적인 운영을 위해서 역할 및 책임을 사전 정의

데이터 카탈로그의 미래 발전 방향

  • 전사 통합 데이터 포털
    • 사용자의 모든 데이터 활용 업무를 전사 통합 데이터 포탈을 통하게, 기존에 분산되어 있던 다양한 데이터 활용 시스템과 도구의 접근 활용을 용이하게 하겠다
  • 지식 포털과의 통합
    • 지식 객체를 관리함으로써 유형의 지식 관리
    • 구성원 객체를 관리해서 구성원의 메타데이터 항목 관리
  • 데이터 분석 관련 모든 기능의 통합
    • 통합 데이터 카탈로그 솔루션 도입
      • 물론 지금은 그러한 솔루션은 없다.
    • 통합 데이터 카탈로그 솔루션 직접 개발
      • 솔루션을 개발하기란 쉬운 일이 아니다.
  • 전사 DA 시스템과의 통합
    • 수집 후 카탈로그가 큐레이션하여 활용하고 있는 도중 데이터 모델 변경
      • 전사 DA 시스템 통합 필요
  • AI 기반 카탈로그 큐레이션
    • 데이터 Steward 수행하는 모든 카탈로그 큐레이션 작업을 AI 대체
      • AI가 메타데이터와 실데이터를 분석해서 자동 입력
        • 비즈니스 카테고리, 데이터 품질 관리
  • 개인화된 콘텐츠 추천
    • 데이터 카탈로그 내의 역할에 기반해서 역할 사용자들에게 가장 활용도가 높은 데이터 객체 추천
    • 사용자가 조회 중인 데이터 객체를 활용해서 다른 사용자가 조회한 데이터 객체 추천
    • 사용자의 데이터 활용 이력에 근거하여 클러스터링 분석 후 가장 많이 활용되는 데이터 객체 추천
    • 객체 그룹으로 시각화 제공
    • 컨텐츠 추천은 최소 6개월 지난 이후 적용하는 것 바람직
Written on September 21, 2022