본문 바로가기
Data Engineering/Databricks Lakehouse

Lakehouse란 무엇인가?

by Steve-Lee 2021. 6. 12.

 

본 글은 databricks 공식 blog의 What is Lakehouse를 번역한 글입니다.

 

안녕하세요 Steve-Lee입니다.

최근 사내에서 Databricks 교육 기회를 갖게 되어 Databricks의 다양한 서비스들을 학습하고 있습니다.

오늘은 데이터 레이크와 데이터 웨어하우스의 장점을 조합한 Databricks Lakehouse에 대해 알아보는 시간을 가져보도록 하겠습니다.

 

Intro


기업은 10년 전 다양한 형식의 raw 데이터를 저장할 수 있는 데이터 레이크를 구축하기 시작했다. 이는 데이터 저장에 적합하지만 몇 가지 부족한 점이 있었다

 

  • 트랜잭션을 지원하지 않는다 (do not support transactions)
  • 데이터 품질을 적용하지 않는다 (do not enforce data quality)
  • 일관성/격리가 부족하여 추가 및 읽기, 배치 및 스트리밍 작업을 혼합하는 것이 거의 불가능하다 (lack of consistency / isolation makes it almost impossible to mix appends and reads)

 

한편 유연한 고성능 시스템에 대한 필요성은 줄어들지 않았습니다. 기업은 SQL 분석, 실시간 모니터링, 데이터 과학 및 기계 학습을 포함한 다양한 데이터 애플리케이션을 위한 시스템을 필요로 합니다

 

The need for a flexible, high-performance system hasn’t abated. Companies require systems for diverse data applications including SQL analytics, real-time monitoring, data science, and machine learning. Most of the recent advances in AI have been in better models to process unstructured data (text, images, video, audio), but these are precisely the types of data that a data warehouse is not optimized for. A common approach is to use multiple systems – a data lake, several data warehouses, and other specialized systems such as streaming, time-series, graph, and image databases. Having a multitude of systems introduces complexity and more importantly, introduces delay as data professionals invariably need to move or copy data between different systems.

  • 유연한 고성능 시스템이 필요성
    • 기업들은 SQL 분석, 실시간 모니터링, 데이터 과학 그리고 머신러닝을 위한 다양한 애플리케이션용 시스템을 필요로 한다
    • 특히 최근 텍스트, 이미지, 비디오, 오디오 등 비정형 데이터처리 모델의 성능이 높은 발전을 이뤘지만 비정형 데이터에 최적화된 데이터 웨어하우스는 아쉽게도 존재하지 않았다
    • 이에 일반적인 접근 방식은 data lake, data warehouse, streming, time-series, graph, image 등 데이터 베이스에 최적화된 시스템을 함께 사용하는 것이지만 이 경우 복잡도가 증가하는 문제가 있다
    • 더욱이 데이터 전문가가 항상 서로 다른 시스템간에 데이터를 이동하거나 복사해야 하기 때문에 지연이 발생합니다.

 

What is Lake House?


레이크 하우스 란?

이미지 출처: https://www.techzine.eu/blogs

 

데이터 레이크의 한계해결하는 새로운 시스템이 등장하기 시작했습니다.

레이크 하우스는 데이터 레이크와 데이터웨어 하우스의 최고의 요소를 결합한 새로운 개방형 아키텍처입니다.

레이크 하우스는 새로운 오픈, 스탠다드 시스템 디자인으로 가능하게 되었습니다. 데이터 저장소에 사용되는 저비용 스토리지의 종류에 직접 데이터 웨어하우스와 유사한 데이터 구조 및 데이터 관리 기능을 구현합니다.

이제 저렴하고 신뢰성이 높은 스토리지(객체 저장소의 형태로)를 사용할 수 있게 된 현대 사회에서 데이터 웨어하우스를 재설계해야 한다면 이러한 이점을 누릴 수 있습니다. 

 

레이크 하우스의 다양한 기능들

  • Transaction support
  • Schema enforcement and governance
  • BI support
  • Storage is decoupled from compute
  • Openness
  • Support for diverse data types ranging from unstructured to structured data
  • Support for diverse data types ranging from unstructured to structured data
  • Support for diverse workloads
  • End-to-end streaming

 

Some early examples


  • Databricks 플랫폼은 레이크 하우스의 architectural feature(???)을 가지고 있습니다.
  • Azure Databricks와 통합 되는 Microsoft의 Azure Synapse Analytics 서비스는 유사한 레이크 하우스 패턴을 지원합니다.
  • BigQuery 및 Redshift Spectrum과 같은 다른 관리형 서비스에는 위에 나열된 Lakehouse 기능 중 일부가 있지만 주로 BI 및 기타 SQL 애플리케이션에 중점을 둔 예입니다.
  • 자체 시스템을 구축하고 구현하려는 회사는 레이크 하우스 구축에 적합한 오픈 소스 파일 형식 ( Delta Lake , Apache Iceberg , Apache Hudi )에 액세스 할 수 있습니다.

 

BI에서 AI로(From BI to AI)


정리하면 Lakehouse머신러닝 시대에 엔터프라이즈 데이터 인프라를 근본적으로 단순화하고 혁신을 가속화하는 새로운 데이터 관리 아키텍처입니다.

과거에는 회사의 제품 또는 의사 결정에 사용된 대부분의 데이터가 운영 시스템의 구조화된 데이터(structured data) 였지만 오늘날 많은 제품은 컴퓨터 비전 및 음성 모델, 텍스트 마이닝 등의 형태로 AI를 통합합니다.

 

그렇다면 AI에 데이터 레이크 대신 레이크 하우스를 사용하는 이유는 무엇일까요?

 

Lakehouse는 구조화되지 않은 데이터에도 필요한 데이터 버전 관리, 거버넌스, 보안 및 ACID 속성을 제공합니다.

 

Wrap up


지금까지 Databricks의 Lakehouse에 대해 알아보았습니다.

요약하면 Lakehouse를 다음과 같이 정리할 수 있다고 생각합니다.

  • 데이터 레이크의 한계를 해결하기 위해 등장한 유연한 고성능 시스템이다
  • 특히 인공지능 시대에  정형화된 구조적 데이터(structured data) 외에도 많이 사용되는 텍스트, 이미지, 오디오 등 비정형 데이터에 최적화된 데이터 웨어하우스의 필요성을 충족시켜줄 수 있는 서비스이다
  • 다음과 같은 다양한 기능들이 있다
    • Transaction support
    • Schema enforcement and governance
    • BI support
    • Storage is decoupled from compute
    • Openness
    • Support for diverse data types ranging from unstructured to structured data
    • Support for diverse data types ranging from unstructured to structured data
    • Support for diverse workloads
    • End-to-end streaming
  • 머신러닝 시대에 엔터프라이즈 데이터 인프라를 근본적으로 단순화하고 혁신을 가속화하는 새로운 데이터 관리 아키텍처이다
  • 이 외에도 데이터 버전 관리, 거버넌스, 보안 및 ACID 속성을 제공한다

 


앞으로 엔터프라이즈 데이터 비즈니스를 위한 데이터 엔지니어링, 데이터 Analytics, AI/ML, MLOps 등 다양한 주제의 글로 찾아뵙도록 하겠습니다. 

 

감사합니다.

Steve-Lee였습니다.

댓글