차세대 빅데이터 플랫폼 Data Lake 읽고 요약해보기

‘차세대 빅데이터 플랫폼 Data Lake 구축, 활성화 및 거버넌스 전략’이라는 책을 읽고 요약해보려고 합니다.

  • 데이터 레이크의 목적
    • “데이터 웨어하우스와 같이 정형화된게 아닌 원본 데이터를 자유롭게 분석할 수 있도록 하겠다”

소개

분석 플랫폼 발전 과정

  • 1990년대
    • 기업의 정보화
  • 2000년대
    • 전사 사일로 데이터를 통합하기 위한 데이터 웨어하우스 개념
  • 빅데이터의 3V 특징
    • 데이터의 용량이 커지고 빨라지며 다양한 유형
    • 하둡으로 처리하면서 빅데이터 붐 발생
  • 2010년대
    • 빅데이터 수집 및 분석
  • 데이터 웅덩이 혹은 데이터 연못
    • 특정 업무를 중심으로 구축한 시스템
    • 각자 단절된 상태
  • 데이터 레이크가 해결할 점
    • 데이터 사이언티스트만 활용하는 데이터 특권화되지 않아야 한다.
    • 원천 데이터로 공유하며 분석의 자유를 보장하되 쉽게 찾고, 이해할 수 있도록 다양한 도구로 전처리 및 분석이 가능할 수 있어야 한다.

구축 방식

  • on-premise
    • 자사의 데이터 센터에 모두 구성
    • 실시간 데이터 처리, 꾸준한 대규모 자원 필요한 경우
    • 민감 정보로 외부에 저장하기 어려운 경우
  • cloud
    • 자원 소요에 따라 유연한 운영
    • private, public 클라우드
  • hybrid
    • 실시간 처리 엣지 서비스 영역
    • 데이터 수집 처리
    • 대규모 연산 처리

로드맵

  • 사용자 서비스 관점의 단계별 목표 수립하는 것이 바람직
    • 기업의 비즈니스 가치에 기여할 수 있는지
    • 데이터 레이크 구축에 투자한 금액 대비 정량적/정상적 효과를 거두는지
    • 지속적인 사업 추진 근거 확보

아키텍쳐 설계

  • 사용자 시나리오 정의하고 기능 도출하고, 데이터 파이프라인 설계해서 요구사항 충족하는지
  • 데이터 레이크 사용자가 일반 사용자를 타깃하는지
  • 기능 구현 시 모두 직접 개발할 지, 솔루션을 도입할 지
    • 새로 구축하는 접근법보다 기존의 완성된 아키텍쳐를 참고하는 템플릿 접근법이 더 효율적일 수 있다.
  • 카파 아키텍쳐
    • 실시간 스트리밍 중심
    • 메시징 프로세싱 시스템에서 실시간 처리와 배치 처리 가능
  • 람다 아키텍쳐
    • 실시간과 배치 프로세싱
    • 실시간과 배치 처리 레이어 구분
  • 데이터 수집 레이어
    • 원천 데이터 포맷 그대로 정형, 반정형, 비정형 데이터 모두 수집
  • 데이터 적재 레이어
    • 4개의 세부 영역
      • 원천 데이터를 수집하고 임시 데이터 영역으로 적재
      • 임시 데이터 영역에서 전처리, 메타 데이터 생성 후 원천 데이터 영역으로 이동
      • 사용자가 내려받은 데이터는 작업 데이터 영역으로 이동
      • 다른 사용자와 공유하고자 하는 데이터를 데이터 카탈로그로 배포하고 가동 데이터 영역으로 이동
  • 데이터 제공 레이어
    • 사용자가 직접 쿼리해서 Rest api로 변환하고 애플리케이션에서 호출
    • 지정 데이터베이스와 인터페이스, 주기에 따라 데이터를 직접 전송
    • 조회한 데이터를 로컬 pc나 데이터 레이크 내부 사용자의 작업 영역으로 내려받기
  • 데이터 서비스 레이어
    • 데이터 카탈로그 서비스에서 필요한 데이터 검색하고 컨텍스트 이해
    • 데이터를 조회하고 내려받기
    • 데이터 전처리 분석 도구에 제공하고 결과를 다시 데이터 카탈로그 배포
  • 데이터 카탈로그
    • 사용자가 필요한 데이터를 키워드로 검색하거나 데이터 컨텍스트를 위해 데이터 리니지 제공
    • 데이터에 대한 정보를 제공하는 시스템
    • 상품 카탈로그와 비교 이해

활용도

  • 데이터 웨어하우스
    • 특정 비즈니스 활용 니즈를 분석하고 모델링해서 데이터 적재
  • 데이터 레이크
    • 일단 데이터를 수집하여 적재하고 사용자가 자유롭게 분석

거버넌스

  • 데이터 레이크 데이터 품질은 엄격히 관리
    • 사용자가 정합성이 높다고 생각하지 않으면 데이터 레이크를 활용하지 않을 것
    • 품질 관리를 위해서 데이터 프로파일링으로 데이터 누락, 오류, 중복이 발생하지 않도록 확인
    • 품질 문제가 발생하면 원인에 대한 조치까지 자동화
  • 보안 관리 중요

  • 수집 -> 적재 -> 보관 -> 폐기까지 데이터 수명 관리

  • 추진 조직
    • 데이터 레이크는 전사 전환 프로그램
    • 지속적 관심 중요

데이터 레이크란?

개념

  • 데이터 레이크
    • 마치 호수가 여러 지류로부터 물이 흘러 고이는 곳
    • 데이터 레이크의 사전적 정의
      • 여러가지 다양한 유형의 데이터를 원본으로 저장하는 저장소
  • 엔터프라이즈 데이터 레이크 정의
    • 전사
      • 전사에서 추진할 데이터 중심의 비즈니스 전환의 의미
    • 모든 구성원
      • 모든 구성원에게 필요한 데이터 서비스 제공의 의미
    • 활용
      • 현재 활용 용도가 없어도 분석에 활용할 수 있도록 제공의 의미
    • 플랫폼
      • 유저 인터페이스 기반으로 자동화하여 제공되는 데이터 서비스의 의미

기원

  • BI 솔루션 업체에서 2010년 블로그에서 처음 쓰기 시작한 용어
    • 데이터 마트와 대비되는 개념으로 언급
  • 원본 데이터 형태의 데이터 서비스 호수

data warehouse

  • 데이터 웨어하우스
    • ETL 부하를 경감하기 위해서 데이터 레이크 활용
    • 적재 시 스키마 정의
  • 데이터 레이크
    • 수집과 유연한 분석이 가능
    • 조회시 스키마 정의
  • 데이터 웨어하우스에 수용하기 어려운 데이터의 원천 데이터를 데이터 레이크에 적재

  • 실제로 데이터 레이크가 데이터 웨어하우스를 대체할 수 있을까?
    • 사용자의 데이터 분석에 대한 인식 전환과 역량 확보 필요
    • 기업 내 데이터 레이크 활용을 독려하는 분위기 필요
    • 사용자의 활용 데이터 축적 필요

빅데이터 플랫폼 비교

  • 데이터 웨어하우스가 가진 한계점을 극복하기 위해서 하둡이라는 빅데이터 플랫폼 등장

데이터 puddle/pond 비교

  • 데이터 웅덩이 또는 연못
    • 데이터가 기업 내 각자 있게 되는 경우
  • 데이터 사일로
    • 데이터 웅덩이나 연못이 여러 개 존재하고, 서로 연계하기 어려운 단절 구조 현상 발생
    • 같은 회사에서 동일한 프로젝트를 여러 개 수행
    • 데이터 중복의 발생 가능성, 전사 데이터를 통합하거나 분석하기 어려운 구조

데이터 swamp 비교

  • 데이터 늪
    • 내부가 투명하지 않아서 무엇이 있는지 알 수 없고 활용하기 어렵다는 의미
  • 사용자가 자신이 원하는 데이터를 찾을 수 있는지
  • 해당 데이터에 대한 필요한 컨텍스트 정보를 이해할 수 있는지
  • 데이터 레이크의 데이터를 다양하게 활용할 수 있는지

지향점

  • 데이터 레이크는 전사 원본 데이터를 수집하고, 다양한 사용자에게 데이터 셀프 서비스를 제공하는 플랫폼

  • 디지털 전환

    • 전사의 데이터 활용 문화를 전환하는 작업
    • 업무 / 조직 / 프로세스 / 시스템의 변화 필요

구축 방식

구현 방식

  • on-premise
    • 자사의 데이터 센터에 모두 구성
    • 리소스 변동이 적거나 실시간 처리가 중요한 경우
  • cloud
    • on-premise의 반대의 경우
    • 이용한 만큼 지불
    • private, public 클라우드
  • hybrid
    • 여러 가지 방식을 조합하여 구현

로드맵

  • 데이터 레이크 구축은 장기간 소요되는 전사적 전환 과제
  • 빅뱅 접근법
    • 모든 기능을 단기간에 구축하여 오픈
  • 단계별 접근법
    • 단계별로 기능을 구축하여 오픈
  • 하둡
    • 빅데이터 분산 처리를 위한 오픈소스 기반 솔루션
    • 데이터 레이크를 구성하는 영역별 다양한 오픈소스 솔루션 제공
  • 클라우드 솔루션
    • 클라우드 서비스 형태로 제공
  • 아키텍쳐 중심 방식
    • 데이터 레이크 아키텍쳐 구성 후 가능을 중심으로 전체 아키텍쳐 완성
  • 서비스 중심 방식
    • 사용자에게 제공할 서비스를 중심으로 전체 서비스 완성

목표 아키텍쳐

  • 참조할 아키텍쳐를 기반으로 추가 및 보완하는 게 더 효율적

  • 카파 아키텍쳐
    • 실시간 스트리밍 데이터 처리
    • 분석을 위한 배치 처리 제공
  • 람다 아키텍쳐
    • 실시간 데이터와 배치 데이터 처리 모두 수용
    • 주기적 생성 데이터는 배치로 수집해서 적재

데이터 수집 레이어

  • 쉬운 수집 표방
    • 다양한 데이터를 여러 타임라인에 따라 처리, 가공, 변환 없이 수집
  • 정형 데이터는 수집 즉시 활용하지만, 반정형 데이터는 데이터 오너가 데이터 카탈로그에 등록 필수
  • 비정형 데이터도 반드시 메타 데이터도 함께 수집
  • 실시간, 준 실시간, 배치 데이터도 수용

데이터 적재 레이어

  • 원천 데이터의 포맷 그대로 수집하고 자유롭게 분석하는 목적
  • 적재 영역
    • 서비스 준비 영역
      • 데이터 수집 후 서비스하기 전 임시 보관
    • OPS 서비스 영역
      • 서비스하기 위한 데이터 보관
      • 원천 데이터 영역
      • 가공 데이터 영역
        • 다른 사용자와 공유하기 위해서 데이터 카탈로그에 배포한 데이터
      • 데이터 카탈로그 통한 서비스
    • DEV 서비스 영역
      • 원천 데이터와 가공 데이터 영역
      • 대화식 쿼리 서비스나 전처리 분석 도구에서 분석을 위해 생성한 작업 데이터

데이터 제공 레이어

  • 데이터 레이크 내부 데이터를 데이터 레이크 외부 연계
  • restful api, DB 커넥션, 전송 서비스 등

데이터 서비스 레이어

  • 데이터 레이크의 데이터를 잘 활용하도록 제공되는 서비스
  • 데이터 카탈로그, 대화식 쿼리, 샌드박스, 데이터 전처리, 데이터 분석

  • 데이터 검색 * 키워드로 필요한 데이터를 검색하는 서비스 * 원본 데이터 객체 * 데이터베이스나 파일 시스템 * 사용자 생성 객체 * 쿼리, API, 보고서, 대시보드, 게시물 등
    • 메타 데이터 구축
      • 비즈니스 메타데이터, 기술 메타데이터
    • 비즈니스 용어 사전 구축
      • 사용자가 자연어로 입력한 데이터
    • 검색 색인 체계 구축
      • 검색 결과의 완성도
      • 검색 엔진 플랫폼 활용
    • 카테고리 검색
      • 카테고리 기반으로 데이터를 검색하는 서비스
  • 데이터 컨텍스트 이해
    • 데이터 객체의 비즈니스 컨텍스트, 기술 세부사항을 이해하고 활용 방안 파악
    • 컨텍스트 제목
      • 데이터 객체 정의를 단어로 응축하는 문구
    • 컨텍스트 설명
      • 데이터가 어떤 정보를 담고 있는지 기술된 내용
    • 컨텍스트 태그
      • 데이터의 특성을 키워드 형식으로 나타낸 정보
    • 데이터 오너
      • 해당 데이터를 생성하는 원천 시스템 담당자
    • 데이터 steward
      • 데이터 레이크의 데이터를 준비하고 서비스하는 담당자
    • 인기 사용자
      • 다른 사용자가 많이 조회하는 데이터 객체의 사용자
    • 기술적 세부사항 이해
      • 데이터 객체의 내부 구조 이해
      • 데이터 리니지의 이해
      • 데이터 프로파일링, 샘플링, 품질 리뷰 조회를 통한 실 데이터의 이해
    • 데이터 리니지를 구현하기 위한 방법
      • 데이터 처리 도구들이 처리할 때마다 리니지 정보를 생성하는 방법
      • 데이터 처리 로그를 파싱하는 방법
      • 데이터 객체의 물리명으로 추론하는 방법
      • 사용자가 직접 리니지 정보를 등록하는 방법
    • 실 데이터에 대한 이해
      • 데이터 프로파일링 결과를 사용자에게 제공
      • 샘플 데이터를 제공
      • 사용자의 데이터 품질 정보를 제공
      • 데이터 객체에 대한 활용 현황 파악
  • 데이터 확보
    • 필요한 데이터는 확보
      • 데이터 내려받거나 타깃 DB로 전송하거나 API 호출해서 확보
    • 대화식 쿼리
      • 쿼리를 요청하고 응답하는 과정을 기록하면서 계속 수행할 수 있는 기능
      • 데이터 카탈로그로 배포 가능
      • 데이터 다운로드 가능으로 작업 데이터 영역으로 내려받아서 분석
      • 사용자 지정 타깃 DB로 설정 주기에 따라 데이터를 전송
      • 배치 스케줄러, 데이터 API 기능
  • 타 서비스 연계
    • 데이터 쿼리나 전처리, 분석 도구로 연계하는 서비스
    • 대화식 쿼리 서비스 연계
    • 사용자 샌드박스 서비스 연계
    • 데이터 전처리 서비스 연계
    • 데이터 분석 서비스 연계

데이터 카탈로그 솔루션

  • Alation data catalog
  • waterline data
  • aws glue

데이터 레이크 활용 방안

일반 사용자 타겟

  • 데이터 레이크가 타깃으로 하는 사용자
  • 데이터 검색을 쉽게 할 수 있게 지원
  • 업무 전문 용어 설명
  • 기술 전문 용어를 비즈니스 용어로 전환해서 안내
  • 쿼리 작성 지원
  • 데이터 분석 가이드 제공
    • 보고서, 대시보드
    • 아티클 공유
  • 자주 실수하는 것
    • 본인이 알고 있는 지식을 다른 사람도 알고 있다고 생각하는 것

활용 도구 연계

  • 기존에 사용하던 도구를 데이터 카탈로그와 연계해서 편리하게 제공
  • 데이터 레이크 활용도 향상

데이터 큐레이션 우선순위화

  • 사용자 데이터 활용도 기준으로 우선 적재
  • 최근 활용도가 높은 테이블을 선정하고 원천 데이터를 데이터 레이크에 적재
  • 해당 데이터의 시스템 담당자를 데이터 오너로 지정하고, 웨어하우스 데이터 담당자를 데이터 steward 지정

게임화

  • 게임의 요소 도입
  • 사용자가 활용하는 활동을 기록해서 투명하게 공개
  • 점수가 부여되고, 다른 사용자와 점수를 비교

빅데이터 과제와 연계 추진

  • 사내 빅데이터 분석을 위해 필요한 데이터를 수집
  • 데이터 객체를 큐레이션해서 데이터 카탈로그 등록
  • 필요한 데이터 분석 도구와 연계해서 지원
  • 분석된 데이터는 전체 사용자에게 공지해서 일반 사용자도 업무에서 시도해볼 수 있도록 독려

전사적 전환 프로그램

  • 데이터 레이크는 전사의 사용자 대상
  • 일반 사용자의 관점 초점
  • 데이터 분석 업무 프로세스 변화 필요
    • 데이터 레이크 플랫폼으로 데이터를 검색하고, 컨텍스트를 이해하며, 내려받고, 전처리/분석한 후 다시 데이터 카탈로그에 배포하는 프로세스
  • 데이터 웨어하우스 대체해서 통합 빅데이터 플랫폼 지향

거버넌스

데이터 품질 관리

  • 각자 데이터 객체 별 데이터 steward 가 품질 관리 수행
    • 데이터 프로파일링 기반 데이터 정합성 관리
    • 데이터 품질 리뷰 기반 조치
  • 오류 발견 시, 데이터 오너에게 알리고, 원인 분석 후 결정

보안 관리

  • 사용자의 접근/인증 관리
    • 인증받은 사용자만 접근 허용하는 체계
  • 사용자 권한 관리
    • 사용자 역할 구분 및 접근 권한 구분
    • 데이터 오너, 데이터 steward, 데이터 사이언티스트, 시민 분석가, 데이터 레이크 관리자
  • 민감 데이터 관리
    • 민간한 데이터에 대한 비식별화, 마스킹, 암호화
    • 데이터 활용 시 데이터 오너의 승인을 받는 절차

데이터 수명주기

  • 데이터 수집부터 적재, 활용, 폐기까지 데이터 전체 라이프 사이클 관리 정책 및 프로세스
  • 준비 데이터 영역
    • 원천 데이터 그대로 수집
  • 원천 데이터 영역
    • 이동 후 준비 데이터 영역 폐기
    • 메인 서비스 영역
  • 작업 데이터 영역
    • 이동해도 원천 데이터 영역 보존
    • 각자 작업을 위해 내려받은 데이터
    • 임시 데이터 영역이므로 미사용 데이터는 자동 폐기
  • 가공 데이터 영역
    • 데이터 카탈로그에 배포된 데이터
    • 사용자에게 서비스하는 영역
    • 최소 3년 보관
    • 해당 데이터는 원천 데이터가 존재하지 않으므로 복구 불가
Written on September 7, 2022