지난 몇 년간 Databricks에서는 많은 고객과 사용 사례에 걸쳐 독립적으로 등장한 새로운 데이터 관리 아키텍처인 lakehouse를 목격했습니다. 이 게시물에서는 이 새로운 아키텍처와 이전 접근 방식에 비해 갖는 장점을 설명합니다.
데이터 웨어하우스는 의사 결정 지원 및 비즈니스 인텔리전스 애플리케이션에서 오랜 역사 를 가지고 있습니다. 1980년대 후반에 처음 등장한 이래로 데이터 웨어하우스 기술은 계속해서 발전했으며, MPP 아키텍처를 통해 더 큰 규모의 데이터를 처리할 수 있는 시스템이 등장했습니다. 하지만 웨어하우스는 정형 데이터에 매우 유용했지만, 많은 현대 기업들은 비정형 데이터, 반정형 데이터, 그리고 다양성, 속도, 볼륨이 높은 데이터를 처리해야 합니다. 데이터 웨어하우스는 이러한 여러 사용 사례에 적합하지 않으며, 확실히 가장 비용 효율적이지도 않습니다.
기업이 다양한 소스에서 대량의 데이터를 수집하기 시작하면서 아키텍트는 다양한 분석 제품 및 워크로드에 대한 데이터를 보관할 단일 시스템을 구상하기 시작했습니다. 약 10년 전 기업들은 다양한 형식의 가공되지 않은 데이터용 리포지토리인 데이터 레이크 를 구축하기 시작했습니다. 데이터 레이크는 데이터를 저장하는 데는 적합하지만 몇 가지 중요한 기능이 없습니다. 트랜잭션을 지원하지 않고 데이터 품질을 보장하지 않으며, 일관성/격리성이 부족하여 추가 및 읽기, 배치 및 스트리밍 작업을 혼합하는 것이 거의 불가능합니다. 이러한 이유로 데이터 레이크에 대한 많은 기대가 실현되지 않았으며, 많은 경우 데이터 웨어하우스의 장점까지 잃는 결과로 이어졌습니다.
유연한 고성능 시스템에 대한 필요성은 줄어들지 않았습니다. 기업은 SQL 분석, 실시간 모니터링, Data Science, machine learning을 비롯한 다양한 데이터 애플리케이션을 위한 시스템을 필요로 합니다. 최근 AI 발전의 대부분은 비정형 데이터(텍스트, 이미지, 동영상, 오디오)를 처리하는 더 나은 모델에서 이루어졌지만, 이는 바로 데이터 웨어하우스에 최적화되지 않은 유형의 데이터입니다. 일반적인 접근 방식은 데이터 레이크, 여러 데이터 웨어하우스, 그리고 스트리밍, 시계열, 그래프, 이미지 데이터베이스와 같은 기타 전문 시스템 등 여러 시스템을 사용하는 것입니다. 여러 시스템을 사용하면 복잡성이 증가하고, 더 중요하게는 데이터 전문가가 여러 시스템 간에 데이터를 이동하거나 복사해야 하므로 필연적으로 지연이 발생합니다.
데이터 레이크의 한계를 해결하는 새로운 시스템이 등장하기 시작했습니다. lakehouse는 데이터 레이크와 데이터 웨어하우스의 최고 장점들을 결합한 새로운 개방형 아키텍처입니다. 레이크하우스는 데이터 웨어하우스와 유사한 데이터 구조 및 데이터 관리 기능을 저렴한 비용의 개방형 클라우드 스토리지에 직접 구현하는 새로운 시스템 설계를 통해 구현됩니다. 객체 저장소 형태의 저렴하고 신뢰도 높은 스토리지를 사용할 수 있게 된 현대 세계에서 데이터 웨어하우스를 다시 설계해야 한다면 바로 이런 모습일 것입니다.
레이크하우스는 다음과 같은 주요 특징을 가집니다.
이것이 레이크하우스의 주요 특징입니다. 엔터프라이즈급 시스템에는 추가 기능이 필요합니다. 보안 및 액세스 제어 도구는 기본 요구 사항입니다. 감사, 보존 및 데이터 리니지를 포함한 데이터 거버넌스 기능은 특히 최근 개인정보 보호 규정으로 인해 필수가 되었습니다. 데이터 카탈로그 및 데이터 사용량 메트릭과 같은 데이터 탐색 도구도 필요합니다. 레이크하우스를 사용하면 이러한 엔터프라이즈 기능을 단일 시스템에 대해서만 구현, 테스트 및 관리하면 됩니다.
레이크하우스의 내부 작동 방식에 대한 전체 연구 논문을 읽어보세요.
Databricks Lakehouse Platform 은 레이크하우스의 아키텍처 특징을 가지고 있습니다. Azure Databricks와 통합 되는 Microsoft의 Azure Synapse Analytics 서비스는 유사한 레이크하우스 패턴을 가능하게 합니다. BigQuery 및 Redshift Spectrum 과 같은 다른 관리형 서비스는 위에 나열된 레이크하우스 기능 중 일부를 가지고 있지만, 주로 BI 및 기타 SQL 애플리케이션에 초점을 맞춘 예입니다. 자체 시스템을 구축하고 구현하려는 회사는 lakehouse를 구축하는 데 적합한 오픈 소스 파일 형식(Delta Lake, Apache Iceberg, Apache Hudi)에 액세스할 수 있습니다.
데이터 레이크와 데이터 웨어하우스를 단일 시스템으로 통합하면 데이터 팀이 여러 시스템에 액세스할 필요 없이 데이터를 사용할 수 있으므로 작업 속도가 빨라집니다. 이러한 초기 레이크하우스의 SQL 지원 및 BI 도구와의 통합 수준은 일반적으로 대부분의 엔터프라이즈 데 이터 웨어하우스에 충분합니다. 구체화된 뷰와 저장 프로시저를 사용할 수 있지만, 사용자는 기존 데이터 웨어하우스에서 사용하던 것과 동일하지는 않은 다른 메커니즘을 사용해야 할 수 있습니다. 후자는 구형 상용 데이터 웨어하우스와 거의 동일한 시맨틱을 구현하는 시스템을 필요로 하는 "리프트 앤 시프트 시나리오"에 특히 중요합니다.
다른 유형의 데이터 애플리케이션에 대한 지원은 어떻습니까? 레이크하우스 사용자는 Data Science 및 machine learning과 같은 비 BI 워크로드를 위해 (Spark, Python, R, 머신러닝 라이브러리)와 같은 다양한 표준 도구를 사용할 수 있습니다. 데이터 탐색 및 정제는 많은 분석 및 데이터 과학 애플리케이션의 표준입니다. Delta Lake는 사용자가 레이크하우스의 데이터 품질을 사용 준비가 될 때까지 점진적으로 개선할 수 있도록 설계되었습니다.
기술적 구성 요소에 대한 참고 사항입니다. 스토리지 계층에는 분산 파일 시스템을 사용할 수 있지만, 레이크하우스에서는 객체 저장소가 더 일반적으로 사용됩니다. 객체 저장소는 저렴한 비용의 고가용성 스토리지를 제공하며, 대규모 병렬 읽기에 탁월합니다. 이는 현대 데이터 웨어하우스의 필수 요구 사항입니다.
레이크하우스는 머신러닝이 모든 산업을 뒤흔들 태세를 갖춘 시대에 엔터프라이즈 데이터 인프라를 획기적으로 단순화하고 혁신을 가속화하는 새로운 데이터 관리 아키텍처입니다. 과거에는 기업의 제품이나 의사 결정에 사용 되는 데이터 대부분이 운영 시스템의 정형 데이터였지만, 오늘날에는 많은 제품이 컴퓨터 비전 및 음성 모델, 텍스트 마이닝 등의 형태로 AI를 통합합니다. AI에 데이터 레이크 대신 레이크하우스를 사용하는 이유는 무엇인가요? 레이크하우스는 비정형 데이터에도 필요한 데이터 버전 관리, 거버넌스, 보안 및 ACID 속성을 제공합니다.
현재의 레이크하우스는 비용을 절감하지만, 성능은 수년간의 투자와 실제 배포 경험을 축적한 특화 시스템(예: 데이터 웨어하우스)에 비해 여전히 뒤처질 수 있습니다. 사용자는 다른 도구보다 특정 도구(BI 도구, IDEs, 노트북)를 선호할 수 있으므로 레이크하우스 또한 다양한 페르소나의 관심을 끌 수 있도록 UX와 인기 있는 도구에 대한 커넥터를 개선해야 합니다. 이러한 문제와 기타 문제는 기술이 계속 성숙하고 발전하면서 해결될 것입니다. 시간이 지남에 따라 레이크하우스는 더 단순하고, 비용 효율적이며, 다양한 데이터 애플리케이션을 더 잘 지원한다는 핵심 속성을 유지하면서 이러한 격차를 해소할 것입니다.
자세한 내용은 데이터 레이크하우스 관련 FAQ 를 참조하세요.
