Data Lakehouse: 데이터 중심 여정 지원
데이터 레이크하우스는 데이터 레이크와 데이터 웨어하우스의 장점을 융합하여 탄생한 최신 데이터 관리 구조입니다. 이 아키텍처는 다양한 형태의 데이터를 하나의 플랫폼에서 처리하며, ACID 속성을 준수하는 쿼리와 분석을 가능하게 합니다.
그렇다면 왜 데이터 레이크하우스를 선택해야 할까요? 소프트웨어 엔지니어로서, 저는 개별 시스템을 운영하고 관리하는 어려움과 시스템 간의 대규모 데이터 이동의 복잡성을 잘 알고 있습니다.
비즈니스 분석과 리포트 작성을 위해 데이터를 활용하려면 정형화된 데이터를 데이터 웨어하우스에 저장해야 합니다. 반면, 여러 소스에서 발생하는 모든 종류의 데이터를 원본 형식 그대로 보관하려면 데이터 레이크가 필요합니다. 단일 레이크하우스를 사용하면 이러한 두 가지 요구 사항을 모두 충족할 수 있어, 복잡한 시스템 관리가 필요 없어집니다.
데이터 레이크하우스의 중요성

데이터의 형식이나 구조에 제약 없이 데이터를 저장하고 분석하는 능력은 조직과 비즈니스 성장에 필수적입니다. 데이터 레이크하우스는 데이터 레이크와 데이터 웨어하우스가 가진 단점을 극복하며, 현대적인 데이터 관리에 있어 중요한 역할을 담당합니다.
데이터 레이크는 때때로 구조나 관리 체계 없이 데이터가 무분별하게 쌓이는 '데이터 늪'으로 변질되기도 합니다. 이는 데이터 접근성과 사용성을 떨어뜨리고, 데이터 품질 문제를 야기할 수 있습니다. 반면, 데이터 웨어하우스는 지나치게 경직되어 있고 비용이 많이 드는 경향이 있습니다.
데이터 레이크하우스는 독자적인 특징을 갖습니다. 이러한 특징들을 자세히 살펴보겠습니다.
데이터 레이크하우스의 특징
데이터 레이크하우스 구조를 알아보기 전에, 먼저 주요 기능과 특징을 살펴보겠습니다.
- 트랜잭션 지원: 데이터 레이크하우스는 여러 읽기 및 쓰기 작업이 동시에 발생할 수 있습니다. ACID 규칙을 준수함으로써, 이러한 동시 작업이 데이터 무결성을 해치지 않도록 보장합니다.
- 비즈니스 인텔리전스 지원: BI 도구를 인덱싱된 데이터에 직접 연결할 수 있습니다. 데이터를 다른 곳으로 복사할 필요가 없어, 더 빠르고 저렴한 비용으로 최신 데이터를 얻을 수 있습니다.
- 데이터 저장소와 컴퓨팅 계층 분리: 각 계층을 독립적으로 확장할 수 있어, 시스템의 유연성을 높입니다. 스토리지 용량이 더 필요하면 컴퓨팅 리소스 변경 없이 스토리지만 확장할 수 있습니다.
- 다양한 데이터 유형 지원: 데이터 레이크를 기반으로 구축되었으므로, 다양한 형태와 유형의 데이터를 지원합니다. 오디오, 비디오, 이미지, 텍스트 등 다양한 종류의 데이터를 저장하고 분석할 수 있습니다.
- 개방형 스토리지 형식: 데이터 레이크하우스는 Apache Parquet과 같은 개방적이고 표준화된 스토리지 형식을 사용합니다. 덕분에 다양한 도구와 라이브러리를 데이터에 연결하여 사용할 수 있습니다.
- 다양한 워크로드 지원: 저장된 데이터를 사용하여 SQL 쿼리, BI, 분석, 머신러닝 등 폭넓은 워크로드를 실행할 수 있습니다.
- 실시간 스트리밍 지원: 실시간 분석을 위해 별도의 데이터 저장소나 파이프라인을 구축할 필요가 없습니다.
- 스키마 거버넌스: 강력한 데이터 거버넌스 및 감사를 지원합니다.
데이터 레이크하우스 아키텍처

데이터 레이크하우스의 작동 방식을 이해하는 데 필수적인 아키텍처에 대해 알아보겠습니다. 이 아키텍처는 크게 5가지 구성 요소로 이루어져 있습니다.
데이터 수집 계층
이 계층은 다양한 소스의 데이터가 수집되는 곳입니다. 여기에는 데이터베이스 변경 사항, IoT 센서 데이터, 실시간 사용자 데이터 스트림 등이 포함될 수 있습니다.
데이터 저장 계층
수집된 데이터는 적절한 형식으로 저장되어야 합니다. 이 저장 계층은 AWS S3와 같은 다양한 매체에 데이터를 저장합니다. 이것이 실질적인 데이터 레이크 역할을 합니다.
메타데이터 및 캐싱 계층
데이터 저장 계층이 준비되면 메타데이터 및 데이터 관리 계층이 필요합니다. 이 계층은 데이터 레이크에 저장된 모든 데이터에 대한 통합된 뷰를 제공하며, ACID 트랜잭션을 추가하여 기존 데이터 레이크를 데이터 레이크하우스로 변환합니다.
API 레이어
API 계층은 메타데이터 계층에서 인덱싱된 데이터에 접근할 수 있도록 해줍니다. 이는 데이터베이스 드라이버 형태일 수도 있고, 모든 클라이언트에서 접근 가능한 엔드포인트 형태일 수도 있습니다.
데이터 소비 계층
이 계층은 데이터 레이크하우스의 데이터를 사용하는 주요 사용자인 분석 및 비즈니스 인텔리전스 도구로 구성됩니다. 여기에서 머신러닝 프로그램을 실행하여 저장하고 인덱싱한 데이터에서 유용한 정보를 얻을 수 있습니다.
이제 데이터 레이크하우스 구조에 대한 명확한 그림이 그려졌을 것입니다. 다음으로, 이러한 구조를 어떻게 구축하는지 살펴보겠습니다.
데이터 레이크하우스 구축 단계
데이터 레이크하우스를 구축하는 단계를 살펴보겠습니다. 기존 데이터 레이크나 웨어하우스가 있거나 처음부터 구축하든, 단계는 유사하게 유지됩니다.
- 요구 사항 식별: 저장할 데이터 유형과 목표로 하는 사용 사례를 정의합니다. 이는 머신러닝 모델, 비즈니스 보고, 또는 분석일 수 있습니다.
- 수집 파이프라인 생성: 데이터 수집 파이프라인은 데이터를 시스템으로 가져오는 역할을 합니다. 데이터 소스에 따라 Apache Kafka와 같은 메시징 버스를 사용하거나 API 엔드포인트를 노출할 수 있습니다.
- 스토리지 계층 구축: 기존 데이터 레이크가 있다면 이를 스토리지 계층으로 활용할 수 있습니다. 그렇지 않다면 AWS S3, HDFS, 또는 Delta Lake와 같은 다양한 옵션을 고려할 수 있습니다.
- 데이터 처리 적용: 비즈니스 요구 사항에 따라 데이터를 추출하고 변환합니다. Apache Spark와 같은 오픈 소스 도구를 사용하여 스토리지 계층에서 데이터를 수집하고 처리하는 주기적 작업을 실행할 수 있습니다.
- 메타데이터 관리 생성: 다양한 종류의 데이터와 속성을 추적하고 저장하여 필요할 때 쉽게 카탈로그화하고 검색할 수 있도록 합니다. 캐싱 계층을 생성할 수도 있습니다.
- 통합 옵션 제공: 기본 레이크하우스가 준비되면, 외부 도구가 데이터에 연결하고 접근할 수 있는 통합 후크를 제공해야 합니다. 이는 SQL 쿼리, 머신러닝 도구, 또는 비즈니스 인텔리전스 솔루션 등이 될 수 있습니다.
- 데이터 거버넌스 구현: 다양한 소스의 다양한 종류의 데이터로 작업하게 되므로, 접근 제어, 암호화, 감사를 포함한 데이터 거버넌스 정책을 수립해야 합니다. 이를 통해 데이터 품질, 일관성 및 규정 준수를 보장할 수 있습니다.
다음으로, 기존 데이터 관리 솔루션에서 데이터 레이크하우스로 마이그레이션하는 방법을 알아보겠습니다.
데이터 레이크하우스로 마이그레이션하는 단계
데이터 워크로드를 데이터 레이크하우스 솔루션으로 이전할 때 주의해야 할 몇 가지 단계가 있습니다. 계획을 잘 세우면 마지막 순간에 발생하는 문제를 피할 수 있습니다.
1단계: 데이터 분석
성공적인 마이그레이션을 위한 첫 번째이자 가장 중요한 단계 중 하나는 데이터 분석입니다. 적절한 분석을 통해 마이그레이션 범위를 설정하고, 필요한 추가 종속성을 파악할 수 있습니다. 환경과 마이그레이션할 항목에 대한 전체적인 그림을 확보하여 작업 우선순위를 더 잘 정할 수 있습니다.
2단계: 마이그레이션을 위한 데이터 준비
다음 단계는 데이터 준비입니다. 마이그레이션할 데이터와 필요한 지원 데이터 프레임워크를 준비해야 합니다. 레이크하우스에서 모든 데이터를 사용할 수 있을 때까지 기다리는 대신, 실제로 필요한 데이터 세트와 열을 미리 알면 시간과 리소스를 절약할 수 있습니다.
3단계: 데이터를 필요한 형식으로 변환
데이터 변환을 자동화할 수 있다면 최대한 활용해야 합니다. 데이터 레이크하우스로 마이그레이션할 때 데이터 변환은 복잡할 수 있지만, 대부분의 도구는 SQL 코드나 로우 코드 솔루션을 제공하여 쉽게 변환할 수 있습니다. Alchemist와 같은 도구를 활용할 수 있습니다.
4단계: 마이그레이션 후 데이터 유효성 검사
마이그레이션이 완료되면 데이터의 유효성을 검사해야 합니다. 검증 프로세스를 최대한 자동화하는 것이 좋습니다. 수동 검증은 시간이 많이 걸리고 지루할 수 있으므로 최후의 수단으로만 고려해야 합니다. 마이그레이션 후에도 비즈니스 프로세스와 데이터 작업에 문제가 없는지 확인하는 것이 중요합니다.
데이터 레이크하우스의 주요 특징
🔷 완벽한 데이터 관리: 데이터 관리 기능을 활용하여 데이터를 최대한 활용할 수 있습니다. 데이터 정리, ETL(추출-변환-로드) 프로세스, 스키마 적용 등이 포함됩니다. 분석 및 BI(비즈니스 인텔리전스) 도구에 사용할 데이터를 쉽게 준비할 수 있습니다.
🔷 개방형 저장소 형식: 데이터가 저장되는 형식은 개방적이고 표준화되어 있습니다. 다양한 소스에서 수집된 데이터는 유사한 형태로 저장되어, 즉시 사용할 수 있습니다. AVRO, ORC, Parquet 등의 형식을 지원하며, 표 형식의 데이터 형식도 지원합니다.
🔷 스토리지 분리: 컴퓨팅 리소스에서 스토리지를 분리할 수 있습니다. 이는 각각 별도의 클러스터를 사용함으로써 가능합니다. 따라서 필요에 따라 스토리지 용량을 독립적으로 확장할 수 있으며, 컴퓨팅 리소스를 불필요하게 변경할 필요가 없습니다.
🔷 데이터 스트리밍 지원: 실시간 데이터 스트림을 처리하여 데이터 기반 의사 결정을 내릴 수 있습니다. 데이터 레이크하우스는 표준 데이터 웨어하우스와 달리 실시간 데이터 수집을 지원합니다.
🔷 데이터 거버넌스: 강력한 거버넌스 및 감사 기능을 제공하여 데이터 무결성을 유지하는 데 특히 유용합니다.
🔷 데이터 비용 절감: 데이터 레이크하우스 운영 비용은 데이터 웨어하우스보다 상대적으로 적습니다. 클라우드 객체 스토리지를 저렴하게 이용할 수 있으며, 하이브리드 아키텍처도 지원하여 여러 데이터 스토리지 시스템을 유지 관리할 필요가 없습니다.
데이터 레이크 vs. 데이터 웨어하우스 vs. 데이터 레이크하우스
| 기능 | 데이터 레이크 | 데이터 웨어하우스 | 데이터 레이크하우스 |
| 데이터 스토리지 | 원시 또는 비정형 데이터 저장 | 처리된 데이터와 정형 데이터 저장 | 원시 데이터와 정형 데이터 모두 저장 |
| 데이터 스키마 | 고정 스키마가 없음 | 고정 스키마가 있음 | 통합을 위해 오픈 소스 스키마 사용 |
| 데이터 변환 | 데이터가 변환되지 않음 | 광범위한 ETL 필요 | ETL은 필요에 따라 수행됨 |
| ACID 준수 | ACID 준수 없음 | ACID 규정 준수 | ACID 준수 |
| 쿼리 성능 | 데이터가 비정형이므로 속도가 느림 | 정형 데이터로 인해 매우 빠름 | 반정형 데이터로 인해 속도가 빠름 |
| 비용 | 저장이 비용 효율적임 | 더 높은 저장소 및 쿼리 비용 | 저장 및 쿼리 비용이 균형을 이룸 |
| 데이터 거버넌스 | 신중한 거버넌스 필요 | 강력한 거버넌스 필요 | 거버넌스 조치 지원 |
| 실시간 분석 | 제한된 실시간 분석 | 제한된 실시간 시간 분석 | 실시간 분석 지원 |
| 사용 사례 | 데이터 저장, 탐색, ML 및 AI | BI를 사용한 보고 및 분석 | 머신러닝 및 분석 모두 |
결론
데이터 레이크하우스는 데이터 레이크와 데이터 웨어하우스의 장점을 결합하여 데이터 관리 및 분석에서 발생할 수 있는 주요 과제를 해결합니다.
이 문서에서는 레이크하우스의 특징과 아키텍처를 살펴보았습니다. 데이터 레이크하우스의 중요성은 구조화된 데이터와 구조화되지 않은 데이터를 모두 처리하고 저장, 쿼리 및 분석을 위한 통합 플랫폼을 제공하는 능력에서 분명히 드러납니다. 또한 ACID 규정을 준수합니다.
데이터 레이크하우스 구축 및 마이그레이션에 대한 단계를 따르면, 비용 효율적인 통합 데이터 관리 플랫폼의 이점을 누릴 수 있습니다. 최신 데이터 관리 환경을 이해하고, 데이터 기반 의사 결정, 분석, 그리고 비즈니스 성장을 추진하십시오.
다음으로, 데이터 복제에 대한 자세한 기사를 확인해 보십시오.