목차

  • 데이터레이크란?
  • AWS기반 데이터레이크 구축 방식
  • AWS Lake Formation 소개
  • AWS Lake Formation 데모

1. 데이터레이크란?

데이터레이크란 규모와 정형/비정형 여부와 관계없이 데이터를 저장할 수 있는 중앙 저장소이다.

1.1. 데이터레이크의 필수 조건

  • 데이터 저장소: 모든 데이터를 다룰 수 있는 하나의 Access Point가 필요하다.
  • 데이터 형식: 정형 / 반정형 / 비정형 / 원시 데이터를 지원해야 한다.
  • 데이터 포맷: 스키마를 읽기 쉽고, 저비용 스토리지와 호환되는 형식을 지원해야 한다.
  • 데이터 처리 아키텍처: 스토리지와 컴퓨팅을 분리함으로써 빠른 수집과 소비를 지원하는 아키텍처가 필요하다.
  • 데이터 암호화 및 보안 규칙 지원

1.2. 데이터레이크 발생 배경

  • 기존: 분석의 목적에 따라 Data Warehouse Silo를 구분하여 비즈니스 분석할 데이터를 저장한다.
  • 현재: 기계학습, 실시간 분석, 빅데이터 프로세싱 등의 대규모 데이터와 복합 프로세싱에 대한 수요가 증가함에 따라 여러개로 분산된 Silo 대신, 단일화된 저장소의 필요성이 증가하였다.

1.3. AWS 기반 데이터레이크의 장점

  • 데이터레이크 생성 및 활용이 편리함
  • 높은 보안성
  • 솔루션 제공을 통한 다양한 데이터 분석 가능
  • 비용 효율성

2. AWS 기반 데이터레이크 아키텍처

데이터는 소스로부터 수집되어, 전처리된 후 보관된다. 보관된 데이터는 분석되고, 유의미한 결과가 도출되면 해당 결과를 활용한다.

데이터레이크는 위 과정으로 구성된다. 각 과정에 대해서 어떠한 AWS 서비스가 매칭되는지는 아래 개념도를 통해 알 수 있다.

2.1. 각 과정 설명

  • 데이터 소스: ERP, Web log, Social media data 등 분석의 대상이 되는 데이터가 발생하는 원천이다.
  • 수집: 소스의 데이터를 DB Migration 또는 Snowball, Kinesis(실시간 데이터 스트림), MSK를 이용하여 수집한다.
  • 카탈로그: Glue 서비스를 이용하여, 데이터를 처리/분석할 수 있도록 사전에 ETL 처리하는 단계이다. (ETL: Extraction, Transformation, Loading)
  • 스토리지: 전처리 과정에 있거나 완료된 데이터를 S3에 보관한다.
  • 처리: 서버리스 기반의 Athena, Hadoop, Spark 통해서 처리하는 EMR, Redshift, Elastic Search등을 이용하여 분석을 진행한다.
  • 활용: 주피터 노트북, API gateway 퀵사이트, BI tools를 이용하여 도출 결과를 활용한다.

데이터 프로세싱은 위처럼 다양한 과정을 필요로 하며, 각 과정마다 다양한 AWS 서비스를 이용하여 데이터 레이크를 완성할 수 있다.

2.2. 문제점

위 아키텍처를 실제로 구현하는 과정에서 다음과 같은 애로사항이 발생할 수 있다.

  1. 위 파이프라인을 수동으로 구축/유지/관리하는 과정이 복잡하다.
  2. 각 과정에서 보안/접근 제어를 일일이 설정해야 한다.
  3. 데이터, 사용자, 서비스가 변경될 때마다 위 데이터레이크 구축 과정을 반복해야한다.

이러한 배경을 해결하기위해서는 데이터레이크를 템플릿화할 수 있는 서비스가 필요하다.


3. AWS Lake Formation 소개

AWS Lake Formation은 데이터 레이크 구축을 위한 완전 관리형 서비스이다. 아래와 같은 특장점이 있다.

  • 신속한 데이터 이동, 저장, 카탈로그 관리 기능을 제공한다.
  • 여러 서비스에 걸쳐 보안 정책을 적용할 수 있다.
  • 데이터 인사이트의 수집 및 관리가 가능하다.

주요 기능은 다음과 같다.

  • AWS Glue 자동화: Glue를 손쉽게 연결하여 ETL작업을 수행할 수 있다.
  • 블루 프린트 / 데이터 임포터: ETL, 메타 데이터, 파티션 관리를 위한 템플릿을 생성/편집할 수 있다.
  • 기계 학습 기반 변환: 데이터 변환 과정에서 기계학습 알고리즘을 활용할 수 있도록 지원한다.
  • 데이터 카탈로그: 메타 데이터를 기록하고 데이터 카탈로그 객체를 설정할 수 있다.
  • 접근 제어: 각 서비스별 권한에 대하여 일괄 관리할 수 있다.

4. AWS Lake Formation 데모

  1. Lake Location에 S3 bucket을 등록한다.
  2. 블루프린트를 이용하여 데이터를 로딩한다.
  3. 사용자 권한을 설정한다.

아래 링크를 통해서 보다 상세하게 실습할 수 있다.

(링크: http://aws-lakeformation-workshop.s3-website.ap-northeast-2.amazonaws.com/introduction/datalake/)