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는 실 데이터가 수집됨에 따라 자신이 담당하는 데이터 객체 목록 조회
- 업무 활용도가 높은 데이터, 데이터 분석가의 활용도가 높을 것으로 예상되는 데이터 중심 큐레이션
- 비즈니스 카테고리 관리 업무도 수행
- 컬럼 혹은 필드별로 생성되는 데이터 프로파일링 정보를 확인하여 데이터 품질 점검
데이터 파이프라인 구축 모듈
- 원천 데이터 수집 범위 정의
- 카탈로그 대상 데이터 객체 범위를 정의하는 작업과 병행
- 주의사항
- 사용하지 않고 있는 테이블과 파일 다수
- 데이터 웨어하우스 및 분석 시스템의 데이터는 수집하지 않기 권고
- 카탈로그 대상 객체를 고려하여 대상 원천 시스템 유형 식별
- 본 사업의 타깃 사용자의 요구사항을 참고해서 대상 원천 시스템 식별
- 대상 테이블 및 파일 식별
- 대상 테이블 및 파일의 데이터 수집 기간 정의
- 데이터 오너 지정
- 해당 데이터 현업 담당자
- 비즈니스 배경지식을 데이터 Steward 전달하고, 사용자 질의가 있을 경우 답변
- 데이터 파이프라인 설계
- 데이터 파이프라인
- 사용자에게 필요한 데이터를 제공하기 위해 데이터를 수집하고 처리하는 모든 과정
- 데이터 파이프라인 처리는 데이터 유형 및 수집 주기별로 별도 도구에 의해서 별도 프로세스 진행
- 이벤트 메시지, 데이터베이스, 파일 시스템
- 데이터 파이프라인
- 데이터 파이프라인 개발
- 곧바로 해당 객체에 대한 데이터 수집 시작하는 것 바람직
- 카탈로그 큐레이션은 상당한 시간 소요
- 개발은 물론 개발 서버에서 진행해야 하지만, 기능 검증이 완료된 후에는 곧바로 운영 서버 배포
- 원천 데이터 수집
- 실시간, 준 실시간 수집 프로그램은 항상 다양한 문제 발생
- 철저한 기능 테스트와 데이터 정합성 검증 필요
- 오류를 모두 검증한 후에 원천 데이터를 수집하려면 상당한 기간이 소요
- 배치부터 진행하면서 점차 실시간, 준실시간 수집 진행 권고
- 얼마나 많은 데이터에 대해 큐레이션 진행했는지 중요
프론트엔드 구축 모듈
- 데이터 카탈로그 프론트엔드 요건 정의
- 디자인 측면
- 데이터 카탈로그 타깃 사용자인 시민 분석가의 관점 도출
- 사용자 활용 프로세스 기반으로한 기능 측면
- 사용자의 데이터 활용 행동을 기반으로 기능 도출
- 디자인 측면
- 데이터 카탈로그 프론트엔드 기능 설계
- 누구나 이해할 수 있는 쉬운 용어 사용
- 불필요한 정보 제거
- 프론트엔드의 각 기능 설계 시 백엔드 기능과 연동된 동작 확인
- 데이터 카탈로그 프론트엔드 기능 개발
- 카탈로그 큐레이션 관련된 기능 우선 개발
변화관리 모듈
- 변화관리 계획 수립
- 사용자 그룹별로 특화된 프로그램 기획 후 진행
- 데이터 오너, 데이터 Steward, 데이터 분석가, 시민 분석가, 경영진
- 각 사용자 그룹별 인원 현황 파악 필요
- 사용자 그룹별 커뮤니케이션
- 대상자와 커뮤니케이션 및 교육을 진행하기 전 사전 준비
- 각 사용자 그룹과 커뮤니케이션을 위한 적절한 자료 준비
- 사용자 그룹별로 별도의 커뮤니케이션 채널 구성
- 설계가 진행되는 대로 사용자를 대상으로 한 커뮤니케이션 수행
- 대상자와 커뮤니케이션 및 교육을 진행하기 전 사전 준비
- 사용자 변화관리
- 별도의 데이터 카탈로그 홍보 사이트 운영
- 사내 이메일을 통한 공지와 홍보
- 파워 유저를 통한 교육
통합 테스트
- 확인사항
- 모든 기능을 개발 완료 후 기능 간의 원활한 연계가 이루어지는지
- 사용자 관점에서 업무 처리를 매끄럽게 진행할 수 있는지
- 입력된 데이터의 정합성은 잘 맞는지
통합 테스트는 프로젝트 참여자가 아닌 제 3자가 사용자의 관점에서 수행
통합 테스트 완료 후 필요한 데이터 이행과 함께 전사 공지로 데이터 카탈로그 시스템 오픈 알림
- 신규 데이터 카탈로그 시스템의 안정적인 운영을 위해서 역할 및 책임을 사전 정의
데이터 카탈로그의 미래 발전 방향
- 전사 통합 데이터 포털
- 사용자의 모든 데이터 활용 업무를 전사 통합 데이터 포탈을 통하게, 기존에 분산되어 있던 다양한 데이터 활용 시스템과 도구의 접근 활용을 용이하게 하겠다
- 지식 포털과의 통합
- 지식 객체를 관리함으로써 유형의 지식 관리
- 구성원 객체를 관리해서 구성원의 메타데이터 항목 관리
- 데이터 분석 관련 모든 기능의 통합
- 통합 데이터 카탈로그 솔루션 도입
- 물론 지금은 그러한 솔루션은 없다.
- 통합 데이터 카탈로그 솔루션 직접 개발
- 솔루션을 개발하기란 쉬운 일이 아니다.
- 통합 데이터 카탈로그 솔루션 도입
- 전사 DA 시스템과의 통합
- 수집 후 카탈로그가 큐레이션하여 활용하고 있는 도중 데이터 모델 변경
- 전사 DA 시스템 통합 필요
- 수집 후 카탈로그가 큐레이션하여 활용하고 있는 도중 데이터 모델 변경
- AI 기반 카탈로그 큐레이션
- 데이터 Steward 수행하는 모든 카탈로그 큐레이션 작업을 AI 대체
- AI가 메타데이터와 실데이터를 분석해서 자동 입력
- 비즈니스 카테고리, 데이터 품질 관리
- AI가 메타데이터와 실데이터를 분석해서 자동 입력
- 데이터 Steward 수행하는 모든 카탈로그 큐레이션 작업을 AI 대체
- 개인화된 콘텐츠 추천
- 데이터 카탈로그 내의 역할에 기반해서 역할 사용자들에게 가장 활용도가 높은 데이터 객체 추천
- 사용자가 조회 중인 데이터 객체를 활용해서 다른 사용자가 조회한 데이터 객체 추천
- 사용자의 데이터 활용 이력에 근거하여 클러스터링 분석 후 가장 많이 활용되는 데이터 객체 추천
- 객체 그룹으로 시각화 제공
- 컨텐츠 추천은 최소 6개월 지난 이후 적용하는 것 바람직