본문 바로가기

Snowflake - The Data Cloud

Cloud Data Warehousing

1. Getting Up to Speed on Cloud Data Warehousing

어떤 이유든 클라우드 컴퓨팅과 SaaS는 수십 년동안 기업 환경에서 사용되어 왔습니다. 그러나 클라우드 DWaaS(Data Warehouse-as-a-service)는 온-프레미스 DW와 유사한 솔루션으로 최근에 등장했습니다. 지금 등장한 이유가 무엇이며, 변경된 사항이 무엇입니까? 여기에서는 이 질문에 대한 답변입니다. 먼저 데이터 웨어하우스를 정의하고, 데이터 웨어하우스 진화과정을 알아보고 클라우드에서 데이터 웨어하우스를 어떻게 적용했는지를 살펴보도록 하겠습니다. 그런 다음 기업들이 클라우드 DWaaS의 이점을 얻을 수 있는 방법을 알아보고 데이터 중심의 기업으로 전환하기 위해서 데이터 웨어하우스를 도입한 이유를 설명하도록 하겠습니다.  

 

1.1 Data Warehouse 정의

데이터 웨어하우스 시스템은 추세, 패턴 및 상관 관계를 알아보기 위해 데이터를 저장하고 분석하는 전용 데이터 분석 시스템입니다. 전통적으로 대부분의 기업은 마케팅, 영업, 생산 및 재무를 포함한 내부 시스템(OLTP DBMS)에서 생성된 데이터를 수집, 저장하고 통합하기 위해 데이터 웨어 하우스를 사용해 왔습니다. 이전 기업들은 트랜잭션 데이터베이스에서 직접 분석 워크로드를 수행하면, 기존 업무와 분석 업무 로드 부하로 인해 속도가 느려지고 장애가 발생하였기 때문에 트랜잭션 데이터베이스가 아닌 전용 분석 데이터베이스를 구축해야 한다는 사실을 파악했습니다. 모든 트랜잭션 데이터베이스에 있는  데이터들은 분석을 위해 데이터 웨어하우스에 복제되었습니다. 시간이 지남에 따라 데이터 소스는 기업 내부 시스템에서 외부로 확장되었고, 웹사이트, 모바일 및 IoT 디바이스와 같이 다양화되고 있으며, 데이터 생성 속도 및 양도 과거에 경혐해 보지 못했던 수준으로 빨라지고 거대해 졌습니다.  

1.2 Data Warehouse의 진화

지금까지 전통적인 데이터 웨어하우스 제한된 데이터 소스에서 생성된 데이터를 구조화된 형식의 데이터로 변경하고 예측 가능한 패턴으로 통합하여 분석용으로 사용했습니다. IT 기술이 빠른 속도로 발전함에 따라 기업 환경에서는 더 많은 데이터 소스 및 더 다양한 데이터 유형이 생성됨으로 데이터 웨어하우스의 온-프레미스 컴퓨팅 성능 및 스토리지 공간의 부족 현상이 발생하게 되었으며, 플랫폼 관리자는 성능을 보장하기 위해 데이터의 양 및 유형을 제한하여 관리하고 플랫폼에서 실행되는 워크로드도 세밀하게 통제하여 제한된 분석 워크로드만을 수용할 수 밖에 없었습니다. 사용자는 원하는 데이터를 바로 사용할 수 없었으며 분석의 리드 타임도 자연스럽게 지연되었습니다. 하지만 그림 1-1과 같이 시간이 지남에 따라 IT 환경과 기술도 자연스럽게 진화하였습니다. 기술 진화로 인해 사용자는 대용량 데이터를 기반으로 중요한 비즈니스 의사결정을 할 수 있게 되었습니다. 오늘날 데이터 분석 플랫폼의 진화로 인해, 과거 고가의 솔루션은 대기업 위주로 도입되어 사용되었지만, 기업의 규모에 관련 없이 최신의 솔루션을 도입하여 비즈니스 효율성을 극대화할 수 있게 되었습니다. 이제 많은 기업들이 데이터 기반으로 의사결정을 수행하고, 고객 만족도를 높이며 새로운 제품과 서비스를 개발하고 있습니다.  

그림 1-1.기존 시스템의 제약사항으로 클라우드 데이터 웨어하우스가 등장했습니다.

전통적인 데이터 웨어하우스 솔루션의 한계 인식: 전통적인 데이터 웨어하우스 솔루션들은 오늘날 데이터양, 속도 및 다양성을 처리하도록 설계되지 않았습니다. 그러나, 이러한 단점을 해결하기 위해 설계된 최신 솔루션들조차 기업 환경에서 요구하는 다양한 데이터 속성 및 워크로드를 수용하는 데 어려움을 겪고 있습니다. 오늘날의 데이터 플랫폼에 관련된 과제는 다음과 같습니다:

  • 데이터 소스가 증가하고 다양해지므로 완벽한 데이터 플랫폼은 모든 데이터 소스에서 생성되는 다양한 데이터의 유형 및 대용량 데이터를 단일 데이터 플랫폼에 저장, 보관 및 관리해야 하며, 다양한 유형의 데이터들을 단일 플랫폼에서 처리해야 합니다. 
  • 전통적인 데이터 웨어하우스 아키텍처는 온-프레미스의 물리적 노드에 배포 구성됩니다. 이 방식은 스토리지와 컴퓨팅이 공존하므로 워크로드 간의 리소스-간섭 현상이 발생하여 더 많은 데이터를 저장하고 더 많은 워크로드를 수용하기에는 아키텍처적인 제약사항이 존재합니다.  
  • 기존 데이터 웨어하우스에서 배치 처리는 일반적인 작업이지만 대다수의 고객을은 배치 처리보다는 마이크로 배치 또는 스트리밍 데이터 기반의 실시간 처리 요건들이 증가하므로 기존 시스템으로 사용자 요구사항을 충족하기는 어렵습니다.
  • 오늘날 증가하는 스토리지 및 워크로드 요구 사항을 충족하기 위해 기존 데이터 웨어하우스를 확장하는 것은 굉장히 번거로운 작업이 동반되며 큰 투자 비용이 필요로 합니다. 
  • 데이터 웨어하우스의 대체 솔루션은 복잡하고 관련 기술 전문가의 의존성이 높으며, 데이터 소스, 양, 사용자 및 처리되는 워크로드가 다양해지고 증가하면 플랫폼을 통제하기가 더욱 어려워집니다. 

전통적인 아키텍처의 제약사항을 해결하기 위한 기술 및 아키텍처 설계: 기술 및 데이터 웨어하우스 아키텍처가 다음과 같은 혁신을 통해 사용자 요구 사항을 해결하도록 진화되었습니다:

  • 클라우드 시대: 현대화된 데이터 클라우드의 진화를 주도한 핵심 요소는 바로 클라우드입니다. 클라우드 환경에서는 1) 저비용 스토리지, 2) 향상된 확장성, 3) 관리형 데이터 웨어하우스 솔루션 제공 및 4) 사용량-기반의 비용 모델과 같이 다양한 클라우드-기반의 혜택을 제공합니다.  
  • MPP(Massively parallel processing): MPP는 대용량 데이터 처리 작업을 다수의 서버에 분할하여 병렬 처리 방식으로 2000년 초반에 등장했습니다. 이와 같은 병렬 처리 방식을 지원하는 솔루션은 대용량 데이터를 빠르게 저장 및 분석할 수 있게 해줍니다. 
  • 컬럼형 스토리지: 전통적인 데이터베이스는 행(Row) 형태로 레코드를 테이블에 저장하는 방식입니다. 이와 같은 데이터베이스에서 데이터를 검색하기 위해서는 특정 컴럼의 데이터를 추출하기 위해서는 전체 행을 읽어야 했습니다. 이는 분석 워크로드에서는 효율적인 방식이 아닙니다. 컬럼형 스토리지를 사용하면 레코드의 개별 데이터 요소들이 컬럼에 저장됩니다. 이를 통해 분석 워크로드를 수행할 때, 필요한 컬럼의 데이터만을 참조함으로써 훨씬 더 빠른 응답속도를 제공할 수 있게 되었습니다. 
  • 벡처화 처리(Vectorized processing): 데이터 분석을 위한 벡터화 처리 기법은 최근 혁신적인 컴퓨터 칩 설계를 활용하는 방식입니다. 이 접근법은 기존 하드웨어 기술을 기반으로 수십 년 전에 설계/개발된 전통적인 데이터 웨어하우스 솔루션과 비교해 훨씬 더 빠른 데이터 분석 성능을 제공합니다.  
  • SSD(Solid state drives): 하드 디스크(HDD)와 달리 SSD는 빠른 데이터 저장, 검색 및 분석이 가능하도록 데이터를 플래시 메모리 칩에 저장합니다. SSD를 사용하는 솔루션은 HDD를 사용하는 솔루션보다 훨씬 더 빠른 성능을 제공할 수 있습니다.  

Cloud data warehouse 소개: 클라우드 데이터 웨어하우스는 사용자가 플랫폼 구축을 위해 필요한 HW, SW 및 인프라를 구매, 설치 및 구성하는 데 드는 초기 비용 없이 최신 기술과 아키텍처를 바로 활용할 수 있는 비용 효율적인 솔루션입니다. 다양한 클라우드 데이터 웨어하우스 옵션을 일반적으로 다른 세 가지 범주로 분류됩니다:

  • IaaS - 클라우드 환경에 배포된 전통적인 데이터 웨어하우스 솔루션: 이 방식은 기존 온-프레미스 환경을 위해 설계 및 개발된 기존 코드를 클라우드용으로 재개발하였기 때문에, 기존 온-프레미스 데이터 웨어하우스와 동일합니다. 이 솔루션을 사용하여 데이터 웨어하우스를 구축하고 운영하기 위해서는 기존과 동일하게 전담 운영 관리팀이 필요합니다. 클라우드 환경에 배포 구성됨으로 하드웨어 인프라를 설치할 필요는 없지만, 플랫폼 구성 및 튜닝 작업은 정기적으로 수행되어야 하며 보안 및 백업과 같은 관리 작업도 별도로 필요합니다. 
  • PaaS - 기존 데이터 웨어하우스를 기반으로 개발된 클라우드 관리 서비스: 솔루션 벤더가 클라우드 관리 서비스로 데이터 웨어하우스 환경을 제공하지만, 기존 데이터 웨어하우스와 유사한 여러 제약 사항이 존재합니다. HW와 SW는 서비스의 부분으로 제공되지만, 고객은 여전히 플랫폼에 대한 구성 및 튜닝작업에 대한 책임이 있습니다.  
  • SaaS data warehouse: DWaaS라 불리는 이 솔루션을 사용하면, 솔루션 벤더가 모든 HW, SW를 포함한 완전한 클라우드 데이터 웨어하우스 솔루션을 제공하고 분석 워크로드를 데이터 웨어하우스에 실행하기 위해 필요한 성능, 거버넌스 및 보안 설정 및 관리에 관련된 모든 작업 서비스를 벤더에서 제공함으로써 고객은 시스템 관리 및 운영보다는 분석업무에 집중할 수 있습니다. 사용자는 스토리지 및 컴퓨팅 리소스에 대한 솔루션 사용 비용만 지불하면 됩니다. 이 솔루션은 개별 워크로드 전용 컴퓨팅 성능을 클라우드-기반으로 거의 무제한으로 확장할 수 있는 기능을 제공함으로 워크로드 사용 패턴에 따라서 온-디맨드 방식으로 확장 및 축소되는 실행환경을 통해 다른 워크로드에 의한 성능 영향도 없이 동시에 여러 분석 워크로드를 수행할 수 있습니다. 

 

 

2. Modern Data Warehouse 등장 배경

클라우드 데이터 웨어하우스는 다음과 같은 세 가지 주요 트랜드를 반영하기 위해 등장했습니다: 1) 데이터 소스, 볼륨 및 다양성 변화, 2) 데이터 분석에 대한 수요 증가 및 3) 데이터 저장, 접근 및 분석 효율성을 개선한 기술 진보. 이와 같은 요구사항이 등장하게 된 배경과 DW가 Cloud 환경의 이점을 어떻게 활용할 수 있는지를 설명합니다.  

 

2.1 데이터 트랜드 살펴보기: 3V(Volume, Variety & Velocity)

여기서 주로 다루는 데이터 볼륨은 페타-바이트 크기입니다. 대략 인쇄된 책의 5,000억 페이지 또는 58,333개의 고화질 영화가 이 크기에 해당합니다. 기업 환경에서 데이터는 일상적인 업무 시스템, 모바일에서 웹 사이트나 SW를 사용하는 사람 그리고 디지털 및 기계 장치에서 쏟아져 들어오고 있습니다. 이제부터 기업 환경에서 데이터 및 데이터 사용 변화로 클라우드 DW가 등장하게 된 배경에 대해서 살펴보도록 하겠습니다. 

  • 데이터 쓰나미 관리: 대부분의 기업들이 불과 몇 년 전까지만 해도 온-프레미스 데이터 센터에 구축되는 기업용 레거시 시스템만을 사용했고, 데이터양은 비교적 소규모였으며 예측 가능했습니다. 오늘날 비즈니스 세계는 데이터 쓰나미 현상을 경험하고 있습니다. 데이터 소스는 다양해졌으며, 데이터 볼륨과 데이터 유형의 다양성은 기존 온-프레미스 데이터 웨어하우스에서 수용할 수 없는 규모이거나 처리되지 않는 형식이며, 특정 시점에 처리해야 하는 워크로드는 사용자 과부하로 인해 데이터 처리 및 분석에 지연이 발생하거나 시스템 장애도 발생하였습니다. 이와 같은 변화로 인해 그림 2-1과같이 새로운 관점의 전환이 필요합니다. 

그림 2-1. 클라우드 기반의 현대화된 데이터 웨어하우스는 모든 사용자가 모든 데이터를 활용할 수 있습니다.

  • 클라우드에서 생성된 데이터의 이점: 오늘날 기업 업무 시스템들이 온-프레미스에서 클라우드 환경으로 빠르게 마이그레이션되고 있으며, 많은 기업들이 CRM, ERP, 광고 솔루션, 온라인 마케팅을 비롯한 다양한 업무 영역에서 SaaS 기반의 솔루션들을 도입하고 있습니다. 과거에는 중요 5~10개의 업무 시스템에 의존적이었지만, 현재는 일반적으로 기업 내 수백 또는 수천 개의 애플리케이션이 존재하며 이 많은 애플리케이션에서 생성하는 데이터는 사일로 된 환경일 가능성이 큽니다. 점차 기업용 시스템들이 온-프레미스에서 클라우드로 마이그레이션되고 있어서 데이터를 통합하는 가장 이상적인 장소도 클라우드가 되었습니다.  
  • 머신 데이터 사용: 모바일 폰, 센서, 냉장고, 기업용 장비, 스마트 계량기 등을 포함해 디바이스에서 생성된 머신 데이터를 인터넷을 통해 통신하는 것이 IoT의 핵심 내용입니다. IoT 디바이스에서 수집 및 분석된 데이터는 제품 및 프로세스를 개선하고, 기업용 장비를 모니터링하여 장애를 예방하는 용도로 사용될 수 있습니다. 그러나 인터넷을 통해 통신 되는 머신 데이터에는 귀중한 정보도 포함되어 있지만, 노이즈 데이터들이 많이 포함되어 있습니다. 따라서 중요한 정보를 찾기 위해 모든 데이터를 저장해야 하며, 많은 IoT 디바이스가 기업 외부에서 생성될 수 있습니다. IoT 디바이스에서 생성되는 엄청난 양의 데이터는 클라우드 환경에서 제공하는 제한없는 확장성 속성으로 인해 저장 및 통합하기 위한 최적에 저장소입니다. 
  • 테이터 탐색을 통한 실험: 데이터 분석 작업은 분석가가 원하는 데이터-셋을 찾는 데이터 탐색으로 시작됩니다. 비록 데이터 탐색이 새로운 개념은 아니지만, 데이터양의 엄청난 증가로 인해 대부분의 데이터 탐색은 불가피하게 리소스-집약적인 작업이 될 수 있습니다. 또한, 이 작업의 속성이 실험적인 요소를 내포하고 있기 때문에 기존 온-프레미스 데이터 웨어하우스에서 실행하기에는 ROI 평가를 복잡하게 만드는 요소가 됩니다. 이에 대한 해결책은 클라우드 데이터 웨어하우스에서 제공하는 요청에 따라 온-디맨드 방식으로 자동 확장 및 축소하는 기능입니다. 이 방식은 비용 효율적이며, 탐색 작업이 다른 중요 워크로드에 리소스 간섭현상을 제거할 수 있으며, 초기 투자 비용으로 시스템 구축을 망설이는 사용자들에게 가장 이상적인 해결책이 될 수 있습니다. 
  • 데이터 레이크 소개: 단일 데이터 저장소에 존재하는 다양한 형식의 방대한 원시 데이터에 대한 요구사항이 증가하면서 데이터 레이크가 탄생되었습니다. 하지만 레거시 데이터 레이크에서 새로운 인사이트를 발굴하는 것은 플랫폼 복잡성, 전문가에 의존적인 사용성 및 고 투자 비용과 같이 다양한 이유로 거의 불가능하다는 것을 쉽게 깨달았습니다. 하지만, 모든 기업들이 데이터 레이크가 필요하다는 데는 동의를 하고 있습니다. 기존 데이터 레이크에 클라우드 기반의 데이터 웨어하우스 기능을 추가하거나, 데이터 웨어하우스를 통해 데이터 레이크 서비스를 제공하면 기업이 원하는 데이터 레이크의 비전을 달성할 수 있습니다. 클라우드 기반의 현대화된 데이터 플랫폼은 거의 무제한에 가까운 스토리지 및 컴퓨팅 리소스를 제공하며, 정형 및 반정형 데이터를 자유롭게 저장, 로드, 변환 및 분석용으로 사용할 수 있습니다. 

2.2 리포팅 및 분석 업무 동향

데이터-기반의 의사 결정은 더 이상 경영진, 데이터 분석가 또는 과학자만을 위한 전유물이 아닙니다. 오늘날 기업의 모든 임직원들이 데이터를 활용하여 업무를 수행하고자 합니다. 기존 데이터 웨어하우스에 사용자가 증가함에 따라 워크로드의 유형은 다양화되며 시스템 부하도 증가하게 되었습니다. 이로 인해 성능 저하나 시스템 장애 현상이 발생할 수 있습니다. 사용자의 요구사항을 충족하기 위해 인프라에 더 많은 시간과 돈을 투자해야 하며, 시스템 유지 관리에도 어려움을 겪습니다. 여기에서는 오늘날 사용자들이 데이터를 활용하는 방식의 변화와 이런 추세가 클라우드-기반의 현대화된 데이터 웨어하우스 솔루션이 필요하게 된 배경을 살펴보도록 하겠습니다.  

  • 탄력적인 환경에서의 분석 업무 수행: 다음은 클라우드-기반의 데이터 웨어하우스에 적합한 분석 시나리오의 예시입니다:
  1. 데이터 탐색은 사용자들에게 많은 이점을 제공합니다. 그러나 대용량 데이터-셋을 분석하는 데 필요한 컴퓨팅 리소스를 미리 알 방법이 없습니다. 클라우드-기반의 데이터 웨어하우스 시스템은 이러한 데이터 탐색에 이상적인 온-디맨드 기반의 탄력적인 확장성을 제공합니다.  
  2. Ad-hoc 쿼리 분석 워크로드는 패턴화할 수 없기 때문에, 개별 컴퓨팅-워크로드에 대한 동적 탄력성 및 전용 리소스는 실행 중인 다른 워크로드에 영향을 주지 않으면서 자유로은 Ad-hoc 쿼리 분석 실행 환경을 제공합니다. 
  3. 이벤트 기반을 분석은 스트리밍 데이터를 활용해 실시간 모니터링 대시보드 서비스를 제공할 수 있습니다. 스트리밍 데이터를 수집하고 처리하기 위해서는 데이터 흐름의 변동에 따라 탄력적인 실행환경을 제공해 줄 수 있는 데이터웨어하우스가 필요합니다. 
  • 분석 패턴 변경: 이전에는 업무와 분석 시스템을 별도로 구축하였지만, 업무 시스템이 클라우드 환경으로 마이그레이션되면서 업무와 분석 쿼리가 동시에 실행되는 경우도  존재합니다. 클라우드 환경에서는 클라우드-기반 애플리케이션에서 생성된 데이터를 클라우드 웨어하우스로 쉽게 전송하면서 데이터 웨어하우스의 확장성과 탄력성을 제공하기 때문에 사용자와 워크로드의 변동에도 더 잘 대응하여 지원할 수 있습니다. 

2.3 모든 Modern Data Warehouse에 필요한 기술들

기술 혁신은 가용성, 단순성, 비용 및 성능에 대해서 데이터 웨어하우스 및 분석 플랫폼을 개선할 수 있습니다. 여기에서는 모든 현대화된 데이터 웨어하우스에 포함되어야 할 핵심 기술에 중점을 둡니다.

  • Cloud: 클라우드의 특성은 데이터 웨어하우스에 매우 적합합니다. 또한, 이미 클라우드 시대에 우리가 살고 있다는 것도 중요한 포인트입니다. 다음과 같은 클라우드 환경에서 제공하는 혜택은 데이터 웨어하우스를 더욱 강력하게 만드는 요소들입니다:
  1. 무제한 리소스: 클라우드 인프라는 요청 시 몇 초에서 몇 분 이내에 거의 무제한에 가까운 리소스를 사용자에게 제공할 수 있습니다. 사용자는 사용한 만큼만 비용을 지불하기 때문에, 성능 저하 없이 모든 규모의 사용자와 워크로드를 동적으로 지원할 수 있습니다. 
  2. 비용 절감, 분석 업무에 집중: 클라우드-기반의 솔루션을 선택한 기업은 하드웨어, 소프트웨어 및 기타 인프라에 대한 선행 투자와 과거 온-프레미스 환경에서 필요한 하드웨어, 소프트웨어에 대한 유지 관리, 업그레이드 및 보안에 관련된 업무를 수행할 필요가 없기 때문에 비용을 절감할 수 있으며, 시스템 관리 업무보다는 데이터 분석에 중점을 둘 수 있습니다. 
  3. 자연적 데이터 통합 환경: 일부 추정에 따르면 분석하려는 데이터의 80%가 회사 외부에서 생성된 데이터입니다. 기업 내/외부의 데이터를 통합하기 위해 온-프레미스의 데이터 센터를 사용하는 것보다 클라우드를 사용하는 것이 훨씬 쉽고 저렴합니다.
  • 컬럼형 스토리지 및 처리: 컬럼형 스토리지는 데이터 스토리지, 데이터 검색 및 분석의 효율성과 성능을 크게 개선하여 사용자 쿼리에 대한 빠른 응답을 가능하게 만드는 요소입니다. 
  • SSD 디스크: HDD와 달리 SSD는 데이터 저장, 검색 및 분석 속도를 향상시킬 수 있도록 플래시 메모리 칩에 데이터를 저장합니다. 이와 같은 개선 사항은 SSD를 효과적으로 사용하도록 설계된 데이터 웨어하우스의 컴퓨팅 성능을 향상시킬 수 있습니다.   
  • NoSQL: NoSQL은 기계 및 소셜 미디어에서 생성된 데이터와 같이 새로운 형태의 데이터를 key:value 기반으로 저장 및 활용 할 수 있습니다. 기존 데이터 웨어하우스는 이와 같은 데이터 유형을 처리할 수 없었습니다. 따라서, 이와 같은 반정형 데이터 형식을 처리하기 위해 지난 몇 년 동안 JSOM, Avro 및 XML과 같은 새로운 데이터 표준 방식이 등장했습니다. 일부 NoSQL 솔루션 중 일부는 기존 데이터 웨어하우스를 대체할 목적으로 설계되었지만 결국 기존 데이터 웨어하우스를 보완하는 용도로만 활용되었습니다. 반정형 데이터를 분석용으로 사용하기 위해서는 NoSQL에 저장된 데이터를 추출 및 변환하여 다시 데이터 웨어하우스에 데이터를 전송해야만 했습니다. 결과적으로, 두 가지 유형의 분석 시스템을 사용하는 회사들은 분석 플랫폼의 아키텍처 복잡성과 비용이라는 다른 문제에 직면하게 되었습니다. 따라서 현대화된 클라우드-기반의 데이터 웨어하우스는 정형 및 반정형 데이터 형식을 쉽게 수집하고 저장하여 쿼리에서 두 가지 형태의 모든 데이터 유형을 사용할 수 있어야 하며, 두 가지 유형의 데이터가 단일 플랫폼으로 통합되어 제공되기 때문에 비용이 절감되며 플랫폼 유지 관리가 단순화되었습니다.

 

3. Modern Data Warehouse  선택 기준

오늘날 데이터양, 다양성 및 생성 속도 그리고 사용자의 데이터에 대한 새로운 요구 사항으로 인해 새로운 유형의 데이터 웨어하우스 플랫폼에 대한 필요성이 대두되었습니다. 이러한 솔루션은 클라우드 기술을 포함한 주요 기술 혁신들을 활용해야 합니다. 여기에서 설명되는 내용은 기업 요구 사항에 가장 적합한 데이터 웨어하우스 솔루션을 선정하기 위한 체크 리스트입니다. 

 

3.1 현재와 미래의 요구사항 충족

플랫폼 탄력성은 컴퓨팅과 스트로지 리소스를 모두 독립적으로 확장할 수 있어야 하며, 실제로 더 많은 컴퓨팅 리소스가 필요할 때 더 많은 스토리지를 추가할 필요가 없다는 것을 의미합니다. 이와 같은 탄력성을 제공하는 데이터 웨어하우스의 핵심 기능입니다. 

 

3.2 단일 데이터 저장소에 모든 데이터를 통합

반정형 데이터는 기존 정형 데이터에서 제공하지 못했던 새로운 분석 가치를 사용자에게 제공합니다. 그러나 반정형 데이터를 사용하기 위해서는 기존과 다른 방식으로 처리해야 합니다. 대부분 기존 데이터 웨어하우스는 이런 데이터를 처리하기 위해서는 사전에 데이터를 변환해서 로딩한 뒤, 사용자가 사용할 수 있었습니다. 현대화된 데이터 웨어하우스는 데이터 로딩 전 더는 반정형 데이터를 정형화할 필요가 없으며, 전통적인 모델링 작업을 수행할 필요가 없습니다. SQL에서 원시 데이터를 그대로 참조하여 쿼리할 수 있습니다. 전반적으로 데이터 웨어하우스는 다양한 데이터를 유연하게 지원하면서 최적의 성능을 제공해야 합니다. 가장 중요한 것은 모든 데이터를 관리하기 위해 별도의 두 개의 시스템을 유지 관리할 필요가 없다는 것입니다.  

 

3.3 기존 도구, 기술 및 전문성 지원

기존 데이터베이스 기술은 굉장히 오랜 기간동안 기업 환경에서 많은 사용자들이 사용해 왔습니다. 사용자는 SQL문을 통해 데이터베이스에 데이터 오퍼레이션 관련 작업을 수행할 수 있습니다. 데이터 웨어하우스와 표준 SQL을 기반으로 통합된 데이터 관리, 데이터 변환, 시각화, BI 및 기타 많은 분석 도구들이 존재합니다. 이 때문에 표준 SQL은 많은 사람들에 의해 오랫 동안 사용되어 왔습니다. 기존 데이터 웨어하우스는 SQL을 지원하지만 반정형 대이터를 효과적으로 저장하고 처리하는데 필요한 기능을 지원하지 않습니다. 따라서, 많은 기업들이 반정형 데이터를 처리하기 위해 NoSQL 솔루션과 같은 대체 솔루션을 도입하여 사용하였습니다. 하지만 이 솔루션은 SQL을 지원하지 않기 때문에 제대로 사용하기 위해서는 전문 지식과 기술이 필요합니다. 현대화된 데이터 웨어하우스는 선도적인 기술로 설계되어야 하지만 범용으로 사용되는 SQL도 지원해야 하며, Spark, Python 및 R 개발 언어와 같이 업계에서 일반적으로 사용 가능한 다른 기술 및 도구들을 지원해야 합니다.  

 

3.4 투자 비용 절감

기존 데이터 웨어하우스는 라이선스, 하드웨어 및 서비스에 많은 비용이 투자되어야 합니다. 이 비용에는 플랫폼을 설정, 관리, 배포 및 튜닝  작업을 수행하는 전문가와 데이터 보안 및 백업에 관련된 비용되 포함되어야 합니다. 또한, 고객의 다양한 요구사항을 충족하면서 막대한 데이터 양과 다양성을 수용하도록 데이터 웨어하우스를 구축하기 위해서는 막대한 비용이 소요되는 경우가 많습니다. 현대화된 데이터 웨어하우스는 휠씬 저렴한 가격으로 이러한 문제를 해결해야 합니다. 예를 들어 필요한 리소스에 대해서만 비용을 지불하도록 스토리지와 컴퓨팅을 별도로 확장되어야 합니다. 워크로드 실행 환경은 동적으로 확장이 되어야 하며, 다양한 데이터 유형을 단일 데이터 저장소에 통합 보관해야 합니다. 시스템 업그레이드 작업은 시스템 중지 시간 없이 수행되어야 합니다. 마지막으로 기존과 같이 수동으로 성능을 튜닝하는 방식이 아닌 자동으로 성능이 튜닝되어야 합니다.  

 

3.5. 데이터 복원력(Resiliency) 및 복구 기능 제공 

시스템 장애로 인해 데이터 유실 및 불일치가 발생할 수 있기 때문에, 솔루션은 실시간 동기화된 데이터를 안전한 상태로 유지해야 합니다. 기존 데이터 웨어하우스는 일반적으로 플랫폼의 일부 리소스를 활용해서 정기적인 백업 작업을 수행해야 하며, 백업 작업이 수행되는 경우 업무 워크로드 성능에 영향을 줄 수 있습니다. 이와 같은 백업 방식은 데이터 저장을 위한 추가 저장소가 필요하며, 항상 최신 데이터가 백업되지는 않기 때문에 데이터 불일치가 발생할 수 있습니다. 현대화된 데이터 웨어하우스는 시스템 내구성, 탄력성 및 가용성을 보장해야 합니다. 실행 중인 워크로드 성능 저하 없이 백업 작업은 백그라운드로 실행됩니다. 데이터를 다른 곳으로 복사하거나 이동할 필요 없이 데이터를 보존할 방법은 비용에 커다란 해택을 줄 수 있습니다. 마지막으로 멀티-클라우드 아키텍처를 사용하면 지리적 리전 간 또는 Amazon, MS, Google과 같은 멀티-클라우드 간에 비즈니스 요구사항에 따라 데이터와 워크로드를 재배치할 수 있는 이식성을 제공합니다.   

 

3.6 저장 데이터 및 전송 데이터 보안 

데이터 보안은 다음 두 가지 영역을 주로 다룹니다: "1) 기밀성(Confidentiality): 데이터에 대한 무단 액세스 방지 및 2) 무결성(Integrity): 데이터가 수정되거나 손상되지 않고 적절하게 관리되며 품질이 유지되도록 함". 현대화된 데이터 웨어하우스는 다계층 RBAC도 지원해야 합니다. 이 기능을 사용해 사용자에게 허용된 데이터만을 사용할 수 있게 합니다. 더 강력한 보안을 위해 MFA 인증을 지원해야 합니다. 데이터 거버넌스는 모든 데이터가 관리되고 보안 침해를 방지하도록 세부 규정을 준수하기 위해 기업의 데이터가 절절하게 액세스 및 사용되는 것을 보장하기 위해 제공되어야 합니다. 저장된 모든 데이터는 암호화되어 저장되어야 합니다. 데이터 암호화 기능을 제공하기 위해 기업-수준의 암호화 키 관리 체계를 제공해야 합니다. 솔루션 벤더는 보안 취약성을 사전에 확인하기 위해 침투 테스트를 주기적으로 수행해야 합니다. 보안은 성능에 영향을 미치지 않으면서 일관되고 자동으로 관리되어야 합니다.  

 

3.7 데이터 파이프라인(Data Pipeline) 간소화

데이터 파이프라인은 데이터 웨어하우스에 데이터 가져오기를 위한 ETL 프로세스입니다. 배치 기반의 데이터 파이프라인들은 분석가와 같은 사용자들이 최신 데이터를 사용하기 위해서 너무 많은 대기 시간을 요구합니다. 여러 소스에서 스트리밍되는 비-관계형 데이터의 다양성, 수 및 크기의 빠른 증가는 문제를 더 복잡하게 만듭니다. 현대화된 데이터 웨어하우스는 데이터 파이프라인을 통해 데이터를 더 빠르게 동기화하기 위해 프로세스 전반적인 복잡성을 줄여야 합니다. 최신 솔루션들은 데이터를 변환하기 위해 NoSQL과 같은 복잡한 추가 시스템 없이 반 구조화된 데이터를 기본 형식으로 효율적으로 로드하고 쿼리에서 즉시 사용할 수 있어야 합니다. 이를 통해 사용자는 데이터베이스에서 SQL 쿼리를 수행하는 것과 동일한 방식으로 이와 같은 반정형 데이터를 바로 사용할 수 있습니다. 이러한 솔루션은 새로운 데이터에 대한 액세스를 기하급수적으로 빠르게 제공하여 수집 및 변환 프로세스를 하루에서 1시간 미만으로 단축할 수 있습니다. 

 

3.8 가치 실현 시간(Time to Value) 최적화

솔루션 구축(설치부터 구성까지)은 데이터 웨어하우스의 주요 작업이 되어서는 안 되며, 기존 시스템과 같이 수동 설치 방식은 자동화 방식으로 제공되어야 합니다. 무엇보다도 좋은 솔루션은 모든 사용자가 항상 사용할 수 있어야 하며, 기존 시스템보다 훨씬 적은 비용으로 모든 데이터 유형을 포괄해서 지원해야 합니다. 즉, 서비스 가입은 즉각적인 서비스 사용으로 이뤄져야 하며, 사용을 위한 별도의 작업이 필요하면 안 됩니다.  

 

4. On-Premises VS Cloud Data Warehousing

새로운 데이터 웨어하우스 솔루션을 선정할 때 첫 번째로 고려해야 하는 점은 "어디에 데이터 웨어하우스 시스템을 배포할 것인가?"입니다. 이 질문에 대한 선택지는 두 가지로 1) 기업 내 데이터 센터 또는 2) SaaS 서비스로 제공되는 클라우드 환경입니다. 기존 온-프레미스 데이터 웨어하우스는 클라우드 시대가 출현하기 이전에 설계 및 개발된 성숙한 제품입니다. 클라우드가 빠르게 기업 환경으로 확산 적용되면서, 클라우드 환경에서 제공하는 다양한 이점을 제대로 활용할 수 있는 데이터 웨어하우스 솔루션이 필요합니다. 여기에서는 기존 온-프레미스의 데이터 웨어하우스 솔루션과 비교하여 클라우드 데이터 웨어하우스에 대한 주요 고려사항에 대해 살펴보도록 하겠습니다.  

 

4.1 가치 실현 시간(Time to Value) 평가

전통적인 데이터 웨어하우스 시스템 구축은 일반적으로 1년 이상의 장기 프로젝트로 진행됩니다. 오늘날 비즈니스 민첩성으로 인해 프로젝트 기간 동안 핵심 이해 관계자의 퇴사 또는 프로젝트 요구사항 변경과 같은 다양한 변화들이 발생할 수도 있습니다. 또한, 온-프레미스 기반의 솔루션들은 반정형 데이터도 처리할 수 없어서, 이 데이터 유형을 처리하기 위한 별도의 계층을 추가 구축해야 합니다. 이 역시 프로젝트 기간을 연장하는 요소로 적용되며, 운영 시점에도 관리 복잡성 증가 및 사용하기 불편한 다양한 이슈를 야기시킵니다. 분석을 위해 투자되는 시간보다는 이기종 시스템 간의 데이터를 통합하는데 더 많은 시간을 투자해야 합니다.   

 

4.2 스토리지 및 컴퓨팅 비용에 대한 고려

온-프레미스 데이터 웨어하우스는 하드웨어, 소프트웨어 투자 및 관리 측면에서 큰 비용을 투자해야 합니다. 하드웨어 비용에는 서버, 스토리지, 데이터 센터의 공간, 네트워크, 데이터 센터 전원 및 예비 전원 공급 장치에 관련된 비용이 포함됩니다. 데이터 웨어하우스 시스템이 1급 시스템이면 DR 환경을 구축해야 하므로 추가 비용이 발생합니다. 또한, 소프트웨어 라이선스에 대한 비용도 필요하며, 여기에는 연간 유지보수를 위해 추가되는 비용도 고려되어야 합니다. 마지막으로 온-프레미스 환경에 데이터 웨어하우스 시스템을 구축하고 유지 관리하기 위한 전문가에 대한 인적 비용도 발생합니다. 이렇게 구축된 시스템에 문제가 발생하는 경우, 문제 해결에 대한 주체는 솔루션 벤더가 아닌 고객의 몫이 됩니다. 이와 달리, 클라우드 데이터 웨어하우스는 온-프레미스의 CapEx 비용 모델을 사용량 기반으로 가격이 책정되는 OpEx 모델로 대체하였습니다. 대부분의 경우 클라우드 데이터 웨어하우스 솔루션의 연간 비용은 유사한 규모의 온-프레미스 시스템의 10/1이 될 수 있습니다.  

 

4.3 Sizing, Balancing 및 Tuning

온-프레미스 데이터 웨어하우스에서 최적의 성능을 제공하기 위해서는 데이터를 올바르게 모델링해야 하며. 시스템의 용량을 올바르게 사이징해서 구축해야 하며, 수행되는 워크로드를 밸런싱있게 조정해야 하고 지속적인 튜닝 작업을 수행해야 합니다. 이 작업은 시스템 구축 초기에도 진행해야 하며, 시스템을 운영하는 도중에도 항상 시스템을 모니터링하고 조정 사항이 발생하면 수행해야 하는 작업들입니다. 이와 같은 작업을 수행하기 위해서는 1) CPU 속도와 수, 2) 메모리양, 3) 필요한 저장공간을 위한 디스크 용량 및 개수, 4) IO Bandwidth 및 5) 데이터 웨어하우스의 데이터 구조(데이터 유형 및 업데이트 빈도를 고려한 데이터 모델링 작업)들을 고려해야 합니다. 온-프레미스 데이터 웨어하우스를 사용하는 고객은 1년에 불과 얼마 되지 않는 피크 시점의 워크로드를 수용하기 위해 플랫폼 증설 작업을 수행하는 경우가 많이 발생합니다(예: 년 마감 단위 배치 작업). 이 시스템은 쉽게 물리적인 리소스를 쉽게 조정할 수 없기 때문에 항상 피크 시점의 용량으로 플랫폼을 구축하고 운영해야 합니다. 그렇다면 클라우드 환경에서는 어떻게 개선할 수 있을까요? 탄력적인 클라우드 데이터 웨어하우스는 다음과 같은 두 가지 이점을 제공합니다:

  • 플랫폼 용량 계획 및 관리의 복잡성(플랫폼 사이징, 워크로드 조정, 시스템 튜닝)은 클라우드 기반으로 시스템이 구축되고 자동화되므로 서브스크립션 비용으로 대체됩니다.  
  • 평균 워크로드 기간이나 피크 시점과 같이 변화하는 워크로드 요청을 탄력적으로 충족하기 위해 스토리지 및 컴퓨팅 리소스를 동적으로 프로버저닝하여 제공합니다.  

4.4 데이터 준비와 ETL 비용 고려

온-프레미스 데이터 웨어하우스에 저장된 데이터는 1) 데이터 소스에서 추출된 데이터를 2) 데이터 웨어하우스에 저장하기 전에 표준화된 데이터 구조로 변환하는 작업을 수행한 뒤, 데이터 웨어하우스에 로딩합니다. 이와 같은 ETL 작업의 핵심 도전 과제는 한정된 리소스(데이터 처리를 위한 시스템 리소스 및 스트로지)에 의존한다는 것입니다. 때문에 ETL 작업은 업무용 분석 작업이 실행되지 않는 야간에 주로 처리됩니다. 또한, 반정형 데이터는 데이터 웨어하우스에 저장되기 전에 반드시 정형데이터로 변경되어야 하며, 매우 비싼 연산 작업을 요구합니다. 이 데이터들은 일반적으로 대용량이며 실시간 성격을 가지고 있기 때문에, 기존 데이터 웨어하우스의 시스템 용량을 초과하는 경우가 많이 발생합니다. Snowflake의 데이터 웨어하우스 시스템은 반정형 데이터를 변환하지 않고 직접 로드할 수 있기 때문에 값비싼 ETL 작업이 불필요하며, 데이터가 생성되는 시점에 바로 로드할 수 있기 때문에 데이터 사용에 대한 지연이 발생하지 않습니다. 또한, 저렴한 클라우드 스토리지를 사용하기 때문에 모든 데이터를 분석용으로 활용할 수 있습니다.  

 

4.5 전문 비즈니스 분석 도구 비용 추가

이전에 언급한 것과 같이, 기존 온-프레미스 데이터 웨어하우스는 오늘날 데이터의 양, 다양성 및 속도를 고려하지 않고 설계되었습니다. 이 결과로 기업은 기존 관계형 데이터를 위한 온-프레미스용 EDW와 비 관계형 데이터를 위한 NoSQL 빅 데이터 플랫폼이라는 두 가지 데이터 플랫폼을 운영하고 있습니다. 이와 같은 이기종 플랫폼의 구조는 불행하게도 플랫폼 아키텍처의 복잡성을 높이고, 관리하기 어려우며, SQL 사용과 다르게 전문 도구를 활용할 수 있는 전문가 의존성을 높여 기업 내의 모든 사용자들이 범용으로 사용하기에는 한계가 있습니다. 가장 이상적인 클라우드 데이터 웨어하우스 솔루션은 양분된 두 개의 플랫폼을 하나의 플랫폼으로 제공하는 것입니다(관계형 및 비관계형 데이터를 통합할 수 있는 유연성과 함께 사용자는 SQL 쿼리로 모든 데이터를 통합하여 분석할 수 있어야 합니다.).  

 

4.6 클라우드 환경에서 제공하는 확장성과 탄력성 활용

기존 데이터 웨어하우스는 사용자와 워크로드가 제한된 리소스 환경에서 동시다발적으로 실행됨으로써, 리소스 경합으로 인한 성능 저하 및 시스템 장애 상황이 발생하기 쉽습니다. 최신의 클라우드-기반 데이터 웨어하우스 솔루션은 클라우드에서 제공하는 거의 무제한의 스토리지 및 컴퓨팅 리소스를 사용할 수 있습니다. 또한, 그림 4-1과 같이 컴퓨팅과 스토리지는 독립적으로 필요에 따라 확장되어야 합니다. 그 때문에 가장 이상적인 클라우드 데이터 웨어하우스는 다음 세 가지 방식의 확장성을 제공해야 합니다:

  • Storage: 클라우드 스토리지는 본질적으로 확장 가능하며, 요청에 맞게 스토리지 양을 쉽게 조정할 수 있습니다.
  • Compute: 데이터 로드와 쿼리 실행에 필요한 컴퓨팅 리소스는 워크로드 수와 워크로드 로드의 변화에 반응하여 쉽게 확장되거나 축소되어야 합니다.
  • 사용자 및 워크로드의 동시성(concurrency): 고정된 컴퓨팅 리소스-기반으로 실행되는 솔루션들은 사용자와 워크로드가 증가함에 따라 성능저하 현상이 발생합니다. 경우에 따라 성능을 개선하기 위해 데이터를 별도의 데이터 마트로 복제해야 하며, 일부 워크로드는 근무 시간 외로 배치하고, 성능 저하 현상을 방지하기 위해 동시에 실행 가능한 작업의 수를 제한해야 합니다. 클라우드-기반의 데이터 웨어하우스만이 워크로드 간의 성능 간섭 현상 없이 거의 제한 없는 사용자 또는 워크로드 전용의 컴퓨팅 클러스터를 온-디맨드로 추가하여 데이터 웨어하우스의 실행 환경을 "확장"할 수 있습니다. 

스토리지와 컴퓨팅 리소스가 독립적으로 분리되면, 좀 더 합리적인 비용만을 투자하여 플랫폼을 구축할 수 있습니다. 또한, 이 솔루션은 성능 저하 현상 없이 더 많은 사용자와 워크로드를 지원하기 위해 수직적(vertically) 및 수평적(horizontally)인 확장성을 제공해야 합니다. 

그림 4-1. 가장 이상적인 데이터 웨어하우스는 세 가지 방식으로 확장되어야 합니다.

 

4.7. 서비스 지연 및 시스템 중지 시간 감소

온-프레미스 솔루션을 사용하는 많은 고객들은 두 가지의 주요 불만 사항이 있습니다. 첫 번째 불만 사항은 데이터 소스의 데이터는 ETL과 같은 배치 작업을 통해 데이터 웨어하우스 시스템에 반영되기 때문에 최신 데이터 사용에 대한 긴 리드 타입이 존재하며, 두 번째 불만 사항은 자원-집약적인 워크로드가 수행될 때 실행 중인 작업은 성능 저하 현상이 발생하며 신규로 요청받은 작업들은 자원이 가용해질 때까지 대기해야 합니다. 경우에 따라 여러 작업이 동시에 수행되면 시스템에 장애가 발생할 수도 있습니다. 클라우드의 무제한의 스토리지 및 컴퓨팅 리소스를 탄력적이고 동적으로 실행 환경을 제공하도록 설계된 클라우드 데이터 웨어하우스 솔루션은 사용자 워크로드 변동에 따라 실행 환경을 확장 및 축소할 수 있는 기능을 제공합니다. 그러나 성능 지연을 개선하고 계획되지 않은 다운타임을 해결하려면 단순히 시스템 리소스만을 늘리는 것 이상의 기능이 필요합니다. 더 좋은 솔루션은 데이터 파이프라인을 간소화하여 데이터를 저장할 수 있고, 관리자의 성능 튜닝 개입 없이 쿼리를 보다 효율적으로 실행할 수 있어야 합니다.  

 

4.8 보안 비용 고려

한 번의 보안 사고는 기업 브랜드 가치의 손상 및 고객 이탈로 기업 생존에 막대한 영향을 미칠 수 있습니다. 클라우드 환경은 보안 위험에 대한 두려움이 존재하지만 실제로는 데이터 센터보다 더 안전할 수 있습니다. 온-프레미스 데이터 웨어하우스를 사용하는 경우, 민감한 데이터를 보호할 책임은 전적으로 사용자에게 있기 때문에, 보안 적용(방화벽, 네트워크 보안, 데이터 암호화, 사용자 역할 및 권한 관리 등) 및 이에 대한 지속적인 모니터링 및 보안 활동을 수행해야 합니다. 효과적인 데이터 보안은 특히 인적 자원 측면에서 고 투자 비용을 요구하고 있습니다. 클라우드 데이터 웨어하우스 제공업체는 많은 고객에게 서비스를 제공하고 있기 때문에 플랫폼 전역에 완벽한 보안이 구축되어 있다고 평가될 수 있으며, 일반적인 보안 관리 활동 및 책임도 서비스 벤더에게 있습니다.  

 

4.9 데이터 보호 및 복구 비용 

온-프레미스 데이터 웨어하우스는 장비 고장, 정전 또는 자연재해로 인한 데이터 손실에 취약합니다. 데이터를 보호하기 위해서는 정기적으로 백업하고 지리적으로 분리된 원격 위치에 백업 본을 저장 및 보관해야 합니다. 시스템 장애를 예방하기 위해 백업 전원 공급 장치도 필요하며, 자연재해가 발생한 경우 최신 백업을 사용하여 데이터를 복구할 전문가도 필요합니다. 데이터 웨어하우스 시스템의 중요도가 1급 시스템인 경우 비즈시스 연속성을 제공하기 위해 운영과 동일하게 DR 시스템을 구축해야 합니다. 여기에는 하드웨어와 소프트웨어 비용이 발생합니다. 클라우드는 데이터 보호 및 복구를 위한 이상적인 솔루션을 제공합니다. 일부 클라우드 기반 솔루션은 데이터를 두 개 이상의 개별 물리적 위치에 자동으로 백업하며, 데이터 센터가 지리적으로 격리된 경우 기본으로 제공되는 재해 복구 기능도 제공합니다. 클라우드 데이터 센터에는 전원 공급 장치가 이중화되어 있어 장기간 정전이 발생하더라도 가동 상태를 유지할 수 있습니다. 클라우드 벤더는 수천 명의 클라이언트 비용을 분산하여 자체적으로 구축하는 것보다 훨씬 저렴한 비용으로 앞서 살펴본 데이터 보호 기능을 제공할 수 있습니다. 

 

 

5. Cloud Data Warehouse Solution 비교

클라우드 채택이 증가하면서 클라우드 환경을 지원하는 데이터 웨어하우스 솔루션은 크게 두 가지 유형이 존재합니다: 1) 온-프레미스 환경의 데이터 웨어하우스 솔루션의 클라우드 버전 및 2) 클라우드 환경으로만 새롭게 개발된 데이터 웨어하우스 솔루션. 물론 이 두 가지 솔루션은 동일하지 않습니다. 여기에서는 몇 가지 차이점과 클라우드 데이터 웨어하우스 간의 차이점에 관해 설명합니다.  

 

5.1 클라우드에서 데이터 웨어하우스에 대한 접근 방식 이해

다음과 같은 클라우드 환경에서의 접근 방식은 데이터 웨어하우스 기능에 대해서도 굉장히 다른 기능을 제공합니다:

  • IaaS: 온-프레미스와 동일하게 클라우드 인스턴스에 데이터 웨어하우스 소프트웨어를 설치하고, 관리해야 합니다. 데이터 웨어하우스의 기능은 온-프레미스 환경에서 사용한 소프트웨어와 같습니다.  
  • PaaS: 하이브리드 접근법을 통해 데이터 웨어하우스 벤더는 클라우드 서비스로 솔루션 배포, 설치 및 구성을 관리합니다. 사용자는 솔루션 관리, 튜닝 및 최적화 작업을 수행해야 합니다.  
  • SaaS: 데이터 웨어하우스 벤더는 하드웨어 및 소프트웨어 관리를 포함한 플랫폼을 서비스로  제공합니다. 일반적으로 소프트웨어 및 하드웨어 업그레이드, 보안, 가용성, 데이터 보호 및 최적화가 서비스에 포함됩니다. 

위와 같이 클라우드 환경에서 제공하는 서비스들은 온-프레미스 환경에서 데이터 웨어하우스를 구축하는데 필요한 다양한 작업들이 고객에서 벤더로 이전됨을 의미합니다. 이런 장점 이외에도 여러 솔루션의 장점 및 단점은 사용 편의성에서 보안 및 가용성에 이르기까지 다양합니다.   

 

5.2 아키텍처 비교

다양한 벤더들은 원래 온-프레미스 환경을 위해 개발된 솔루션을 클라우드 버전으로 포팅하여 제공하고 있습니다. 이런 전통적인 아키텍처는 클라우드 등장보다 훨씬 전에 설계되었기 때문에 클라우드 환경의 이점을 제한적으로 제공할 수밖에 없습니다. 그림 5-1과 같이 클라우드용으로 설계된 데이터 웨어하우스는 클라우드 이점을 잘 활용해야 합니다. 클라우드 환경에 최적화된 아키텍처를 기반으로 구축된 솔루션을 식별하기 위해서는 다음 기능들이 제공되는지를 확인해야 합니다: 

  • 모든 데이터를 위한 중앙 단일 스토리지 제공 여부
  • 컴퓨팅 및 스토리지 리소스의 독립적인 확장성 제공 여부
  • 리소스 경합 없이 거의 무제한에 가까운 동시 사용성 제공 여부
  • 여러 워크로드들이 성능 저하 없이 동시에 데이터 로드 및 쿼리 수행 여부
  • 비즈니스 연속성을 강화하고 확장을 단순화하기 위해 멀티-리전 및 멀티-클라우드 간에 데이터 복제 가능 여부
  • 데이터 복사 및 이동 없이 데이터 공유 가능 여부
  • 전체 시스템인 글로벌 수준으로 제공되는 메타데이터 서비스 제공 여부

클라우드에 최적화된 아키텍처는 Storage-as-a-service를 활용해 데이터 스토리지 계층이 사용자에게 투명하게 제공되어야 하며, 사용자 요구사항에 맞게 자동으로 확장 및 축소되어야 합니다. 이전 아키텍처 용으로 설계된 데이터 스토리지는 비용이 많이 들고 제한된 확장성을 제공합니다.  

그림 5-1. 클라우드에 최적화된 아키텍처가 성능을 간소화하는 방법.

5.3 다양한 데이터 관리 평가 

클라우드 데이터 웨어하우스 도입이 가속화된 주요 원인 중 하나는 기업 내/외부의 데이터가 빠른 속도로 증가하기 때문입니다. 이처럼 방대한 양과 다양한 데이터로 인해 클라우드는 자연스럽게 통합 데이터 저장소가 되었습니다. 대부분의 경우, 비-관계형 데이터는 온-프레미스 또는 클라우드 환경의 기존 데이터 웨어하우스에 로드되기 전에 변환되어야 합니다. 이 접근 방식은 새로운 데이터에 대한 처리 복잡성과 지연을 야기합니다. 이와 같은 문제점들을 이상적으로 해결하는 방법은 관계형 및 비관계형 데이터를 모두 데이터 변환 작업 없이 단일 데이터 웨어하우스 솔루션에서 처리할 수 있어야 합니다.  

 

5.4 규모(Scale) 및 탄력성 측정

모든 클라우드 데이터 웨어하우스가 동일한 탄력성을 제공하지는 않습니다. 이상적인 탄력성은 시스템을 오프라인으로 전환하거나 읽기 전용 모드로 전환하지 않고도 즉시 확장 및 축소할 수 있어야 합니다. 제한된 확장성을 제공하는 솔루션들의 단점을 고려해야 합니다:  

  • 클라우드 데이터 웨어하우스의 리소스 확장을 위해 구성정보를 수동으로 구성해야 하는 경우는 변화하는 워크로드 패턴을 유연하게 수용할 수 없습니다.
  • 시스템 확장을 위해 데이터 재분배 작업을 수행 및 시스템 다운 타임이 발생하여 작업 시간이 오래 소요됩니다
  • 대부분의 클라우드 데이터 웨어하우스 솔루션은 온-프레미스의 MPP 아키텍처를 그대로 사용하고 있습니다. 즉, 노드는 스토리지와 컴퓨팅 리소스가 공존해야 하며, 고객이 둘 중 하나의 리소스만 증가해야 하는 경우에도 둘 다 확장해야 합니다.
  • 대부분이 온-프레미스 솔루션의 "클라우드 세척(Cloud-washed)" 버전이기 때문에 워크로드의 피크 부하를 고려하여 용량을 산정해야 합니다. 또한, 최대 용량이 초과되는 워크로드에 대해서는 능동적으로 대체할 수 없기 때문에 추가 확장을 고려해야 합니다.

5.5 Concurrency Capabilities 비교

동시성은 둘 이상의 작업을 동시에 수행하는 것을 의미합니다. 기존 데이터 웨어하우스는 고정한 하드웨어에 배포 구성되는 방식으로 고정된 가용 리소스로 인해 동시성을 제한합니다. 그러나, 클라우드 환경에서는 컴퓨팅 및 스토리지가 고정되어 있지 않습니다. 클라우드 최적화 아키텍처는 다음과 같은 두 가지 방식으로 동시성을 제공해야 합니다: 

  • 여러 사용자들이 성능 저하 현상 없이 동일한 데이터를 동시에 쿼리할 수 있어야 합니다.
  • 데이터 로드 및 쿼리가 동시에 발생할 수 있기 때문에, 리소스 경합 업이 여러 유형의 워크로드가 동시에 수행할 수 있어야 합니다.  

5.6 SQL 및 다른 도구에 대한 지원 보강

거의 모든 BI, ETL 및 기타 데이터 분석 도구들은 표준 SQL을 통해 데이터 웨어하우스와 통신할 수 있어야 합니다. 그러나 모든 클라우드 데이터 웨어하우스 솔루션이 표준 SQL을 완벽하게 지원하는 것이 아닙니다. 예를 들어, "클라우드 데이터 웨어하우스"로 포지셔닝된 빅 데이터 솔루션은 종종 NoSQL이며 불완전하거나 비표준 SQL만을 지원합니다.  

 

5.7 Backup/Recovery 지원 확인

온-프레미스 및 클라우드 환경의 다양한 데이터 웨어하우스 솔루션들은 플랫폼 내의 데이터 보호를 위한 백업 및 데이터 복제 기능을 지원해야 합니다. 최적의 데이터 보호 기능을 제공하는 솔루션들은 이전 버전의 데이터를 자동으로 저장하거나 온라인 백업으로 사용할 데이터를 자동으로 복제하는 기능을 지원해야 합니다. 또한, 이 솔루션은 완벽한 비즈니스 연속성을 위해 동일한 클라우드 벤더 환경 또는 멀티-클라우드 환경 간의 복제를 통해 데이터 유실이나 손상된 데이터에 대한 셀프서비스 복구를 허용해야 합니다.  

 

5.8 Resiliency & Availability 확인

복원력은 시스템, 네트워크 또는 데이터 센터 장애가 발생한 경우에도 서비스가 자동으로 실행되는 것을 의미하며, 가용성은 사용자가 항상 시스템에 접근하여 사용할 수 있음을 의미합니다. 클라우드 데이터 웨어하우스 서비스는 가용성과 복원력에 고객이 얼마나 개입을 하는지에 따라 다릅니다. 가장 기본적인 수준의 클라우드 데이터 웨어하우스 서비스는 고객이 시스템 모니터링, 장애 감지 및 장애 복구에 대한 작업을 수행하는 주체입니다. 고객이 데이터 복제를 관리하기 때문에, 장애가 발생한 경우 데이터 웨어하우스에서 복제본을 사용할 수 있도록 구성해야 합니다. 진보된 서비스 벤더는 고객에게 제공하는 서비스의 부분으로 모니터링, 데이터 복제 및 자동 장애 복구 기능을 제공합니다. 가용성은 소프트웨어 업그레이드를 위해서도 필요합니다. 벤더마다 솔루션을 업그레이드하는 정책은 다를 수 있습니다: 

  • Basic: 고객이 소프트웨어 업그레이드 및 장애 조치의 주체입니다.
  • Better: 벤더는 업그레이드를 관리하고 사용자에게 예정된 업그레이들 공지하여 다운-타임에 대한 계획을 세울 수 있습니다.
  • Best: 벤더는 사용자 개입 없이 시스템 중지 없이 업그레이드를 수행할 수 있습니다. 벤더는 고객이 자동 업그레이드를 선택 또는 해제할 수 있는 옵션을 제공할 수 있습니다.

5.9 성능 최적화

클라우드의 가장 큰 혜택 중의 하나는 사용자가 원하는 시점에 원하는 만큼의 시스템 리소스를 제공 받을 수 있고, 사용한 만큼만 비용을 지불하면 된다는 것입니다. 사용자가 원하는 시점에 관리자가 추가 리소스를 할당할 필요 없이, 클라우드 데이터 웨어하우스 솔루션이 온-디맨드로 추가 리소스를 워크로드에게 제공하여 최적화 할 수 있어야 합니다.  

 

5.10 Cloud 데이터 보안 평가

클라우드는 종종  온-프레미스보다 데이터 보안에 더 취약한 것으로 인식되지만 데이터 센터의 보안 사고로 인해 점점 클라우드 환경으로 마이그레이션하는 기업들이 늘고 있습니다. 이러한 보안 사고는 기업이 자체 데이터 센터에 데이터를 안전하게 보호하는 데 능력적으로 한계가 있음을 보여줍니다. 클라우드 데이터 웨어하우스 오퍼링은 물리적 데이터 센터 보안에 대한 책임을 사용자가 아닌 솔루업 벤더로 위임하지만, 보안 기능이 솔루션마다 상이하기 때문에 다음 사항을 유의해야 합니다. 

  • 기본 클라우드 데이터 웨어하우스 솔루션은 보안의 일부 기능만을 제공하기 때문에 고객이 데이터 암호화, 접근 제어, 보안 모니터링과 같은 보안 구성을 매뉴얼 하게 구성해야 사용할 수 있습니다.  
  • 그 외 다른 솔루션들은 고객이 보안 구성(암호화 및 접근 제어)을 쉽게 활성화할 수 있지만, 활성화하지 않는 경우 보안이 취약한 상태로 운영될 수 있습니다. 
  • 보다 서비스 지향적인 클라우드 데이터 웨어하우스 솔루션은 보안 기능을 제품에 통합하여 데이터 암호화, 암호화 키 관리, 키 교체, 침입 감지 등을 서비스의 일부로 제공하고 있습니다.  

5.11 관리 작업 고려

기존 데이터 웨어하우스 솔루션은 전문화된 관리 조직을 필요로 합니다. DBA는 소프트웨어 패치 및 업그레이드 적용, 데이터 파티셔닝 관련 작업 수행, 인덱스 관리, 워크로드 관리, 통계 업데이트, 보안 관리 및 모니터링, 백업 및 복제, 쿼리 튜닝 등의 작업을 수행해야 합니다. 온-프레미스 기술 기반으로 개발된 클라우드 데이터 웨어하우스는 여전히 위와 같은 관리 작업을 수행해야 합니다.  최신 데이터 웨어하우스 솔루션은 새로운 설계와 자동화를 통해 위와 같은 관리 오버헤드의 상단 부분을 줄이거나 제거했습니다.  

 

5.12 안전한 데이터 공유 사용

많은 비즈니스에서 외부 기간과의 데이터 공유가 필요합니다. FTP, API 및 이메일과 같은 기존 데이터 공유 방법을 사용하려면 데이터를 복사해 공유 대상에게 전송해야 했습니다. 이는 공유 방식이 번거롭고 비용이 많이 들며 보안에 취약하며 원본 데이터가 변경되면 변경된 데이터를 소비자에게도 반영해야 합니다. 클라우드-기반의 데이터 웨어하우스는 라이브, 관리 및 보안 데이터 공유를 가능하게 합니다. 이 방식을 사용하면 데이터 복사 및 이동 없이 실시간 데이터를 교환할 수 있습니다.  

 

5.13 글로벌 데이터 복제(Global Data Replication) 지원

데이터 복제는 클라우드 상에 여러 개의 복사본을 생성합니다. 이는 재해 복구 및 비즈니스 연속성을 위해 필수적일 뿐만 아니라: 리전 간에 ETL 파이프라인을 구축 및 설정하지 않고 글로벌 다른 고객과 데이터를 공유하려는 경우에도 유용합니다. 최고의 데이터 웨어하우스 솔루션은 AWS, MS Azure, GCP와 같은 멀티-클라우드 또는 지리적 리전 간에 데이터를 쉽게 공유할 수 있는 기능을 제공합니다. 이와 같은 글로벌 복제 기능은 시장을 확장하고 여러 파트너와 더 쉽게 협력할 수 있도록 하며, 분석 및 데이터 공유를 위한 보다 완전한 에코 시스템을 가능하게 합니다.  

 

5.14 워크로드 실행환경 격리 보장

데이터 웨어하우스 성능의 핵심 요소는 워크로드를 격리하는 기능입니다. 클라우드 데이터 웨어하우스는 여러 컴퓨팅 리소스 풀(다양한 사이즈)를 쉽게 구성하여 동시에 요청받은 워크로드를 분리해서 처리 할 수 있어야 합니다. 이 기능을 통해 복합 워크로드로 야기된 경합이 제거되고 개별 워크로드에 맞는 실행 환경을 제공할 수 있습니다. 또한, 이런 개별 워크로드가 동일한 데이터에 동시에 접근하여 처리할 수 있어야 하며, 필요에 따라 자동으로 on/off 되어야 합니다.  

 

5.15 모든 Use Case를 활성화

기존 환경에서 다양한 데이터 시스템은 각자의 분석 용도에 만든 업무만을 처리했습니다. 예를 들면, 오퍼레이션 리포팅 업무는 데이터 웨어하우스 시스템에서 수행되었으며, 부서별 리포팅 및 분석 환경은 데이터 마트를 통해 제공되며 반정형 또는 비정형 데이터를 활용한 데이터 탐색 환경은 데이터 레이크 시스템에서 제공되었습니다. 이와 같은 시스템들은 개별적인 하드웨어 및 소프트웨어 투자 및 관리 등이 필요했습니다. 이처럼 여러 업무를 지원하는 온-프레미스의 여러 이기종 시스템들을 클라우드 환경으로 통합하려면, 데이터 웨어하우스는 테이블, 스키마 및 데이터베이스의 여러 복사본을 복제하는 빠르고 효율적인 방법을 지원하는 동시에 기존 아키텍처와 같이 데이터 복제와 관련된 골치 아픈 문제와 추가 스토리지 비용을 발생시키지 않아야 합니다. 또한 클라우드 데이터 웨어하우스는 Time traveling과 같은 기능을 통해 데이터 변환 작업에서 생성된 오류나 문제로부터 쉽게 복구할 수 있어야 하며, 이 기능을 통해 이전 버전의 데이터에 간단히 액세스하고 롤백할 수 있어야 합니다.  

 

 

6. Maximizing Options with a Multi-Cloud Strategy

멀티-리전과 멀티-클라우드 환경을 지원하는 데이터 웨어하우스를 사용하면 데이터 공유 및 비즈니스 연속성 등에서 엄청난 혜택을 누릴 수 있습니다.  Flexera의 "2019 State of the Cloud" 보고서에 따르면, 조직의 84%가 멀티-클라우드 전략을 취하고 있습니다. 고객의 비즈니스가 글로벌로 확대 적용된 경우에는 크로스-클라우드 전략이 적합합니다: 이를 통해 전 세계 어디에서나 데이터를 자유롭고 안전하게 이동할 수 있으며, 지역마다 고객이 선호하는 클라우드 환경을 선택하여 사용할 수 있습니다. 예를 들어, 기업 내 개별 부서별로 자신들이 선호하는 클라우드 환경에 대한 요구사항이 있을 수 있습니다. 이와 같은 유연성이 중요하다면 멀티-클라우드 및 크로스-클라우드 환경을 지원하는 벤더의 솔루션을 선택해야 합니다. 

 

6.1 크로스 클라우드(Cross-Cloud) 이해

멀티-클라우드는 데이터를 여러 다른 클라우드 환경에 저장할 수 있음을 의미하며, 크로스-클라우드는 모든 클라우드 환경에 존재하는 데이터에 동시에 액세스하고, 분석 오퍼레이션을 클라우드 환경 간에 쉽게 마이그레이션 할 수 있어야 하며, 클라우드 간에 데이터를 공유할 수 있음을 의미합니다.이를 통해 클라우드 벤더 락-인을 해소할 수 있습니다. 모든 클라우드 벤더는 모든 리전에 서비스를 제공하는 것이 아니기 때문에 글로벌 기업에게 유용합니다. 데이터를 공유하거나 수익을 창출할 계획이 있다면 리전과 클라우드를 아우르는 통합 데이터 관리 플랫폼이 도움이 됩니다.  

 

6.2 글로벌 복제(Global Replication) 활용

데이터 복제는 리전 장애가 발생하더라도 데이터 가용성을 보장하기 위해 둘 이상의 위치에 데이터를 저장하는 프로세스입니다. 또한, 리전과 클라우드 간에 데이터를 공유할 수 있게 해주는 기본 기술입니다. 클라우드 데이터 웨어하우스 솔루션은 데이터를 활용하는 분석 워크로드 등에 대한 작업 성능을 저하하지 리전 간 또는 클라우드 간 복제를 가능하게 해야 합니다.  

  • 서비스 중단 최소화: 크로스-클라우드 데이터 웨어하우스 복제는 재해 복구를 위한 중요한 기능입니다. 장애가 발생하면, 그림 6-1과 같이 가동 중지 시간 없이 데이터 처리 활동을 즉시 재개할 수 있습니다. 만일 이와 같은 적절한 복제 기술이 없으면 대규모 데이터 웨어하우스에 대한 리전 백업을 복원하는 데 몇 시간 또는 며칠이 소요될 수 있습니다. 특정 나라에 자연재해가 발생하더라도 다른 지역이나 클라우드 환경에 복제된 데이터를 즉시 사용할 수 있어야 합니다.  

그림 7-1. 글로벌 데이터 복제 기능을 통해 장애가 발생한 경우에도 비즈니스 연속성을 보장합니다.

  • 멀티-클라우드 지원: 데이터를 많이 보유한 조직의 공통적인 문제는 데이터 이식성입니다. 각 퍼블릭 클라우드 벤더의 리전 지원은 나라마다 다릅니다. 크로스-클라우드 아키텍처를 사용하면 지리적 지역과 클라우드 벤더 간에 데이터와 워크로드를 더 쉽게 이동할 수 있습니다. 데이터 이동성은 업계에서 데이터를 특정 국가 또는 리전 내에 유지해야 하는 보안 규정 준수를 간소화해줍니다.  
  • 데이터 주권(Data sovereignty) 충족: 회사의 규모가 전 세계로 확장되면, 서비스를 제공하는 리전에서 데이터 처리 작업을 원할 수 있습니다. 멀티-클라우드 전략을 사용하면 각 리전별로 선호하는 클라우드 환경을 선택할 수 있는 유연성이 제공되므로 대기 시간을 최소화하고 지리적 요구 사항을 유지하며 데이터 주권 요구 사항을 준수하는 아키텍처를 구성할 수 있습니다. 데이터 지연 시간 없이 원격 리전으로 확장할 수 있으며 전체 조직을 위한 단일 정보 소스(single source of truth)를 제공할 수 있습니다.
  • 보안 단순화: 멀티 클라우드 환경에서 모든 클라우드 벤더에 동일한 보안 구성과 기술을 적용하기 위해서는 어떻게 해야 하나요? 다양한 보안 요구사항을 멀티 클라우드 환경에 구축하기 위해서는 어떻게 해야 하나요? 모든 클라우드 플랫폼에 통한 코드 베이스(Unified code base)는 보안과 같이 복잡한 작업을 단순화합니다. 이를 통해 멀티-클라우드 환경에 동일한 보안 및 동일한 사용자 경험을 제공할 수 있으며, 클라우드 환경에서 보안 요구사항을 충족하기 위해 보안 또는 클라우드 전문가를 고용할 필요가 없습니다. 고급 복제 기술을 사용하면 데이터 파이프라인을 설정하거나, 데이터를 복사하거나, 이기종 환경과의 보안 이슈를 해결하지 않고도 여러-리전과 여러 클라우드 환경 간에 데이터를 쉽게 공유할 수 있습니다. 

 

7. 데이터 보안

클라우드 보안에 대한 사실: 대부분의 경우, 데이터는 기업 내의 데이터 센터보다 클라우드 환경에 존재하는 것이 더 안전합니다. 딜로이트의 2019년 IT 임원 설문 조사에 따르면, 조직의 90% 이상이 주로 클라우드 플랫폼에서 데이터를 보관하고 있습니다. 데이터 보안 및 거버넌스는 기업이 데이터를 클라우드로 마이그레이션하게된 주요 동력이었습니다. SaaS 클라우드 벤더는 현재 수천 또는 수백만 명의 고객에게 비즈니스 서비스를 제공하고 있습니다. 이들은 서비스 종단-간 데이터 보안을 제공하기 위한 해결책을 알고 있습니다. 그러나 자세히 살펴보면 보안 기능은 매우 다양하므로, 모든 클라우드 서비스 공급업체가 데이터 보안을 위해 노력하고 있지는 않습니다.  

 

7.1 Exploring the Fundamentals

데이터를 보호하고 보안 관련 규정을 준수하는 것은 클라우드 데이터 웨어하우스 서비스의 설계, 아키텍처, 구현 및 운영에 기본이 되어야 합니다. 서비스의 모든 측면에서 현재 및 앞으로 예상되는 보안 위협을 모두 고려하는 다 계층 보안 전략으로 데이터를 보호하는 데 중점을 두어야 합니다. 이 전략은 포괄적인 모니터링, 경고 및 검증 가능한 사이버 보안 관행과 함께 외부 인터페이스, 접근 제어 데이터 저장 및 물리적 인프라 영역으로 확대 적용되어야 합니다. 

  • 데이터 암호화(by default): 데이터 암호화 및 복호화는 데이터 플랫폼에서 보안의 기본 사항이며, 클라우드 데이터 플랫폼은 데이터 암호화/복호화가 워크로드 성능 영향도 없이 자동으로 항상 실행되어야 합니다. 데이터는 플랫폼 종단 간의 모든 영역(1: 네트워크 구간, 2: 디스크에 저장)에서 암호화되어야 합니다. 쿼리 결과 역시 암호화되어야 합니다. 클라우드 벤더는 계층적 키 관리 모델과 함께 AES-256 암호화 알고리즘을 사용합니다. 이는 암호화 키 자체도 암호화하며, 단일 키를 사용하는 시간을 제한하여 보안을 더욱 강화합니다.   
  • 접근 제어: 클라우드 데이터 웨어하우스 서비스는 항상 사용자에게 권한을 부여하고 자격 증명을 인증하며 사용자에게 접근 권한이 있는 데이터에만 접근 권한을 부여해야 합니다. 가장 간단한 방식은 사용자가 사용할 수 있는 데이터에만 접근할 수 있는 RBAC을 이용하는 것입니다. 접근 제어는 테이블, 스키마 및 데이터 웨어하우스에 있는 모든 객체에 적용되어야 합니다. 강력한 보안 인증을 위해 멀티-팩터 인증 기능을 제공해야 합니다. 또한 SSO나 페더레이션 인증을 통해 기업 애플리케이션에 로그인된 사용자가 데이터 웨어하우스 서비스에 추가 로그인 없이 사용할 수 있도록 해야 합니다. 페더레이션  인증은 ID 관리 및 접근 제어 절차를 기업 표준 인증 시스템으로 통합하여 사용자 권한을 더욱 쉽게 관리 할 수 있도록 도와줍니다.  
  • 패치, 업데이트 및 네트워크 모니터링: 소프트웨어 패치 보안 업데이트는 업데이트가 제공될 때, 즉시 관련된 모든 소프트웨어 업데이트 사항을 솔루션에 반영해야 합니다. 벤더는 보안 취약점을 사전에 점검하기 위해 보안 전문 회사에게 정기적인 보안 침투 테스트를 수행해야 합니다. 추가 데이터 보호 기능으로 FIM(파일 무결성 모니터링) 도구는 중요한 시스템 파일이 변조되지 않도록 모니터링하고 IP 주소 화이트리스트를 사용하면 신뢰할 수 있는 네트워크에서만 데이터 웨어하우스에 액세스할 수 있도록 통제할 수 있습니다. 또한, 네트워크를 감시하는 사이버 보안 모니터링 시스템에 의해 생성되는 보안 "이벤트"는 변조 방지 보안 정보 및 이벤트 관리(SIEM) 시스템에 자동으로 기록되어야 하며, 의심스러운 활동이 감지되면 보안 담당자에게 자동으로 경고를 전송해야 합니다.  
  • 데이터 보호, 보전 및 중복(Redundancy): 시스템에 장애나 사용자 오작업으로 인한 데이터 손상 시,  테이블 또는 데이터베이스의 데이터를 클라우드 데이터 웨어하우스 벤더와의 SLA에 따라 지정된 보존 기간 내의 이전 버전으로 즉시 복원하여 사용할 수 있어야 합니다. 완벽한 데이터 보존 전략은 같은 클라우드 리전이나 동일 영역 내에서의 데이터 복제 이상이어야 합니다. 지리적 위치를 고려하여 여러 가용 영역 간에 데이터를 복제해야 합니다. 추가 옵션으로, 다른 영역에 복제된 데이터를 활용하여 자동 장애 기능을 제공하여 지속적인 비즈니스 운영을 보장해야 합니다. 
  • 테넌트 격리 필요:데이터 웨어하우스 벤더가 여러 고객들이 동일한 물리적 인프라를 공유해서 사용해야 하는 다중-테넌트 클라우드 환경을 사용하는 경우, 각 고객에게 다른 모든 데이터 웨어하우스와 격리된 가상 데이터 웨어하우스 실행 환경을 제공할 수 있는지 확인해봐야 합니다. 이 격리는 스토리지와 VM 계층까지 확장되어야 합니다. 개별 고객의 데이터 스토리지 환경은 다른 고객의 스토리지 환경과 격리되어야 하며, 독립된 디렉터리와 고유한 암호키로 관리되어야 합니다. 일부 벤더는 전용 VPN과 고객 시스템에서 클라우드 데이터 웨어하우스를 연결되는 브리지도 제공합니다. 이러한 전용 서비스는 데이터 웨어하우스의 가장 민감한 구성 요소가 다른 고객 환경과 완벽하게 분리되어야 합니다.  
  • 거버넌스 및 컴플라이언스 유지 관리: 거버넌스 정책은 데이터 소유권과  접근 가능성을 제어하기 위한 규칙과 절차를 설정합니다.
  • Demanding attestations & certifications: 컴플라이언스는 데이터 웨어하우스 벤더가 필요한 보안 절차를 갖추고 있음을 증명할 수 있도록 하는 것입니다. 데이터 침해는 브랜드 가치 하락 및 고객 이탈과 같이 비즈니스에 회복 불가능한 영향력을 미칠 수 있습니다. 클라우드 데이터 웨어하우스 벤더는 그림 8-1과 같이 위협 및 보안 사고를 적절히 모니터링하고 대응하며 충분한 사고 대응 절차를 갖추고 있음을 입증해야 합니다. 이 과정에서 벤더가 "ISO/IEC 27001 and SOC 1/SOC 2 Type II"와 같은 산업 표준 기술 인증을 보유하고 동시에 클라우드 벤더가 "PCI, HIPPA, HITRUST, FedRAMP"와 같은 국가별 또는 산업별 규정을 준수하는지 확인해야 합니다. 이 부분은 보안에서 굉장히 중요합니다. SOC 2 Type II 보고서는 적절한 기술 및 관리 통제가 지난 12개월 동안 일관되게 시행되었음을 확인해 줄 수 있습니다. PCI-DSS 규정 준수 증명서는 벤더가 신용 카드 정보를 적절하게 저장하고 처리하는지 여부를 나타냅니다. 건강 정보 데이터를 취급하는 경우 벤더가 HIPAA 지침을 준수해야 합니다. 규정 준수 및 증명은 데이터 웨어하우스 벤더가 보안을 중요시하고 많은 투자를 하고 있다는 것을 알려주는 척도입니다. 이와 같은 규정 준수 고려 사항은 중요한 데이터 저장소에 대한 최소 요구 사항입니다. 

그림 7-1. 모든 데이터 트래픽은 암호화되고 안전하며 클라우드 벤더가 관련된 모든 인증을 보유하고 있는지 확인합니다.

 

7-2. Insisting on a Comprehensive Security Posture

엄격한 보안을 준수하기 위해서는 전문 지식이 필요하며 큰 비용이 필요합니다. 장비 장애, 네트워크 장애 및 관리 담당자의 실수로 인해 데이터가 유실되고 데이터에 불일치가 발생 할 수 있습니다. 클라우드 데이터 웨어하우스 벤더는 시스템 장애 및 사용자 과실로부터 데이터를 보호하기 위한 절차를 수립해야 합니다. 일부 벤더는 기본적인 보안 기능을 제공하지만 암호화, 접근 제어 및 보안 모니터링은 여전히 사용자의 몫입니다. 보안은 데이터 웨어하우스 서비스의 기초가 되어야 하며, 데이터를 보호하기 위해 사용자가 추가적인 작업을 수행할 필요가 없어야 합니다.  

 

8. Data Warehouse 비용 최소화

클라우드-기반의 데이터 웨어하우스를 사용할 때 장기적으로 비용을 최소화하기 위해 검토해야 하는 사항을 살펴보도록 하겠습니다.  

 

8.1 스토리지 비용 최소화

더 많은 데이터가 저장될수록 분석으로 얻을 수 있는 통찰력은 더 다양화될 수 있습니다. 다행이고 Amazon, Microsoft 및 Google과 같은 클라우드 벤더에서 제공하는 클라우드 스토리지의 가격은 비교적 저렴하기 때문에 저장 공간의 제약 없이 더 많은 데이터를 저장할 수 있습니다. 클라우드 데이터 웨어하우스 공급업체가 클라우드 스토리지 비용보다 더 많은 비용을 청구하는지 살펴봐야 합니다. 사용자는 초과 또는 "reserved" 스토리지 용량이 아닌 사용자가 실제로 사용한 스토리지에 대해서만 비용을 지불해야 합니다. 개발, 테스트 및 QA 환경을 위해 데이터 웨어하우스 내에서 데이터베이스를 복제하는 데 비용을 지불해서도 안 됩니다. 데이터를 개별 환경 별로 복제하지 않고도 데이터를 참조할 수 있다면, 스토리지에 대한 추가 비용을 지불할 필요가 없습니다. 클라우드 데이터 웨어하우스는 정형 및 반정형 데이터를 저장하고 이 데이터를 대상으로 쿼리할 수 있어야 합니다. 또한, 데이터 웨어하우스 솔루션이 효율적으로 데이터를 압축하면, 스토리지 비용을 더 절감할 수 있습니다. 마지막으로 멀티-클라우드 기능을 제공하는 공급업체를 찾아야 합니다. 데이터 웨어하우스를 다른 클라우드 스토리지 환경으로 마이그레이션 할 경우, 비용을 절감할 수 있기 때문입니다.  

 

8.2 컴퓨팅 효율성 극대화

컴퓨팅 리소스는 스토리지보다 더 비싸므로, 데이터 웨어하우스 서비스를 통해 개별 리소스를 독립적으로 확장할 수 있어야 하며, 사용량-기반 가격 정책 모델로 사용자가 요청한 시점에 컴퓨팅 리소스를 쉽게 스핀-업할 수 있어야 합니다. 사용량-기반 가격 정책이기 때문에 비용이 과도하게 청구되지 않도록 컴퓨팅 리소스의 사용이 중단되면 컴퓨팅 리소스가 자동으로 일시 정지되어야 하며, 사용자 패턴에 의해 사용량-기반과 서브스크립션-기반 가격 정책을 둘 다 제공해야 합니다. 또한, 개별 컴퓨팅 클러스터를 워크로드에 따라 "적절한-사이즈"로 유연하게 조정할 수 있는 기능을 제공해야 합니다. 컴퓨팅 요구 사항이 적은 작업의 경우 오버-사이즈로 프로비저닝된 클러스터를 사용하지 않고 소규모 클러스터로 해당 워크로드를 처리함으로써 비용을 최적화 할 수 있습니다. 또한, ML 모델을 학습시키는 워크로드의 경우 대규모 클러스터를 활용해 처리 성능을 개선할 수 있어야 합니다. 이를 통해 컴퓨팅 리소스의 비용을 최소화하면서 개별 워크로드에 대한 세분화된 확장성을 제공할 수 있습니다. 개별 워크로드는 전용 컴퓨팅 클러스터 실행 환경에서 수행되기 때문에 중복 실행되는 워크로드 유형에 따른 성능 저하 현상은 발생하지 않습니다.  

'Snowflake - The Data Cloud' 카테고리의 다른 글

Snowflake Data Cloud  (0) 2021.12.08
Cloud Data Platforms  (0) 2021.12.08
Cloud Data Lakes  (0) 2021.12.07
Snowflake – Partitioning  (0) 2021.11.30
Snowflake Elastic Data Warehouse  (0) 2021.11.21