클라우드 DW 선택 방법 및 주요 솔루션

클라우드 DW 선택 방법 및 주요 솔루션

이 글은 IDG의 아티클을 전재하여 제공합니다.
[원문보기] : https://www.itworld.co.kr/insider/

엔터프라이즈 데이터 웨어하우스(EDW)는 전사적으로 모든 역사적 데이터를 저장하는 통합 데이터베이스로 분석에 최적화돼 있다. 최근, 데이터 웨어하우스를 구축하는 기업은 온프레미스보다 클라우드에 데이터 웨어하우스를 구축하는 경우가 많다. 또한, 전통적인 데이터 웨어하우스 대신 쿼리를 지원하는 데이터 레이크를 활용한다. 이밖에 역사적 데이터와 스트리밍 라이브 데이터의 결합 여부도 EDW 프로젝트에서 중요한 결정 사항이다.

ⓒ Getty Images Bank

데이터 웨어하우스(Data warehouse)는 일반적으로 역사적 데이터를 저장하기 위해 2개 이상의 데이터 소스로 만든 분석(관계형) 데이터베이스다. 페타바이트급까지 크기가 커지기도 한다. 데이터 웨어하우스는 복잡한 쿼리를 실행시키고 보고서를 생성하는 상당한 컴퓨팅 및 메모리 리소스를 갖춘 경우가 많으며, 종종 비즈니스 인텔리전스(BI) 시스템과 머신러닝의 데이터 소스 기능을 한다.

트랜잭션 운영 데이터베이스의 쓰기 처리량 요건은 생성할 수 있는 인덱스의 종류와 수를 제한한다(인덱스가 많을 수록 추가되는 레코드당 쓰기와 업데이트가 많아지며 경합이 증가할 수 있음). 이로 인해 운영 데이터베이스에 대한 분석 쿼리가 느려진다. 데이터를 데이터 웨어하우스로 내보낸 후, 별개 OLTP(Online Transaction Processing) 데이터베이스의 쓰기 성능에 영향을 주지 않고 상당히 좋은 분석 쿼리 성능으로 데이터 웨어하우스에서 필요한 모든 것을 인덱스 처리할 수 있다.

데이터 마트에는 특정 비즈니스 라인을 대상으로 한 데이터가 포함돼 있다. 데이터 마트는 데이터 웨어하우스에 종속적일 수도, (운영 데이터베이스나 외부 소스에서 가져오는 형태로) 독립적일 수도 있다. 또는 둘이 혼합될 수도 있다.

자체 형식으로 데이터 파일을 저장하는 데이터 레이크는 ‘읽기 스키마(Schema on read)’다. 레이크에서 데이터를 읽는 애플리케이션은 데이터에 독자적인 유형과 관계를 적용해야 한다는 의미이다. 반면 전통적인 데이터 웨어하우스는 ‘쓰기 스키마(Schema on write)’다. 데이터 유형과 인덱스, 관계가 데이터 웨어하우스에 저장된 대로 데이터에 적용된다.

현대적인 데이터 웨어하우스는 구조화된 데이터, 반구조화 된 데이터를 처리하고 동시에 쿼리할 수 있는 경우가 많다. 또한, 역사적 데이터와 스트리밍 된 최근 데이터를 동시에 쿼리할 수 있다.

클라우드 데이터 웨어하우스 vs. 온프레미스 데이터 웨어하우스

기업은 온프레미스, 클라우드, 또는 하이브리드로 데이터 웨어하우스를 구현할 수 있다. 과거 데이터 웨어하우스는 항상 온프레미스였다. 그러나 온프레미스 서버의 확장성 부족과 자본 비용이 문제가 되자, 관련 업체가 데이터 웨어하우스 어플라이언스를 제공하기 시작하면서 온프레미스 EDW 도입이 늘어났다. 다시 지금은 데이터 웨어하우스의 일부나 전부를 클라우드로 옮기는 추세다. 클라우드 데이터 웨어하우스의 확장성 이점으로 활용하기 위해서다. 또 다른 클라우드 서비스와 쉽게 연결할 수 있는 것도 장점이다.

클라우드에 페타바이트급 데이터를 집어넣을 때의 단점은 운영 비용이다. 클라우드 데이터 스토리지 비용, 클라우드 데이터 웨어하우스 컴퓨팅 및 메모리 리소스 비용 등이 모두 여기에 포함된다. 클라우드에 페타바이트에 달하는 데이터를 업로드하는 시간을 우려할 수도 있는데, 대형 클라우드 업체는 고용량 디스크 기반 데이터 전송 서비스를 제공한다.

속도 및 확장성 관련 요건

데이터 웨어하우스는 분석 쿼리를 신속히 실행할 수 있도록 설계된다. 과거 온프레미스 데이터 웨어하우스의 경우 역사적 데이터에 토대를 둔 여러 쿼리 보고에 통상 하루 이상이 소요됐다. 반면 현대적인 클라우드 데이터 웨어하우스는 성능이 더 빠르다. 오늘날 애널리스트는 역사적 데이터에 더해 스트리밍 데이터를 기반으로 쌍방향 쿼리를 실행하고, 더 많은 쿼리로 더 세밀한 분석을 해야 하기 때문이다.

클라우드 데이터 웨어하우스는 필요에 따라 CPU 용량을 확장할 수 있도록 설계됐다. 따라서 페타바이트 용량의 데이터를 대상으로 한 쌍방향 쿼리 반응 시간도 몇 분에 불과하다. 일부 클라우드 데이터 웨어하우스는 쿼리를 다시 시작하지 않고 쿼리를 실행하는 동안 CPU 리소스를 늘리고, 이후 데이터 웨어하우스가 유휴 상태일 때 이를 다시 줄인다. 이와 같은 공격적인 확장과 축소를 통해 총비용을 낮추면서 높은 성능을 누릴 수 있다.

열 기반 vs. 행 기반 스토리지

행 지향 데이터베이스는 레코드를 기준으로 데이터를 정렬하며, 일반적으로 1개의 데이터베이스 행을 1개 스토리지 블록에 저장한다. 전체 행을 1번의 읽기 작업으로 검색할 수 있다. 행 지향 데이터베이스는 행 읽기, 쓰기에 효율적이다. 대부분의 트랜잭션 데이터베이스는 행 지향이며, b-트리 인덱스를 사용한다.

열 지향 데이터베이스는 필드를 기준으로 데이터를 정렬하고, 필드와 관련된 모든 데이터를 함께 저장한다. 열 기반 데이터베이스는 열 읽기 및 연산에 효율적이다. 대부분 데이터 웨어하우스는 열로 데이터를 저장하고, 데이터를 많이 압축하며, LSM-트리 인덱스를 사용한다. 읽기에 최적화된 열 지향 데이터베이스인 C-스토어를 설명한 첫 번째 논문은 2005년에 발표됐다. C-스토어 논문은 아마존 레드시프트(Amazon Redshift), 구글 빅쿼리(Google BigQuery), 스노우플레이크(Snowflake) 등 현대적인 열 저장 데이터 웨어하우스의 토대가 됐다.

일부 데이터베이스는 행과 열 스토리지(저장소)를 결합한다. OLTP에 행 스토리지를, 분석 쿼리에 열 스토리지를 이용한다. 또 다른 일부는 데이터베이스는 열 스토리지와 행 스토리지에 위치한 데이터를 동시에 쿼리할 수 있다. 모든 필드를 열 기반 스토리지에 집어넣을 수 없을 때 쿼리 속도를 향상시킨다.

인메모리 스토리지와 레이어드 스토리지

디스크의 압축 열 스토어(저장소)보다 더 빠른 것이 있다. 바로 메모리 안(인메모리)의 압축 열 스토어다. 그렇다면 메모리 안 열 스토어보다 더 많은 데이터를 처리하는 방법은 없을까? 해답은 인텔 옵테인(Intel Optane) 같이 PMEM으로 메모리를 보완하는 레이어드 스토리지 시스템이다. 이는 플래시보다 빠르고, DRAM보다 저렴하다. 추가 레이어는 플래시 및 회전형 디스크를 사용할 수 있다. 이런 스토리지에서 핵심은 검색을 늦추지 않고, 또는 더 빠른 레이어로 불필요하게 캐시가 들어가지 못하도록 만들면서 멀티레벨 캐싱을 구현하는 것이다.

ETL vs. ELT

ETL(추출, 변환, 로드) 도구는 데이터를 추출하고, 원하는 매핑 및 변환 작업을 실행하고, 데이터를 데이터 스토리지 레이어로 로드 한다. ELT 도구는 먼저 데이터를 저장하고, 나중에 변환한다. ELT 도구를 사용할 때 일반적으로 데이터 레이크를 사용한다.

클러스터링 된, 그리고 분산된 클라우드 데이터 웨어하우스

데이터 웨어하우스는 주로 읽기 데이터베이스이기 때문에 OLTP 데이터베이스보다 더 쉽게 클러스터링 할 수 있다. 또 쓰기에 지연을 많이 유발하지 않으면서 지리적으로 데이터 웨어하우스를 분산시키기 좋다. 데이터 웨어하우스에 클러스터링 아키텍처를 구현하면, 쉽게 클러스터에 노드를 추가해 처리 용량을 늘리고 결과가 더 빨리 반환되도록 만들 수 있다.

관리 및 쿼리용 클라우드 UI

거의 모든 클라우드 웨어하우스에 관리와 쿼리를 위한 독자적인 사용자 인터페이스가 있다. 어떤 것은 다른 것보다 더 유용한다. 관리용 UI는 퀴리용 UI보다 상대적으로 더 쉽게 구현할 수 있다. 버튼 하나를 눌러 노드를 추가할 수 있다(또는 오토스케일링용 노드의 최대 숫자를 지정하는 방법도 있다). 일부 클라우드 데이터 웨어하우스는 그래픽 기반 쿼리 빌더를 제공한다. SQL 초보자에게 유용한 도구다. 많은 클라우드 데이터 웨어하우스가 과거 쿼리 결과를 볼 수 있는 히스토리 창을 제공한다.

주요 클라우드 데이터 웨어하우스

현재 많은 업체가 클라우드 데이터 웨어하우스를 제공하고 있다. 다음에 살펴볼 13개 제품은 알파벳 순으로, 데이터 레이크 같은 다른 기반 아키텍처를 토대로 데이터 웨어하우스 기능을 제공한다.

에이하나(Ahana), 델타 레이크(Delta Lake), 쿠볼(Qubole)은 데이터 웨어하우스로 시작되지 않고 데이터 레이크에 토대를 두고 있다고 볼 수 있지만, 동시에 AWS 레드시프트, 애저 시냅스, 구글 빅쿼리 같은 데이터 웨어하우스와 같은 기능을 제공한다. 이들 제품에는 이종 페더레이티드(Heterogenous federated) 쿼리 엔진이 추가돼 있다. 데이터 레이크와 데이터 웨어하우스의 기능적 경계가 흐려지는 추세라는 의미이다.

프레스토용 에이하나 클라우드 : 프레스토용 에이하나 클라우드(Ahana Cloud for Presto)는 데이터를 옮기지 않고, 아마존 S3의 데이터 레이크를 데이터 웨어하우스로 바꿔준다. 여러 이종 데이터 소스를 결합할 때도 SQL 쿼리가 빠르다.

프레스토는 모든 크기의 데이터 소스를 대상으로 쌍방향 분석 쿼리를 실행하는 오픈소스 기반 분산형 SQL 쿼리 엔진이다. 프레스토는 하이브(Hive), 카산드라(Cassandra), 관계형 데이터베이스, 사유 데이터 스토어 등에 저장된 데이터를 쿼리할 수 있다. 단일 프레스토 쿼리로 여러 소스의 데이터를 결합할 수 있다. 페이스북은 300PB 규모 데이터 웨어하우스 등 일부 내부 데이터 스토어의 쌍방향 쿼리에 프레스토를 이용한다.

프레스토용 에이하나 클라우드는 아마존에서 실행되며, 상당히 간단한 사용자 인터페이스를 갖고 있고, 엔드 투 엔드 클러스터 라이프사이클 관리를 지원한다. 쿠버네티스에서 실행되며, 확장성이 높다. 카탈로그가 내장되어 있고, 데이터 소스, 카탈로그, 대시보딩 도구와 쉽게 통합할 수 있다. 기본 에이하나 쿼리 인터페이스는 아파치 슈퍼세트(Apache Superset)이다. 머신 러닝을 하는 경우 쥬피터나 제펠린(Zeppelin) 노트북을 사용할 수 있다. 에이하나는 아마존 일래스틱 맵리듀스 및 아마존 아테나 등 다른 프레스토 서비스보다 성능이 3배 빠르다고 주장한다.

아마존 레드시프트 : 아마존 레드시프트(Amazon Redshift)를 이용하면 데이터 웨어하우스, 운영 데이터베이스, 표준 SQL을 사용하는 데이터 레이크의 엑사바이트급 구조 데이터, 반구조 데이터를 쿼리하고 결합할 수 있다. 쿼리 결과를 아파치 파퀘트(Apache Parquet) 같은 공개 형식을 이용하는 S3 데이터 레이크에 쉽게 저장할 수 있다. 이렇게 하면, 아마존 EMR, 아마존 아테나, 아마존 세이지메이커 등 다른 분석 서비스에서 추가 분석도 할 수 있다.

애저 시냅스 애널리틱스 : 애저 시냅스 애널리틱스(Azure Synapse Analytics)는 데이터 통합, 데이터 웨어하우징, 빅 데이터를 위한 통합 분석 서비스다. 즉각적인 BI 및 머신 러닝 작업을 할 수 있도록 데이터를 수집, 탐구, 준비, 관리, 제공하며, 서버리스나 전용 리소스를 이용해 데이터를 쿼리할 수도 있다. 애저 시냅스는 스파크나 SQL 엔진을 이용해 쿼리를 실행하며, 애저 머신 러닝, 애저 코그니티브 서비스, 파워 BI와 긴밀하게 통합돼 있다.

데이터브릭스 델타 레이크 : 데이터브릭스(Databricks)가 개발한 델타 레이크(Delta Lake)는 아마존 S3, 마이크로소프트 애저 데이터 레이크 스토리지, 구글 클라우드 스토리지, HDFS 같은 기존 유수 스토리지 시스템에 레이크하우스 아키텍처를 구축할 수 있도록 도와주는 오픈소스 프로젝트이다. 데이터 레이크에 트랜잭션, 메타데이터 처리, 데이터 버전 관리, 스키마 적용, 스키마 변화 기능을 추가할 수 있다.

데이터브릭스 레이크하우스 플랫폼(Databricks Lakehouse Platform)은 AWS, 마이크로소프트 애저, 구글 클라우드에서 실행되는 델타 레이크, 스파크, ML플로우를 이용해 데이터 레이크가 제공하는 저비용의 유연한 객체 스토어를 가진 데이터 웨어하우스에 일반적인 데이터 관리 기능을 제공한다.

구글 빅쿼리 : 구글 빅쿼리(Google BigQuery)는 페타바이트급 서버리스 클라우드 데이터 웨어하우스다. 내부에 BI 엔진, SQL 익스텐션을 통해 이용할 수 있는 머신 러닝 기능이 포함돼 있다. 또 버텍스 AI(Vertex AI)와 텐서플로우(TensorFlow) 등 구글 클라우드 서비스와 통합된다.

빅쿼리 옴니는 빅쿼리를 확대하고, 안토스(Anthos)를 이용해 클라우드 데이터를 분석한다. 데이터 QnA는 빅쿼리에 자연어 프론트엔드를 제공한다. 사용자는 커넥티드 시트(Connected Sheets)를 이용, 구글 시트 빅쿼리 데이터의 수십 행을 분석할 수 있다. 빅쿼리는 파퀘트(Parquet) 및 ORC(Optimized Row Columnar) 파일 형식용 객체 스토리지(구글 클라우드 스토리지), 트랜잭션 데이터베이스(구글 클라우드 빅테이블, 구글 클라우드 SQL), 구글 드라이브 스프레드시트 등 외부 데이터 소스를 대상으로 한 페더레이티드 쿼리를 처리할 수 있다.

오라클 오토노머스 데이터 웨어하우스 : 오라클 오토노머스 데이터 웨어하우스(Oracle Autonomous Data Warehouse)는 데이터 웨어하우스 프로비저닝, 구성, 보안, 튜닝, 스케일링, 백업을 자동화한 클라우드 데이터 웨어하우스 서비스이다. 여러 데이터 유형을 대상으로 쉽게 쿼리를 하고, 머신 러닝 분석을 실시할 수 있는 빌트인 컨버지드 데이터베이스 기능, 자동 인사이트, 비즈니스 모델, 데이터 변환, 셀프서비스 데이터 로딩 기능을 지원하는 툴을 포함한다. 오라클 퍼블릭 클라우드, 오라클 클라우드@커스터머를 갖춘 데이터센터 모두에서 이용할 수 있다.

쿠볼 : 쿠볼(Qubole)은 머신 러닝, 스트리밍, 애드혹 분석에 사용되는 단순하고 안전한 오픈소스 데이터 레이크 플랫폼이다. AWS, 애저, 구글, 오라클 클라우드에서 이용할 수 있다. 쿠볼은 데이터 레이크에서 데이터세트를 수집하고, 하이브로 스키마를 구축하고, 하이브와 프레스토, 퀀텀, 또는 스파크로 데이터를 쿼리하고, 데이터 엔지니어링 및 데이터 사이언스로 계속 확장할 수 있도록 지원한다. 제펠린이나 주피터 노트북, 에어플로우 워크플로우에서 쿠볼 데이터를 작업할 수 있다.

록세트 : 록세트(Rockset)는 운영 분석 데이터베이스다. 트랜잭션 데이터베이스와 데이터 웨어하우스 사이의 틈새에 해당되는 제품이다. 록세트는 기가바이트에서 테라바이트급에 이르는 최근, 실시간, 스트리밍 데이터를 분석할 수 있으며, 대부분의 쿼리를 밀리초 이내에 처리하는 인덱스를 구현할 수 있다. 록세트는 OLTP 데이터베이스, 스트림, 데이터 레이크의 구조, 반구조 데이터에 대한 컨버지드 인덱스를 실시간으로 구현하며, RESTful SQL 인터페이스를 지원한다.

스노우플레이크 : 스노우플레이크(Snowflake)는 클라우드를 위해 설계된 동적 확장 가능한 엔터프라이즈 데이터 웨어하우스다. AWS, 애저, 구글 클라우드에서 실행된다. 스노우플레이크는 물리적으로 분리되어 있지만, 논리적으로 통합된 스토리지, 컴퓨팅, 글로벌 서비스 레이어가 특징이다. 데이터 워크로드는 서로 독립적으로 확장된다. 즉, 스노우플레이크를 데이터 웨어하우징, 데이터 레이크, 데이터 엔지니어링, 데이터 사이언스, 현대적인 데이터 공유, 데이터 애플리케이션 개발에 적합한 플랫폼으로 만들 수 있다.

테라데이타 밴티지 : 테라데이타 밴티지(Teradata Vantage)는 엔터프라이즈 애널리틱스를 위한 멀티 클라우드 데이터 플랫폼이다. 데이터 레이크, 데이터 웨어하우스, 분석, 새로운 데이터 소스 및 유형을 통합 지원한다. 밴티지는 퍼블릭 클라우드(AWS, 애저, 구글 클라우드), 하이브리드 멀티 클라우드 환경, 테라데이타 인텔리플렉스(Teradata IntelliFlex)로 구축한 온프레미스 환경, VM웨어 기반의 상용 하드웨어에서 실행된다.

버티카 : 버티카(Vertica)는 주요 퍼블릭 클라우드 및 온프레미스 데이터센터를 대상으로 통합 분석 웨어하우스를 제공한다. 데이터를 옮기지 않고 클라우드 객체 스토리지와 HDFS의 데이터를 통합할 수 있다. 버티카는 2가지 배포 옵션을 지원한다. 버티카 엔터프라이즈 모드(Vertica in Enterprise Mode)는 밀접하게 연동된 스토리지를 갖춘 업계 표준 서버에서 실행되며, 일관된 컴퓨팅 용량을 요구하는 환경에서 최고의 성능을 전달한다.

버티카 에온 모드(Vertica Eon Mode)는 컴퓨팅을 스토리지와 분리한 클라우드 네이티브 아키텍처를 갖고 있다. 동적인 워크로드 관리가 간편하며, 여러 기업 환경에서 사용할 수 있도록 공유 스토리지에 특정 컴퓨팅 리소스를 적용하는 유연성이 특징이다. 버티카 에온 모드는 아마존 서비스와 구글 클라우드 플랫폼에서 이용할 수 있지만, 퍼블릭 클라우드에만 국한되는 것은 아니다.

얀덱스 클릭하우스 : 얀덱스 클릭하우스(Yandex ClickHouse)는 통합되지 않은 데이터 등 매우 많은 볼륨의 데이터를 관리하고, 실시간으로 맞춤형 데이터 보고서를 생성할 수 있는 오픈소스 기반 열 지향형 OLAP 데이터베이스 관리 시스템이다. 선형으로 증설 가능하며, 스토어로까지 확장할 수 있다. 또 수많은 행과 페타바이트급 데이터를 처리할 수 있다. 클릭하우스는 일반 하드 드라이브에서 작동하도록 만들어져 있다. 데이터 스토리지 GB당 비용이 낮다는 의미이다. 그러나 가용한 경우 SSD와 추가 메모리(RAM)도 이용할 수 있다.

클릭하우스의 경우, 데이터를 여러 샤드(Shards)에 위치시킬 수 있다. 각 샤드를 폴트 톨로런스에 이용되는 복제본 그룹으로 묶을 수 있다. 쿼리는 모든 샤드에서 병렬로 처리된다. 클릭하우스는 비동기 멀티 마스터 복제를 사용한다. 가용한 복제본에 쓰기를 한 후, 백그라운드의 남은 복제본에 분산을 시킨다. 얀덱스, 알티니티(AWS), 알리바바, 스버클라우드(SberCloud), 텐센트의 클라우드 서비스로 이용할 수 있다.

엘로우브릭 데이터 웨어하우스 : 엘로우브릭 데이터 웨어하우스(Yellowbrick Data Warehouse)는 대부분의 복잡한 배치, 실시간, 쌍방향, 혼합 워크로드에 맞게 설계된 현대적이고, 병렬 처리가 가능한 분석 데이터베이스다. 프라이빗 데이터센터, 여러 퍼블릭 클라우드, 네트워크 엣지 등 필요한 곳에 데이터 웨어하우스를 프로비저닝 할 수 있다. 엘로우브릭은 데이터 레이크 보강과 데이터 웨어하우스에 활용할 수 있다고 설명한다.

클라우드 데이터 웨어하우스를 평가할 때 관리에 있어 단순성, 높은 확장성, 높은 성능, 통합성, 비용 등을 고려해야 한다. 솔루션 업체에 기존 제품 사용자에게 직접 문의할 수 있는지 요청하는 것도 좋다. 특히 대규모로 배포할 생각이라면 매우 중요하다. 또한, 독자적으로 개념 증명을 실시해야 한다. 마지막으로 현재 업체가 지원하는, 또는 계획하고 있는 머신 러닝 기능을 검토해야 한다. 데이터 웨어하우스의 가치 가운데 상당수는 예측 분석에서 비롯되기 때문이다.



IDG logo

▶   해당 콘텐츠는 저작권법에 의하여 보호받는 저작물로 기고자에게 저작권이 있습니다.
▶   해당 콘텐츠는 사전 동의 없이 2차 가공 및 영리적인 이용을 금하고 있습니다.


이 글이 좋으셨다면 구독&좋아요

여러분의 “구독”과 “좋아요”는
저자에게 큰 힘이 됩니다.

subscribe

Martin Heller
Martin Heller

InfoWorld의 Contributing Editor