본문 바로가기
Database

[데이터 레이크하우스] Data Lakehouse

by 알 수 없는 사용자 2023. 6. 19.

베하~ 수 지 타 산 입니다

오늘은 특별히 AWS가 아닌 다른 내용으로 찾아왔어요

요즘 가장 핫하지만 접하기 어려운 

데이터 브릭스와 스노우플레이크에 대해 공부하기 전에

데이터레이크하우스에 대해 살펴볼게요

팔로팔로팔로미

 


 

먼저 데이터레이크와 데이터웨어하우스에 대해 알아볼까요 ~ ?

 

 

 

What is ?  

1초에 수십억개 혹은 그 이상의 데이터가 발생하는 요즘, 이 데이터를 처리하는 방법 중에 데이터레이크와 데이터웨어하우스 라는 개념이 있습니다. 

 

간단하게 데이터레이크는 특정한 규칙이나 목적 없이 데이터를 저장해두는 방식을 의미하고, 데이터웨어하우스는 데이터를 목적에 맞게 분류하고 정형화된 데이터 형태로 보관하는 방법을 의미합니다.

 

데이터 웨어하우스는 여러 곳에 흩어진 데이터를 목적에 맞게 찾고 모아서 하나로 통합하여 BI나 분석에 이용할 수 있는 효과적인 데이터 관리 방법론 입니다. 하지만, 데이터의 양과 종류가 기하급수적으로 늘어남에 따라 데이터 웨어하우스로는 대응하기가 어려웠고, 많은 시간을 들여 구축한 데이터 웨어하우스의 효용 가치가 빨리 떨어지는 문제가 발생했습니다. 

 

그래서, 기업들이 데이터의 종류를 가리지 않고 원시 데이터를 그대로 저장하는 데이터 레이크를 구축하기 시작했습니다. 저장하는 과정에서 별다른 처리를 하지 않기 때문에 빠르게 증가하는 데이터를 신속하게 담아둘 수 있습니다. 이때 스키마를 지정하지 않고 우선 모아두었다가, 해당 데이터가 필요한 경우에만 스키마를 정의하므로 매우 효율적인 개념으로 떠올랐습니다.

 

하지만, 데이터 레이크 역시 빠르게 생성되는 데이터를 수집하는데 유리하지만 원천 데이터를 그대로 저장해둔 것이다 보니 이를 활용하는데 많은 시간과 기술이 필요하게 되었죠. 

 

결론적으로, 데이터 레이크는 빠르게 늘어나는 데이터를 수집하기에는 좋지만 무분별하게 쌓아두기만한 데이터를 활용하는데 어려움이 있었고 데이터 웨어하우스는 활용할 때는 편하지만 데이터를 특정 규칙이나 목적에 따라 저장되게 하기 위한 공수가 많이 들고 이러한 공수에 비해 그 가치가 빨리 떨어진다는 문제가 있었죠. 데이터가 너무 많이 발생하기 때문에요.  

 

이러한 이유들 때문에 나온 개념이 데이터 레이크하우스 입니다.

 

 

 

Data Lakehouse ?

데이터 레이크하우스는 데이터 웨어하우스와 데이터 레이크 각각의 문제를 보완하기 위해 만들어진 개념입니다. 데이터 레이크 계층 위에 데이터 웨어하우스 역할을 하는 계층을 통합하는 것입니다. 데이터 웨어하우스가 가진 고품질의 데이터 관리와 구조화 기능을 구현하지만, 이를 별도의 바로 값비싼 데이터 웨어하우스 스토리지에서가 아닌 데이터 레이크의 유연하고 저렴한 스토리지 위에서 데이터 웨어하우스를 실현한다는 점이 특징입니다.

 

 

 

 

보통 AWS, AZURE, GCP와 같은 클라우드의 데이터 레이크 계층에서 새로운 데이터 레이크 계층으로 데이터를 가져옵니다. 그대로 데이터 레이크에 저장되기 때문에 저장 과정에서 용이함이나 저렴한 비용의 장점은 그대로 가져갈 수 있습니다.

또 다른 곳에 데이터를 복제하지 않고도 원천 데이터를 bi 도구와 연결하거나 활용할 수 있기에, 데이터 웨어하우스의 단점이었던 데이터 중복 저장이나 최신화가 어렵다는 문제가 해결할 수 있습니다. 데이터의 정합성과 일관성이 유지되는 데이터 웨어하우스의 장점과 관련된 ACID트랜잭션 지원 및 주요 스키마의 지원도 가능하게 됩니다.

 

심지어 정형 데이터에만 적용되던 ACID 트랜잭션이나 별도의 제품으로 구현되던 데이터 계보관리 기능을 비정형 데이터에도 모두 적용할 수 있게 됩니다. 데이터 레이크에 파일 수준으로 저장되던 비정형 데이터들을 아파치 아이스버그(Apache Iceberg)나 델타레이크(Delta lake) 등을 이용해 논리적 테이블 수준으로 변환해 관리할 수 있으므로, 비정형 데이터를 활용하는 머신러닝 프로젝트도 손쉽게 진행할 수 있습니다. 

오늘날 많은 빅데이터 프로젝트에서는 컬럼 기반 개방형 데이터 포맷인 파케이(Apache Parquet)를 사용하고 있는데, 특정 언어에 종속되지 않고 대부분의 분산형 쿼리 엔진이나 ETL 도구들이 파케이 포맷을 지원하기 때문에 손쉽게 데이터를 내보내고 공유할 수 있다. 데이터 레이크하우스는 데이터 포맷이나 API 등에서 오픈소스 기반의 개방형 아키텍처로 구축됩니다.  따라서 상대적으로 단일 기업에 친화적이고 일견 폐쇄적으로 구성되는 데이터 웨어하우스에 비해 보다 다양한 기능들을 효과적으로 사용하고 있습니다.

 

 

 

 


 

오늘은 데이터 웨어하우스, 데이터 레이크,

데이터 레이크하우스에 대해 공부했습니다.

세가지 개념이 어떤 과정에 의해 발생하였는지 잘 살펴보신다면

이해가 더 빨리 될 것 같아요

그럼 다음에는 데이터 브릭스와 스노우플레이크로 돌아올게요

'Database' 카테고리의 다른 글

Redis를 활용한 Celery Executor 설정  (0) 2023.06.21
Snowflake VS Databricks  (0) 2023.06.21
Composer란  (0) 2023.06.08
[Airflow] Airflow 설치 및 DAG 생성하기  (0) 2023.06.07
[Airflow] MetaDB와 Executor 변경 실습  (0) 2023.05.31

댓글