본문 바로가기
Data Science/DBT

데이터레이크(Data Lake)와 데이터레이크하우스(Data Lakehouse)

by 루크 Luke 2024. 8. 11.
반응형

 

개요

데이터웨어하우스(DW)는 지금 내 조직에서도 활발하게 사용 중이라서 익숙한데, 레이크와 레이크하우스는 익숙하지 않은 개념인 것 같다. 사실 있다고 한들, 과연 내가 처리할 수 있는 스택을 갖추고 있는가 하는 생각이 드는 수준. 강의를 들으면서 생각한 것은 LAKE는 현실적으로 운영하는 것이 무의미한 것 같고, 최소한 레이크하우스 정도는 되어야 될 것 같다는 생각. 뒷부분에서 이 처리 부분을 강의로 이어주실 지는 의문이 든다. 차근차근 따라가보기.

 

 

데이터 웨어하우스의 한계와 해결 방법

 

Getty Image Bank 사진 첨부

 

보통 사기업 조직에서는 온프레미스 데이터웨어하우스를 구축해서 운영하고 있다. (메이비 보안적인 측면이겠지) 온프레미스와 클라우드 DW 모두 장점과 단점이 모두 존재하는데, 선택에 따라 여러 가지 문제에 직면할 수 있는 것 같다.

  1. 비용 문제:
    • 데이터 웨어하우스에서는 사용 중이든 아니든 컴퓨팅 노드에 대해 비용을 지불
    • 데이터가 많으면 비용이 많이 들 수 있고, 적더라도 높은 분석 작업량이 있으면 비용이 발생
  2. 자동 확장 문제:
    • 자동 확장 기능을 설정할 수 있지만, 이 기능이 모든 피크 작업량을 충족시킬 수 있는 것은 아님

이를 해결하기 위해서, 용량이 큰 파일을 DW 외부에 저장하는 등, 독립적으로 확장하는 편.

  • 외부 테이블(External Tables):
    • 큰 파일을 데이터 웨어하우스 밖, 예를 들어 Amazon S3 또는 블롭 저장소에 저장
    • 이렇게 하면 컴퓨팅과 저장소를 분리하여 독립적으로 확장 가능
    • 이 외부 테이블은 클라우드에서 서버리스 서비스로 관리되며, 클라우드 제공자가 인프라를 관리

구조화된 데이터의 저장소와 컴퓨팅 문제는 이렇게 해결할 수 있지만, 이미지, 비디오, 텍스트 파일 같은 비정형 데이터는 어떻게 처리할까?

 

비정형 데이터와 데이터 레이크

데이터레이크 자료 (수업 자료 중)

 

 

구조화된 데이터를 저장할 때 데이터 웨어하우스를 사용하면 된다. 비정형 데이터나 반구조화된 데이터를 다룰 때는 데이터 레이크(Data Lake) 개념을 활용할 수 있다.

 

데이터 레이크는 모든 종류의 데이터를 저장할 수 있는 저장소인데, 구조화된 데이터, 비정형 데이터(예: 이미지, 비디오), 반구조화된 데이터(예: JSON 파일) 등이 모두 포함될 수 있다. 데이터 레이크를 비유하자면, 온프레미스에서는 GFS(Google File System)나 Hadoop 분산 파일 시스템과 같은 대규모 파일 저장 시스템이 있었지만, 클라우드에서는 Amazon S3나 Azure Data Lake Storage Gen2(ADLS Gen2)와 같은 서비스를 사용한다.

 

데이터 레이크의 핵심은 파일을 저장하는 것 자체로, 데이터에 대한 컴퓨팅을 통합하지 않는다는 점. 즉, 분석 작업이 증가하면 저장소와 컴퓨팅 자원을 독립적으로 확장할 수 있다. 클라우드 제공자는 외부 테이블을 관리하며, 데이터 분석에 필요한 클러스터를 제공함. 예를 들어, Databricks나 Snowflake와 같은 서비스는 기본적으로 데이터를 데이터 레이크에 저장하며, 분석 클러스터는 사용자가 원하는 대로 설정할 수 있도록 연결. 그래서 데이터 작업량이 많으면 더 큰 클러스터를 사용하고, 작업량이 적으면 작은 클러스터를 사용할 수 있도록 설계되어 있다.

 

데이터 레이크하우스 등장

Snowflake 공식 홈페이지에서 소개하는 데이터레이크하우스 도식

 

아무래도 분석 결과를 도출하는 것이 일반적인 기업에서 필요로 하는 작업인데, 데이터 레이크 형태로 두는 것은 의미가 없다. 이러한 데이터 레이크의 한계로 인해 등장한 Lake House 개념은 데이터 레이크와 데이터 웨어하우스의 장점을 결합한 개념이라고 볼 수 있다. 레이크하우스의 특징은 아래와 같다 : 

  • 특징:
    • 데이터 웨어하우스와 유사한 데이터 구조 및 관리 기능 제공.
    • 저비용 클라우드 스토리지 위에 구축되어 경제적인 저장소 제공.
    • ACID 트랜잭션 지원으로 데이터 일관성 보장.
    • 데이터셋 복사 없이 테이블 스키마 진화 가능.
    • 데이터 접근 제어 및 권한 관리 가능.
  • 인터페이스: 방문자와 연결할 수 있는 인터페이스 제공.
 

포스팅 자료 출처

본 포스팅은 유데미(Udemy) 사이트의 "The Complete dbt (Data Build Tool) Bootcamp: Zero to Hero" 강의의 내용을 발췌하여 작성했습니다. (광고 X)

 

반응형

댓글