차세대 빅데이터 플랫폼 Data Lake 읽고 요약해보기
‘차세대 빅데이터 플랫폼 Data Lake 구축, 활성화 및 거버넌스 전략’이라는 책을 읽고 요약해보려고 합니다.
- 데이터 레이크의 목적
- “데이터 웨어하우스와 같이 정형화된게 아닌 원본 데이터를 자유롭게 분석할 수 있도록 하겠다”
소개
분석 플랫폼 발전 과정
- 1990년대
- 기업의 정보화
- 2000년대
- 전사 사일로 데이터를 통합하기 위한 데이터 웨어하우스 개념
- 빅데이터의 3V 특징
- 데이터의 용량이 커지고 빨라지며 다양한 유형
- 하둡으로 처리하면서 빅데이터 붐 발생
- 2010년대
- 빅데이터 수집 및 분석
- 데이터 웅덩이 혹은 데이터 연못
- 특정 업무를 중심으로 구축한 시스템
- 각자 단절된 상태
- 데이터 레이크가 해결할 점
- 데이터 사이언티스트만 활용하는 데이터 특권화되지 않아야 한다.
- 원천 데이터로 공유하며 분석의 자유를 보장하되 쉽게 찾고, 이해할 수 있도록 다양한 도구로 전처리 및 분석이 가능할 수 있어야 한다.
구축 방식
- on-premise
- 자사의 데이터 센터에 모두 구성
- 실시간 데이터 처리, 꾸준한 대규모 자원 필요한 경우
- 민감 정보로 외부에 저장하기 어려운 경우
- cloud
- 자원 소요에 따라 유연한 운영
- private, public 클라우드
- hybrid
- 실시간 처리 엣지 서비스 영역
- 데이터 수집 처리
- 대규모 연산 처리
로드맵
- 사용자 서비스 관점의 단계별 목표 수립하는 것이 바람직
- 기업의 비즈니스 가치에 기여할 수 있는지
- 데이터 레이크 구축에 투자한 금액 대비 정량적/정상적 효과를 거두는지
- 지속적인 사업 추진 근거 확보
아키텍쳐 설계
- 사용자 시나리오 정의하고 기능 도출하고, 데이터 파이프라인 설계해서 요구사항 충족하는지
- 데이터 레이크 사용자가 일반 사용자를 타깃하는지
- 기능 구현 시 모두 직접 개발할 지, 솔루션을 도입할 지
- 새로 구축하는 접근법보다 기존의 완성된 아키텍쳐를 참고하는 템플릿 접근법이 더 효율적일 수 있다.
- 카파 아키텍쳐
- 실시간 스트리밍 중심
- 메시징 프로세싱 시스템에서 실시간 처리와 배치 처리 가능
- 람다 아키텍쳐
- 실시간과 배치 프로세싱
- 실시간과 배치 처리 레이어 구분
- 데이터 수집 레이어
- 원천 데이터 포맷 그대로 정형, 반정형, 비정형 데이터 모두 수집
- 데이터 적재 레이어
- 4개의 세부 영역
- 원천 데이터를 수집하고 임시 데이터 영역으로 적재
- 임시 데이터 영역에서 전처리, 메타 데이터 생성 후 원천 데이터 영역으로 이동
- 사용자가 내려받은 데이터는 작업 데이터 영역으로 이동
- 다른 사용자와 공유하고자 하는 데이터를 데이터 카탈로그로 배포하고 가동 데이터 영역으로 이동
- 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