상세 컨텐츠

본문 제목

[빅데이터] 데이터웨어하우스 - 데이터레이크 - 데이터레이크하우스 개념

IT_리뷰_일상

by Beomi 2023. 7. 4. 16:01

본문

728x90

데이터웨어하우스 ? 데이터레이크 ? 데이터레이크하우스?

과거 데이터 활용이라고 불리우는것은 대부분이 테이블 형태의 구조를 가진 정형데이터를 의미 하였다. 

방대한 양의 정형데이터를 정규화 과정을 거쳐 리포팅을 위해 구축한 시스템을 정보계시스템이라 하며 정보계시스템은 데이터웨어하우스 라고 불리우게 되었다.

데이터웨어하우스에는 집계 등 쿼리 연산을 빠르게 하기 위해 특화된 데이터베이스가 필요하게 되었는데, 이러한 데이터베이스를 일컬어 컬럼 기반의 데이터 베이스라고 한다.

 

일반적으로 트랜잭션 베이스의 정형 데이터를 입력하는 데이터베이스를 로우 기반의 데이터베이스라고 하며(ex: Oracle사의 OracleDB, IBM사의 DB2, Tmax사의 Tibero, PostgreSQL, Mysql, MSsql...etc) 

집계를 위한 특화된 컬럼 기반의 데이터베이스는 Vertica, GreenPlum, Sybase, OracleEXA 등이 있다.(엄밀하게 말하면 OracleEXA Database의 경우 컬럼기반의 데이터베이스는 아니나, 성능이 월등하여 데이터웨어하우스의 중심 데이터베이스 역할을 하므로 같이 분류 한다.)

시대가 발전하게 되고, SNS, 포털 등에서 발생되는 방대한 양의 비정형/반정형 데이터, 더 나아가서는 실시간성 데이터와 IoT 기기에서 발생되는 센서 데이터까지, 

데이터는 그 형태가 다양하게 발전하게 되었고,

이러한 다양한 형태의 데이터는 그 양또한 기하급수적으로 방대하게 증가 하게 되었다.

 

많은 기업에서는 기업에서 발생되어 지는 비즈니스 데이터(정형/비정형/반정형)를 처음부터 잘 수집하고 분석할 수 있으면 좋겠지만, 

대다수의 기업에서는

다양한 형태의 데이터를 수집할 수집 도구의 부재,

다양한 형태의 데이터를 분석할 분석 도구의 부재,

방대한 양의 데이터를 저장할 저장소의 비용(cost)의 문제로, 

전체 비즈니스데이터의 양 중 80%에 해당하는 데이터가

기업에서 발생된 비즈니스 데이터들을 모두 활용하지 못하고 버려지게 되는 다크데이터(DarkData)로 전락하고 만다고 가트너에서는 이야기 하고 있다.

 이러한 버려지는 데이터를 잘 수집하고, 체계에 맞게 분석을 하고자 하는 목적으로 나오게 된것이 데이터레이크의 개념으로, 

초창기의 데이터레이크의 아키텍처에서는 Hadoop이 데이터레이크 표준으로 자리잡게 되었다.

 

Hadoop은 그 기반이 되는 HDFS(Hadoop Distribute File System) 저장소를 기반으로 다양한 EcoSystem을 연동하여 반정형/비정형데이터를 분석할수 있는 환경으로 쉽게 설명 할 수 있다.

 

위의 그림에서와 마찬가지로, 

많은 기업은 정형데이터 분석을 위해 Enterprise DataWarehouse(EDW) 정보계 시스템을 구축해 놓았는데,

이런 DW 환경은 비정형/반정형 데이터 분석에는 적합하지 않았다. (DW환경 자체가 Resource 비용이 많이 들고, 장비 또한 값비싸기 때문에 대량의 반정형/비정형 데이터 저장 및 분석에는 적합하지 않음)

 

따라서 비정형/반정형 데이터 분석을 위해 Hadoop 분석 환경을 구축하였고, 기업에서 발생되는 다양한 형태의 file성 데이터들을 저장하기 위해 SAN/NAS 스토리지까지 도입한 아키텍처가 

초창기 데이터레이크 아키텍처라 말할 수 있다.

 

하지만 , 이런 초창기 데이터레이크 아키텍처를 사용함에 있어, 점차적으로 단점들이 나오게 되는데, 그 단점은 아래와 같다.

 

1. 너무나 다양한 저장소로 인한 데이터 사일로 발생

2. 데이터간의 연관관계 도출 및 계보(Data Lineage)도출이 어려움

3. Hadoop에 대한 dependency

4. Hadoop Ecosystem으로 이루어진 특화된 script에 대한 유지보수

5. 데이터 폭증에 따른 hadoop data node 증설 비용 이슈

 

이러한 문제점을 해결하고자,

비교적 비용 효율적인 Object Storage를 활용한 단일저장소 기반의 데이터레이크 아키텍처가 나오게 되었다.

  

데이터의 형태를 구분짓지 않고, object 그대로 담을수 있는 Object Storage를 데이터레이크 1차 저장소로 구현하여

정형/비정형/반정형 데이터를 저장 한뒤, 목적에 맞게 분석 도구들이 유기적으로 연동되어 비즈니스 insight를 도출하는 형태로 차세대 데이터레이크 아키텍처가 수립되었는데,

 

이러한 ObjectStorage 기반의 데이터레이크 아키텍처가 수립될수 있었던 가장 큰 역할은, 

Public Cloud의 대표주자인, AWS(Amazon Web Service)의 역할이 매우 컸다고 할수 있다.

 

AWS는 public cloud의 데이터레이크 저장소로 S3 저장소를 출시하면서 S3 API를 개발 하였고, 많은 AWS 상의 Public Cloud Service(SaaS)들이 S3API를 통해 S3 저장소와 연계됨에 따라,

많은 스토리지 Vendor 사들도 S3API를 호환하는 ObjectStorage를 출시하게 되었으며,

결과적으로 S3API를 지원하는 S3 Compatible Storage가 차세대 데이터레이크 아키텍처의 1차 저장소로 자리잡게 되었다.

 

이런 데이터레이크 환경에서 직접적으로 쿼리를 통해 집계등 insight를 얻을수 있으면 좋지 않을까? 라는 관점으로 나온것이 데이터레이크하우스의 개념이라고 쉽게 설명할 수 있을 것이다. 

레이크하우스는 데이터웨어하우스 + 데이터레이크가 합쳐진 의미라고 말할수 있으며

ObjectStorage에 적재된 정형/반정형/비정형 데이터를 직접적으로 쿼리 할수 있는 아키텍처라고 말할 수 있다.

이런 레이크하우스 개념이 나올수 있는 이유는,

데이터의 스키마와 같은 메타데이터를 관리해주는 솔루션의 등장이라 말할 수 있으며,

데이터브릭스의 델타레이크,

아파치 재단의 아이스 버그와 같은,

스키마와 메타데이터를 관리해주는 솔루션을 통해, 

데이터레이크의 데이터를 직접적으로 쿼리하여 사용할수 있는 레이크 하우스의 개념이 새로운 패러다임으로 나오게 되었다고 할수 있다.

 

 

한단계 더 나아가 많은 기업에서는 방대하게 쌓인 데이터레이크의 데이터를 분석 하기 위해

더 빠른 연산을 하기 위한 연산 도구들을 도입하기 시작하였는데

이러한 환경이 HPC(High Performance Computing)환경과 GPU기반의 분석환경이라 말할 수 있다.

이런 HPC / GPU환경에서는 주로, AI 분석과 딥러닝 등 빠른 행렬처리 연산이 필요한 경우에 많이 사용되며,

요즘에는 일반 데이터베이스가 아닌, GPU 기반의 데이터베이스인 GPU DB 까지 나오게 되어, 하루가 다르게 데이터 분석을 위한 환경을 발전 하고 있다고 말할 수 있다.

 

이런 고성능의 데이터 분석을 위한 HPC환경에서는

데이터레이크 저장소의 성능 또한 중요하게 되었다.

많은 기업은 방대한 양의 데이터 분석을 위해 고성능의 분석 환경은 도입하여 구성 하였으나,

데이터를 Read 하고 Write하는데 저장소의 성능 저하로 인해, 고성능 분석환경의 성능을 100% 활용하지 못하는 상태가 되게 되었다.

그렇기 때문에 

차세대 고성능 데이터레이크 아키텍처라고 하는것은,

고성능 병렬 분산 스토리지와 Object Storage가 결합된 형태를 갖추어야 진정한 고성능 데이터레이크 아키텍처의 표준이라 말할 수 있게 되었다.

 

물론,

향후에는 또 어떤 형태의 아키텍처와 개념이 나올지는 누구도 예측 할 수 없다.

다만, 

기업에서 발생되는 데이터를 얼마만큼 효율적으로 잘 수집하고, 비용 효율적으로 관리 할수 있는지, 확장(scale out)과 새로운 분석 환경과의 연계 여부에 따라 기업의 데이터 활용 범위는 무궁무진 해질것으로 생각된다. 

728x90

관련글 더보기