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개월 지난 이후 적용하는 것 바람직