본문 바로가기

Snowflake - The Data Cloud

Cloud Data Lakes

데이터 레이크는 기업 내에 존재하는 다양한 데이터 소스에서 생성되는 모든 데이터 유형을 수집하여 저장하고, 해당 데이터를 기반으로 분석 업무를 수행하기 위해 10년 전 처음 소개되었습니다. 데이터 레이크 개념은 과거 기업 환경에서 정형 데이터 분석을 위한 데이터 웨어하우스로는 현재 대다수 기업 환경에서 요구하는 다양한 데이터 소스와 유형을 수용할 수 없으며, 데이터 규모 역시 페타-바이트로 확장하여 사용할 수 없는 제약사항이 존재했기 때문에 등장하였습니다. 빅 데이터 시장 규모가 커짐에 따라, 데이터 레이크는 많은 양의 데이터 수집, 저장 및 분석이 가능한 이상적인 데이터 플랫폼으로 간주되었습니다. 오늘날 대부분의 기업들은 데이터를 매우 중요한 자산임으로 데이터 레이크에 대한 관심이 증가하었습니다. 데이터 웨어하우스가 범용 분석 플랫폼으로 사용되던 시절에는 기업 내 업무용 애플리케이션에서 생성하는 정형 데이터를 대상으로만 분석 업무를 수행하였지만, 업무 환경이 변화됨에 따라 웹 페이지, 소셜 미디어, 휴대폰, IoT 장치 및 기타 다양한 반정형 데이터가 분석을 위한 새로운 데이터 소스가 되었고, 빅데이터 기술을 가속화하는 주요 원인이 되었습니다. 초기의 데이터 레이크는 주로 Apache Hadoop 오픈 소스를 기반으로 온-프레미스 환경에 배포되어 구축되었으며, 지난 10년 동안 클라우드 컴퓨팅 기술이 발전하고 데이터 저장 기술이 성숙되면서, 클라우드의 성능, 유연성 및 거의 무제한의 데이터 확장성이라는 특성 기반으로 데이터 레이크 플랫폼이 온-프레미스에서 클라우드로 이동하게 되었습니다. 

 

1. Diving into Cloud Data Lakes

2010년 James Dixon은 대용량 데이터를 단일 데이터 플랫폼에 저장 및 활용하기 위한 비즈니스 개념으로 데이터 레이크라는 용어를 정의했습니다. 우선 데이터 레이크의 역사, 등장 배경, 어떻게 발전되어 왔는지 그리고 온-프레미스 환경에서 데이터 레이크 제약사항 및 클라우드 환경으로 확대 적용하게 된 배경에 대해 살펴보도록 하겠습니다. 

 

1.1 데이터가 호수로 흐른다

Dixon는 마치 수만 가지의 원천에서 흐르는 강물들이 하나의 거대한 호수를 형성하고 호수에 저장된 다양한 속성의 샘플을 채취하여 분석 용도로 사용한다는 개념으로 데이터 레이크 용어를 정의했습니다. 이는 기존에 생각하지도 못했던 데이터를 바라보는 혁명적인 개념이었습니다. 데이터 레이크 이전 대부분의 분석 플랫폼은 사용자의 요구사항에 따라 미리 정의된 데이터 파이프라인을 구축하고 데이터를 구조화하여 패턴화된 분석 용도만 데이터를 활용하였습니다. 즉, 단순한 관계형 데이터베이스였으며, 사용자는 사전에 정의된 스키마 구조의 데이터에 대해서만 분석 업무를 수행할 수 있었기 때문에, 협업 사용자의 변경 요구 사항에 민첩하게 대응을 할 수 없었습니다. 데이터 레이크는 그림 1-1과 같이 다양한 유형의 원천 데이터를 그대로 저장하기 때문에, 사용자는 데이터를 자신이 원하는 분석 형태로 능동적으로 가공하여 사용할 수 있게 되었습니다. 데이터 레이크를 정확하게 이해하기 위해서는 데이터 레이크가 어떻게 구성되어 있는지가 아니라 데이터 레이크로 무엇을 할 수 있는지입니다. 데이터 레이크는 다양한 데이터 소스에서 지속해서 생성되는 페타-바이트 규모의 데이터를 저장, 탐색 및 분석할 수 있도록 고안되었습니다.

 

1.2 Data Lake의 문제점 이해

초창기 데이터 레이크 개념은 굉장히 매력적이기 때문에, 많은 기업들은 온-프레미스 환경에서 데이터 레이크를 구축하였습니다. 핵심 기술은 데이터 센터에서 호스팅하는 여러 물리적 노드에 Apache Hadoop 에코 프로젝트를 기반으로 하는 소프트웨어 스택을 설치 구축하고, 대용량 데이터를 분산 저장하고 처리하는 방식이었습니다. Hadoop 소프트웨어 스택은 데이터 스토리지 계층을 담당하는 HDFS라는 분산 파일 시스템을 포함하고 있으며, 대용량 데이터를 SQL 기반으로 쿼리하여 사용할 수 있는 쿼리 엔진 및 관리 도구를 포함한 기타 컴포넌트로 구성되어 있습니다. 불행하게도, 데이터 센터에 구축되는 데이터 레이크 프로젝트 중 대부분은 관리 부담의 증가, 느린 분석 성능과 같은 다양한 이슈들이 야기됩니다. 대부분 프로젝트는 고도로 숙련된 데이터 엔지니어가 개발한 코드 기반의 분산 처리 애플리케이션에 의존함으로써, 사용자 저변 확대를 하지 못하였기 때문에, Hadoop 종말에 기여하였습니다. Hadoop 기반의 데이터 레이크 프로젝트가 원래 추가하던 가치를 제공하지 못하고 사양 되고있지만, 대부분 기업들은 여전히 모든 사용자가 기업 내/외부에 존재하는 모든 데이터에서 자신이 원하는 비즈니스 인사이트를 도출하기를 원하고 있습니다. 데이터 레이크의 개념 및 방향성은 아직도 유효합니다: 기업 내에 존재하는 모든 유형의 데이터를 단일 데이터 플랫폼에 수집, 저장하고 분석할 방법을 필요로 합니다. 클라우드 기술이 진보되고 기존 레거시 기술 스택들이 하나둘씩 사라지면서 이제는 새로운 패러다임을 필요로 합니다. 

 

1.3 요구사항 검토

데이터 레이크가 실질적으로 유용하게 활용되기 위해서는 다양한 데이터 소스에서 생성되는 정형, 반정형, 비정형 데이터를 원천 데이터 그대로 쉽게 저장하고, 사용자는 원천 데이터를 기반으로 분석 용도로 활용할 데이터-셋을 쉽게 탐색할 수 있어야 하며, 다양한 분석 워크로드를 단일 플랫폼에서 지원해야 합니다. 그러나 오늘날 대부분의 데이터 레이크는 모든 기업에 존재하는 데이터를 효과적으로 수용할 수 없으며, 더욱이 실시간 데이터 처리를 다양한 워크로드가 실행되는 단일 플랫폼에 통합하여 적용하기가 어렵습니다. 또한, 고품질의 데이터와 거버넌스 기능을 제공하지 못한다면, 데이터 레이크 개념이 아무리 훌륭하더라도 사용자들이 데이터 레이크에 저장된 데이터를 이해하여 사용할 수 없게 되기 때문에 시스템으로써 효용 가치가 낮아질 수 밖에 없습니다. 데이터양이 많아지고 다양화될 수록 이 문제는 더 심각해 질 수 있기 때문에 데이터 레이크를 활용하여 비즈니스적으로 의미 있는 통찰력을 발굴하는 것이 점점 더 어려워집니다. 또 다른 데이터 레이크의 일반적인 문제는 그림 1-2와 같이 성능 저하, 관리 부담 증가, 하드웨어 및 소프트웨어 비용 증가 등이 있습니다. 

 

1.4 Cloud Data Lake 소개

2010년 데이터 레이크가 처음 소개되었을 때, 관리 복잡성, 성능 저하, 제한된 확장성 및 거버넌스 기능 부재를 예상한 사람은 거의 없습니다. 그 결과 하둡 기반의 데이터 레이크는 데이터의 늪이 되고 말았으며, 많은 기업들은 새로운 비즈니스 통찰력을 발굴하는 데 어려움을 겪고 있습니다. 클라우드 산업과 기술이 성숙해 짐에 따라, AWS, MS 및 GCP는 S3, Azure Blob, GCS와 같은 객체 저장소를 활용하는 클라우드 기반의 데이터 레이크 시스템을 소개했습니다. 퍼블릭 클라우드에서 제공하는 탄력적인 클라우드 스토리지를 활용한 데이터 레이크는 무제한의 원천 데이터를 쉽게 저장할 수 있습니다. 하지만, 이 플랫폼에서 사용자는 Hadoop과 같은 소프트웨어 스택을 관리할 필요가 없지만, 여전히 데이터를 활용하기 위한 실행 환경을 수동으로 생성, 통합, 관리해야 합니다. 여기에는 사용자 ID 관리, 보안, 데이터 거버넌스와 같은 기능들도 포함되어 있습니다. 

 

1.5 현대화된 데이터 레이크(Modern Data Lake)의 출현

최근 몇 년 동안 클라우드 기반의 DW 솔루션들이 등장하면서, 클라우드 인프라에서 제공하는 객체 저장소와 고성능 클라우드 인프라를 활용하여 스토리지와 컴퓨팅 계층을 분리한 데이터 레이크의 세 번째 패러다임이 소개되었습니다. 이 아키텍처를 통해, 정형 및 반정형 데이터는 클라우드에서 제공하는 객체 저장소에 저장되며, 사용자가 원하는 시점에 해당 데이터를 컴퓨팅 영역으로 쉽게 로드하여 처리 및 분석할 수 있게 되었습니다. 현대화된 데이터 레이크는 클라우드 분석 계층, 데이터 웨어하우스 영역 및 클라우드 기반의 객체 저장소의 조합으로 구성되어 있습니다. 이러한 데이터 레이크는 사용자가 필요한 스토리지 및 컴퓨팅 리소스를 거의 무제한에 가까운 확장성과 온-드맨드 방식의 탄력성을 제공하는 것을 의미하고 있습니다. 현대화된 데이터 레이크는 스토리지와 컴퓨팅이 분리된 아키텍처를 기반으로 대용량, 모든 유형의 데이터를 분석 업무에 활용함으로써 새로운 비즈니스 인사이트와 가치를 발굴하는 작업을 단순화하여 더 빠른 분석 업무를 수행할 수 있게 되었습니다. 

 

1.6. 현대화된 데이터 레이크의 필요성

클라우드 환경에서 제공하는 다양한 데이터를 무제한으로 저장할 수 있는 기능은 데이터 레이크에 최적화되어 있으며, 분석가들에게 친숙한 SQL 인터페이스를 사용하여 전체 시스템을 운영 할 수 있습니다. 즉, 모든 스토리지 객체와 필요한 컴퓨팅 리소스는 현대화된 데이터 레이크 플랫폼 내부에서 관리되기 때문에 사용자는 객체 저장소에 저장된 데이터에 쉽게 접근하여 빠르고 효율적으로 분석 업무를 수행할 수 있습니다. 현대화된 데이터 레이크는 외부 버켓에 데이터를 저장하여 사용함으로써, 성능 개선을 위해 컴퓨팅 계층의 스토리지로 데이터를 복사하는 기존 클라우드 기반의 데이터 레이크 아키텍처와는 크게 다릅니다. 전통적인 데이터 레이크 시스템은 플랫폼이 가지는 고유한 복잡성, 성능 저하, 거버넌스 기능 부재와 같은 다양한 이슈를 포함하고 있습니다. 현대화된 클라우드 데이터 레이크는 다음과 같은 기본 원칙을 통해 위에서 언급한 다양한 문제를 극복할 수 있습니다:

  • 사일로 제거:  페타바이트 이상의 정형, 반정형 및 비정형 데이터를 단일 플랫폼에 쉽게 수집 및 저장할 수 있습니다.
  • 탄력적인 아키텍처: 모든 사용자 또는 워크로드에서 필요로 하는 컴퓨팅 리소스를 온-디맨드 방식으로 바로 제공합니다. 기존 실행 중인 쿼리나 워크로드에 영향 없이 컴퓨팅 클러스터의 크기를 동적으로 변경할 수 있기 때문에 리소스-집약적인 작업은 더 많은 컴퓨팅 리소스를 할당하여 빠르게 처리할 수 있습니다.
  • 동시 작업 수용: 동시에 거의 무제한의 여러 워크로드들이 동일한 데이터를 활용하여 분석 작업을 수행할 수 있습니다.  
  • 내장된 거버넌스 기능: 협업, 데이터 품질, 접근 제어 및 메타데이터 관리에 제품 역량을 투자하여 사용자에게는 항상 최신의 정확한 데이터만을 제공합니다.
  • 트랜잭션 일관성: 다중-SQL 문 트랜잭션 및 교체 데이터베이스 조인과 같은 다양한 트랜잭션 기능 제공합니다.
  • 클라우드 기반의 완전 관리형 솔루션(SaaS): 분석 환경 프로비저닝, 보안, 백업 및 성능 튜닝은 데이터 플랫폼 자체에서 제공하기 때문에, 사용자는 플랫폼 관리보다는 분석 작업에만 집중할 수 있습니다. 

 

2. Modern Data Lake 등장한 배경

ERP, CRM 및 PoS와 같은 전통적인 데이터 소스와 웹 로그, 클릭 스트림, IoT 장치 및 소셜 미디어와 같은 최신 데이터 유형을 수집, 저장하고 분석하는 방법에 대해 데이터 레이크가 기존 DW와 어떻게 다른지 그리고 클라우드 데이터 레이크가 왜 이상적인 솔루션인지를 살펴보도록 하겠습니다.  

 

2.1 Data Warehouse와 Data Lake의 차이점

우선 DW와 데이터 레이크의 차이점에 대해 살펴보도록 하겠습니다. DW 플랫폼은 수십 년 전에 기업 환경에서 데이터를 분석하기 위한 용도로 등장하게 되었습니다. DW는 분석을 위한 다양한 작업 그룹용 데이터 마트를 생성 및 관리합니다. DW와 데이터 마트는 하루에도 수천 또는 수백만 개의 작업이 수행되고 있으며, 일부 쿼리는 임원을 위한 중요 리포팅 업무로 활용됩니다. 앞에서 살펴본 바와 같이, 기존 DW는 내부적으로 데이터 저장을 위한 테이블의 스키마가 사전에 정의되어 있어야 하며, 데이터의 속성 역시 미리 알아야 합니다. 이와 대조적으로 데이터 레이크는 원천 데이터에 대한 스키마를 사전에 정의할 필요 없이 반정형 데이터 유형을 기본 형식으로 사용합니다. 기존 DW는 새로운 데이터 유형인 웹 로그, 클릭 스트림 정보, 모바일 애플리케이션 및 소셜 미디어에서 생성하는 반정형 데이터를 쉽게 저장할 수 없기 때문에 이러한 데이터를 DW에서 분석용으로 활용하기 위해서는 데이터 형식을 사전에 정형 데이터로 변경해야 합니다. 기존의 데이터 레이크는 최소한 정형 및 반정형과 같은 혼합된 유형의 데이터를 저장할 수 있지만, 이와 같은 데이터를 분석하기 위해서는 숙련된 데이터 엔지니어 또는 데이터 과학자가 필요합니다. 운이 좋게도 기업 내에 숙련된 엔지니어나 과학자가 근무하고 있더라도 데이터 레이크의 복잡도로 인해 새로운 비즈니스 인사이트를 발굴하는 데 많은 시간이 소요됩니다. 이와  같은 이유로 DW와 기존 데이터 레이크 모두 오늘날  사용자들이 원하는 요구사항을 충족하지 못하고 있습니다. 현대화된 클라우드 기반의 데이터 레이크는 기존 DW에서 제공하는 성능과 데이터 레이크의 유연성과 장점을 모두 수용하면서 동시에 두 시스템의 제약 사항 및 이슈에 대한 해결책을 제공합니다. 클라우드 기반의 데이터 레이크는 사용자가 원하는 시점에 컴퓨팅 인프라와 플랫폼 서비스를 즉시 프로비저닝하여 사용할 수 있습니다. 이 방식으로 구현 복잡도가 사실상 없고, 확장이 매우 간편하며 비용이 적게 듭니다. 또한, 기업이 요구하는 보안, 튜닝 및 소프트웨어 업그레이드 작업은 솔루션 벤더에서 자동으로 처리하기 때문에 관리 비용을 추가로 절감할 수 있습니다. 

 

2.2 데이터 홍수 시대에서 살아 남기

오늘날의 대부분 기업들은 다음과 같이 그 어느 때보다 다양한 데이터 소스에서 점점 더 많은 데이터를 수집하여 사용해야 합니다:

  • 다양항 기업용 애플리케이션의 데이터 활용: 과거 대다수의 기업 환경에서는 몇 가지 중요한 기업용 애플리케이션만을 사용했지만, 오늘날 대부분 기업 환경에서는 수십 또는 수백 개의 기업용 애플리케이션이 배포되어 사용되고 있습니다. 이러한 애플리케이션은 분석에 활용될 수 있는 귀중한 데이터를 굉장히 빠른 속도로 생성하고 있으며, 데이터의 양도 빠르게 증가되고 있습니다.
  • 디바이스에서 생성되는 데이터 통합: 컴퓨터, 태블릿, 모바일, 스마트 시계, 웹-사이트를 사용하는 사람과 기업용 애플리케이션뿐만 아니라 IoT 장치에서도 수십 페타바이트를 데이터를 생성하고 있습니다. 데이터 소스가 다양화된다는 것은 더 많은 데이터 생성을 의미하고 있습니다. 로그 파일, IoT 장치 및 소셜 미디어에서 생성된 데이터는 반정형 형태로 구조화되어 있으며, 빠른 속도로 데이터를 생성하기 때문에, 이와 같은 데이터들은 기존 DW 환경에서 사용하기가 불가능합니다. 데이터 처리 병목으로 인해 분석 작업이 중단되거나 시스템 장애가 발생할 수 있습니다. 이제는 다양한 데이터 관리 작업을 간소화하면서 모든 데이터를 쉽고 효율적으로 저장하여 사용할 수 있는 새로운 아키텍처가 필요합니다. 이것이 클라우드 기반의 현대화된 데이터 레이크의 핵심입니다. 

2.3 클라우드에 데이터를 보관 유지

클라우드 도입이 가속화되면서, 이제  대부분의 데이터는 클라우드 환경에서 생성되고 존재하기 때문에 이 데이터를 통합하기 위한 최적의 장소도 클라우드 환경이여야 합니다. 데이터 센터에 구축된 데이터 하우스 또는 데이터 레이크 플랫폼의 경우 데이터가 증가함에 따라 플랫폼 확장 시점을 검토하고 고려해야 하지만, 클라우드 환경을 도입하면 시스템 확장에 대해 걱정을 하지 않아도 됩니다. 클라우드에서는 데이터양이 증가하는 추세에 따라 유연하게 확장할 수 있으며, 사용량 기반으로 비용을 지불하면 됩니다. 하지만, 모든 클라우드 시스템이 완벽하게 클라우드 환경에서 제공하는 모든 혜택을 지원하는 것이 아닙니다. 대부분의 클라우드용 데이터 플랫폼은 온-프레미스 환경에서 수행되는 동일한 스택과 아키텍처를 클라우드로 "Lift & Shift" 방식으로 마이그레이션 하였습니다. 클라우드 적용이 확대되면서 관리형 클라우드 서비스가 처음 소개되었습니다. 이 관리형 클라우드 서비스와 기존 솔루션의 가장 큰 차이점은 유지 관리 작업의 주체가 고객에서 서비스 벤더로 전환된 것이었습니다. 이에 대한 시도는 명확했지만, 아직 고객이 원하는 수준으로 제공되지 못하고 있습니다. 클라우드 기술이 성숙해짐에 따라 플랫폼의 서비스도 클라우드 환경에서 제공하는 혜택을 명확하게 제공하도록 변경되어야 합니다. 이를 위해서는 클라우드를 위한 솔루션을 새롭게 설계하고 구축해야 합니다.  

 

2.4 데이터 분석 민주화

데이터 기반의 기업으로 전환하기 위해서는 조직 내의 모든 사용자들이 데이터 기반의 분석 활동을 수행할 수 있도록 해야 합니다. 다양한 유형의 사용자 및 분석 워크로드를 위한 플랫폼은 점차 클라우드 환경으로 전환되고 있습니다. 데이터 분석 민주화를 위한 클라우드-기반 분석에 대한 네 가지 이점은 다음과 같습니다: 

  • 데이터 탐색: 트랜드와 패턴 분석을 위해서는 대량의 데이터가 필요하지만, 이 데이터를 분석할 적당한 컴퓨팅 리소스를 사전에 파악하기는 매우 어렵습니다. 클라우드 환경은 이와 같은 탐색적 분석에 이상적인 온-디맨드 방식의 유연한 확장성을 제공합니다. 
  • 인터랙티브 데이터 분석: 대부분 분석 환경의 사용자는 Ad-hoc 쿼리를 반복적으로 수행하기를 원합니다. 클라우드 환경에서 제공하는 동적 탄력성은 다른 워크로드의 성능에 영향을 주지 않으면서 이와 같은 추가 쿼리를 수용할 수 있는 유연성과 적응성을 제공합니다.  
  • 배치 처리: 배치 작업은 특정 쿼리-세트를 작업으로 구성하고 데이터 레이크 또는 데이터 웨어하우스에서 스케줄링 기반으로 실행됩니다. 일반적인 배치 작업은 대량 데이터 기반의 리소스-집약적인 작업이기 때문에, 배치 작업이 수행될 때 업무 쿼리가 실행되면 성능 저하 현상이 발생할 수 있습니다. 기존 데이터 레이크에서는 더 많은 컴퓨팅 리소스를 사용할 수 있는 야간 시간에 배치 작업을 예약하는 경우가 많습니다. 
  • 이벤트-기반 분석: 지속적으로 생성되는 데이터를 실시간 리포팅이나 대시보드로 사용하고자 할 수 있습니다. 스트리밍 데이터를 원할하게 수집하고 활용하기 위해서는 이벤트가 급증과 같이 데이터 흐름 변화를 유연하게 처리할 수 있는 데이터 레이크가 필요합니다.  

 

3. 보안 리스크 감소 및 데이터 보호

기업내의 데이터는 매우 중요합니다. 대부분의 사용자는 데이터 플랫폼을 활용하여 데이터 저장, 분석 및 유용한 통찰력을 발굴하는 데 중점을 둡니다. 특정 데이터가 사용자에게 가치가 있디면 이 데이터는 협업하는 다른 사용자 및 악의적으로 사용하고자 하는 사람들에게도 역시 가치가 있는 자산입니다. 여기에서는 최상의 데이터 품질, 보안, 거버넌스를 제공하고 법률 및 규정 컴플라이언스를 준수하기 위해 데이터 레이크에서 고려 해야되는 내용에 관해 설명하고 있습니다. 이와 같은 요소들이 고려되지 않은 플랫폼 사용은 민감 정보가 유출되거나 처벌 및 소송과 같은 법적 조치를 당할 수 있으며, 결과적으로 고객 이탈이 발생할 수도 있습니다.  때문에, 데이터 레이크를 구축할 계획이 있다면, 다음의 주요 문제를 식별하는 것이 매우 중요합니다:

  • 데이터 레이크에는 어떤 데이터들이 저장되나요?
  • 데이터 레이크에 보안 및 데이터 거버넌스 체계를 구축하는 데 얼마나 많은 작업이 필요한가요? 
  • GDPR, CCPA 및 기타 데이터 주권(sovereignty) 및 데이터 보호 규정을 어떻게 충족할 것인가요?
  • 중요 데이터 보존 정책은 무엇이며, 데이터 레이크에서는 이 요구사항을 어떻게 충족시킬 예정인가요?
  • 데이터 거버넌스 및 접근 통제는 어떻게 제공되며, 권한이 부여된 사용자만 해당 데이터를 사용하는지 어떻게 보장할 예정인가요?
  • 데이터 품질 및 무결성 이슈로 중요 비즈니스에 미치는 영향을 어떻게 조치할 예정인가요?

3.1 Compliance 및 Governance 구현

개인 정보 보호 규정은 시간이 지남에 따라 점점 더 엄격해지고 있습니다(예: GDPR, HIPAA, CCPA 등). 데이터 거버넌스는 데이터가 적절하게 분류되고, 접근되며, 보호되고 사용되는지를 보증하는 체계이며, 여기에는 데이터 레이크가 필요한 규제 요구사항을 준수하고 검증하기 위한 전략 및 정책 수립도 포함됩니다. 또한, 이러한 정책은 데이터 품질 및 표준화를 확인하여 데이터가 사용자의 요구사항을 충족하도록 적절하게 준비되었는지를 검증합니다. 예를 들어, 개인 식별 정보(PII)에 대한 접근 제어 및 통제를 위해 데이터 거버넌스 정책을 정의하여 사용합니다. 관리되어야 하는 데이터는 신용 카드 정보, 주민 등록 번호, 이름, 생년 월일 및 기타 데이터가 포함될 수 있습니다. 데이터 거버넌스는 기술이 아니라 사람, 프로세스 및 도구를 포함한 보안 체계입니다. 다음은 강력한 데이터 거버넌스를 구축하기 위한 5가지 기본 단계에 대한 내용입니다:  

  1. 데이터 관리자와 이해 관계자들로 구성된 팀을 만들고, 데이터 거버넌스 프레임워크를 정의합니다. 이는 현재 사용되는 데이터 관리 정책을 파악하고 개선이 필요한 요구사항을 식별하는 단계입니다. 
  2. 규정 준수, 데이터 보안 강화, 데이터 품질 개선 등 해결할 문제를 정의합니다. 그런 다음 접근 제어 구성 변경, 민감 데이터 보호 및 데이터 사일로 통합과 같이 개선이 필요한 목록을 도출합니다. 
  3. 데이터 거버넌스 기능을 지원하는 도구와 기술을 평가합니다. 이 단계에는 도구뿐만 아니라 데이터 모델링, 데이터 카탈로그 작성, 데이터 품질 및 리포팅 작업을 수행하는 사람들도 포함됩니다. 
  4. 보유한 데이터 목록을 작성하고 데이터 분류 체계, 데이터 저장 위치, 사용자별 접근 정책 및 사용 방법을 파악합니다. 
  5. 현재 잘되는 것과 개선이 필요한 부분을 파악합니다. 그런 다음 전문가, 도구 및 서비스를 통해 개선 방향 및 해결책을 찾아야 합니다. 

3.2 데이터 품질 보증

규정 준수와 마찬가지로 데이터 보안의 키는 추적 가능성이 매우 중요합니다. 데이터의 출처, 저장 위치, 데이터를 사용한 사람, 어떻게 사용되었는지와 같이 데이터 리니지 정보를 제공해야 합니다. 또한, 데이터 거버넌스에는 앞서 살펴본 기능 외에 데이터 품질을 보장하기 위한 담당자도 필요합니다. 잘못된 데이터는 비즈니스에 악영향을 미치기 때문에 적절한 시점에 식별되어 조치되어야 합니다. 데이터를 소유한 조직의 특정 사용자에게 데이터 거버넌스 담당자로 지정하는 것이 이상적입니다. 이러한 관리자는 데이터 분석가와 과학자와 협력하여 데이터 품질 규칙 및 프로세스를 설정하는 데 도움이 됩니다. 

 

3.3 데이터 보호, 가용성 및 보존 기능 통합

데이터 레이크가 실행되는 인프라의 장애로 데이터가 유실될 수 있으며, 사용자의 실수로 데이터에 손상, 손실 및 불일치가 발생할 수 있습니다. 이러한 이유로 클라우드 데이터 레이크는 데이터 가용성과 보호를 위해 개별적으로 존재하는 중복 프로세스를 통합해야 합니다. 규정 준수 및 인증 요구 사항에 따라 데이터는 보존 기간 동안만 데이터 레이크에 유지되어야 합니다. 또한, 클라우드 데이터 레이크는 정기적인 백업 기능을 통해 데이터를 보호하고 서비스 연속성을 보장해야 합니다. 이로써 모든 요구사항을 충족하는 것이 아닙니다. 완벽한 데이터 보호 전략은 데이터 레이크가 실행되는 클라우드 리전 또는 영역(Zone) 내에서 데이터 복제가 수행되는 것이 아니라, 데이터를 지리적으로 분산된 여러 위치 간에 복제해야 합니다. 이는 예상치 못했던 자연재해가 발생한 경우에도 시스템 가용성을 보장하기 위한 요구사항입니다. 마지막으로 복제 성능을 고려 해야 합니다. 데이터 백업 및 복제 절차도 중요하지만, 이 작업에 과도한 리소스를 소비하면 운영 분석 워크로드를 방해할 수 있습니다. 데이터 내구성, 탄력성 및 가용성을 보장하기 위해 현대화된 클라우드 데이터 레이크는 실행 중인 워크로드에 영향을 최소화하도록 백그라운드로 방식으로 복제를 수행합니다.  

 

3.4 종단-간 보안으로 데이터 보호하기

데이터 레이크의 모든 측면(아키텍처, 구현 및 운영)은 전송 및 저장되는 데이터 보호에 중점을 둬야 합니다. 이것은 현재와 새로운 보안 위협을 모두 고려한 다 계층-보안 전략의 일부여야 합니다. 보호 전략은 포괄적인 모니터링과 경고를 포함해 외부 인터페이스, 접근 통제, 데이터 스토리지 및 물리적 인프라 보안을 함께 다뤄야 합니다. 데이터 레이크 보안에 대해서 살펴보도록 하겠습니다: 

  • 모든 곳에서 암호화(Everywhere Encryption): 암호화 알고리즘을 적용해 일반 텍스트를 암호 텍스트로 변환하는 데이터 암호화는 기본적인 보안 기능입니다. 데이터가 디스크에 저장될 때, 사용을 위해 스테이징 위치로 이동할 때, 데이터 레이크 내부의 데이터베이스 객체로 배치될 때, 가상 데이터 레이크 내에서 캐시화 될 때 암호화되어야 합니다. 쿼리 결과도 마찬가지로 암호화해야 합니다. CMK와 같이 고객이 제어할 수 있는 보안 방법을 사용하여 종단-간 암호화가 기본 방식이어야 합니다. 이와 같은 보안 기능은 대다수의 온-프레미스 및 클라우드 데이터 레이크에서 제공되지 않고 있습니다.
  • 암호화 키 관리: 데이터가 암호화되면 사용을 위해 암호화키로 데이터를 복호화해야 합니다. 데이터를 완벽하게 보호하기 위해서는 이 암호화 키도 보호되어야 합니다. 최고의 데이터 레이크 솔루션은 전용 하드웨어 보안 모듈에 기반을 둔 계층적 키 모델과 함께 AES 256-비트 암호화를 사용합니다. 이는 암호화 키를 암호화하고 단일 키를 사용할 수 있는 시간을 제한하는 키 교체 기능도 제공합니다. 데이터 암호화 및 키 관리는 사용자에게 투명해야 하지만 데이터 처리 성능을 저해해서는 안 됩니다.  
  • 보안 업데이트 및 로깅 자동화: 보안 업데이트는 업데이트가 제공된 시점에 바로 현대화된 클라우드 데이터 레이크 솔루션에 관련된 모든 소프트웨어 구성 요소에 자동으로 적용되어야 합니다. 클라우드 기반의 플랫폼 공급 업체는 정기적으로 보안 테스트를 실행하여 보안 결함을 사전에 확인해야 합니다. 추가 보호 기능으로 FIM(파일 무결성 모니터링) 도구를 사용하면, 중요 시스템의 파일 변조를 방지할 수 있습니다. 모든 보안 이벤트는 변조 방지 보안 정보와 SIEM 시스템에 자동으로 기록되어야 하며, 플랫폼 공급 업체는 이 요건이 일관되고 자동으로 관리돼야 하며, 워크로드 성능에 영향을 주어서는 안 됩니다.  
  • 접근 제어: 인증을 위해 TLS 1.2와 IP 화이트리스트와 같은 표준 보안 기술을 사용하는지 확인해야 합니다. 클라우드 데이터 레이크는 기존 패스워드 보안 요구사항 및 사용자 역할을 계속 활용할 수 있도록 SAML 2.0 표준도 지원해야 합니다. 또한, 강력한 인증 체계를 구축하기 위해 MFA 인증 방식도 필요합니다. 인증된 사용자는 사용자에게 부여된 권한에 따라 데이터 사용을 제한해야 합니다. 현대화된 데이터 레이크는 사용자에게 명시적으로 허용된 데이터에만 접속하여 사용할 수 있도록 다-계층, RBAC 기능을 지원해야 합니다. 역할-기반의 접근 제어는 테이블, 스키마 및 데이터 레이크에 존재하는 모든 데이터베이스 객체에 적용되어야 합니다. 추가 기능으로 보안 뷰(Secure View)를 사용해 사용자가 사용할 수 있는 데이터를 추가로 제한할 수 있습니다.  
  • 규정 준수(Compliance) 및 증명(Attestation) 확인: 데이터 침해는 고객 이탈을 가속화하는 중요한 원인 중의 하나입니다. 업계-표준 증명 보고서는 플랫폼 공급 업체가 적절한 보안 제어 및 기능을 사용하는지 검증합니다. 예를 들어, 특정 공급 업체가 위협 및 보안 사고를 적절하게 모니터링하여 대응하고, 사고 발생 시 올바른 대응 체계를 구축하고 있음을 입증해야 합니다. ISO/IEC 27001 and SOC 1/SOC 2 Type II와 같은 산업 표준 기술 인증 외에도 플랫폼 제공 업체가 국가 및 산업 보안 규정을 준수하는지 확인해야 합니다(예: PCI, HIPAA/HITRUST, FedRAMP 인증). 이를 확인하기 위해 플랫폼 공급 업체에게 이에 관련된 증명 보고서를 요청하여 검증하십시오. 
  • 데이터 격리: 데이터 레이크가 멀티-테넌트 클라우드 환경에서 실행되는 경우, 신규 구축 데이터 레이크가 이미 구축된 다른 데이터 레이크들과 격리되어 실행되어야 하는 요건이 있을 수 있습니다. 이 기능이 중요하다면, 서비스 벤더에 이 프리미엄 서비스를 제공하는지 확인해야 합니다. 격리는 가상 머신 계층까지 확대 적용되어야 합니다. 또한, 이 플랫폼은 고객-지정 키(Customer-Specific Key)를 사용하여 독립된 암호화 디렉터리를 지원하여 격리된 데이터 레이크의 스토리지 환경을 다른 스토리지 환경과 격리해야 합니다.  그림 3-1과 같이 업계에서 공인된 보안 기능을 제공하는 플랫폼 공급-업체와 협력하십시오. 보안 매커니즘은 데이터 레이크의 서비스로 제공되어야 하며, 데이터를 보호하기 위해 추가 작업을 수행할 필요가 없어야 합니다.   

3.4 데이터 보안에 대한 진실

효과적인 보안은 구현이 복잡하고 비용이 많이 들며 보안 전문가도 채용하기 어렵습니다. 클라우드-기반 데이터 레이크는 기존 솔루션과 다르게 데이터 보안 관리의 책임을 SaaS 벤더로 위탁합니다. 적절하게 설계된 보안 클라우드 데이터 레이크는 온-프레미스 데이터 센터보다 더 안전할 수 있습니다. 하지만 명십하십시오. 보안 기능은 플랫폼 벤더마다 다릅니다. 

 

 

4. Data Lake를 현대화 하기 위한 전략

4.1 올바른 아키턱처로 시작

.....클라우드 데이터 레이크를  제공했습니다. 이 전통적인 아키텍처는 클라우드 이전에 설계되었기 때문에, 클라우드 환경에서 실행되더라도 클라우트에서 제공하는 혜택들이 제공되지 않았습니다. 때문에 일부 벤더들은 Presto, Impala 및 Hive와 같은 SQL 엔진들과 클라우드 스토리지를 결합하여 클라우드 용 데이터 레이크를 만들기 시작했습니다. 이 플랫폼 역시 온-프레미스와 동일하게 전문가에 의존적인 시스템이 되고 말았습니다. 현대화된 데이터 레이크는 보다 심층적이고 효율적인 분석을 위해 데이터 웨어하우스 또는 외부 객체 저장소에 저장된 데이터에 대한 쿼리 성능을 최적화하는 클라우드-기반 분석 계층을 제공하는 경우가 많습니다. 예를 들어, 클라우드-기반의 데이터 웨어하우스나 S3와 같은 객체 저장소는 모든 데이터를 저장하기 적합한 장소입니다. 그러나 단일 저장소에 저장된 데이터를 효율적으로 분석하기 위해서는 구체화-뷰(Materialized View)와 같은 특수 기능들이 지원되어야 합니다. 이 기술은 외부 테이블(External Table)에 대해서도 탁월한 성능을 제공합니다. 즉, 데이터 레이크 내부 또는 외부 클라우드 스토리지와 같이 여러 장소에 저장된 데이터가 존재하는 경우에도 원활하게 고성능 분석이 가능하며, 통합된 거버넌스 기능을 제공해야 합니다 . "Schema on-read"로 알려진 기술 때문에 데이터 분석을 위해 원천 데이터를 변환할  필요가 없이 그대로 사용하여 분석할 수 있습니다.  

 

4.2 다양한 유형의 데이터 수집 및 통합

완벽한 데이터 레이크는 관계형 테이블, JSON, CSV, ORC 및 Parquet을 포함한 다양한 유형의 데이터 형식을 지원해야 합니다. 비정형  데이터도 저장, 분석해야 하는 경우 외부 객체 스토리지와 같은 추가 저장소가 필요할 수 있습니다. 데이터 주권 및 보존에 대한 요구 사항이 있거나 산업 보안 규정을 준수해야 하기 위해서 별도의 저장소가 필요 할 수도 있습니다. 데이터가 단일 위치이던 여러 위치에 저장되어 있던 관련 없이 통합 클라우드 분석 계층은 위험을 줄이고 아키텍처를 단순화해야 합니다. 여러 사일로 시스템 간에 데이터 이동이 불필요하기 때문에 여러 잠재적 장애 요소를 제거했습니다. SQL 및 기타 친숙한 도구를 사용하면 전체 환경을 단일 정보 소스로 활용할 수 있습니다.   

 

4.3 지속적인(Continuous) 데이터 로딩

클라우드 스토리지에 지속해서 수집되는 데이터를 활용하여 실시간 분석 시스템 구축을 원할 수 있습니다. 온-프레미스 데이터를 클라우드 데이터 레이크로 마이그레이션하기 위해 데이터 파이프라인 도구를 사용합니다. 대용량 데이터 로딩 작업은 플랫폼 초기 구축 시 수행됩니다. 초기 데이터를 데이터 레이크에 적재한 뒤, 소스 시스템에 발생한 변경분을 반영하고자 할 수 있습니다. 지속적인  데이터  파이프라인(continuous data pipeline)은 새로운 데이터가 클라우드 스토리지에 저장되면, 그림 4-1과 같이 신규 데이터 파일을 자동으로 감지하여 비동기 방식으로 데이터 레이크에 지속해서 로드합니다.  

4.4 안전한 데이터 공유(Data Sharing) 사용

조직 내/외부에는 수많은 데이터 소스가 있으며, 많은 기업들은 외부 데이터와 내부 데이터를 함께 활용하여 분석 업무를 강화하고자 합니다. 데이터를 어떻게 공유해야 하나요? FTP, API 및 Email과 같은 기존 데이터 공유 방법을 사용하려면 데이터를 복사하여 상대방에게 전송해야 합니다. 이는, 매우 번거롭고, 고비용이며 보안 사고에 노출될 가능성이 높습니다. 특정 데이터가 공유된 경우, 변경 사항에 대한 데이터 동기화는 어떻게 해결할 예정입니까? 이는 새로운 버전의 데이터를 지속해서 이동 및 관리해야 함을 의미합니다. 앞서 살펴본 전통적인 데이터 공유 문제점을 해결하기 위해서 현대화된 데이터 공유 기술이 등장하게 되었으며, 그림 4-2와 같은 단순화된 데이터 공유를 통해 IT 운영이 간소화되고, 새로운 비즈니스 인사이트를 발굴할 수 있게 되었으며, 고객에게 더 좋은 서비스를 제공하고 나아가 데이터 수익 모델로 진화할 수 있게 되었습니다. 이 공유 방법은 데이터를 복사나 이동하지 않고 라이브 데이터를 실시간으로 공유할 수 있습니다. 이 공유 방식은 완벽한 접근 통제 및 안전한 데이터 공유 기능을 제공하기  위해서 멀티-테넌트, 메타데이터-기반 아키텍처가 필요합니다.  

 

4.5 최적 성능을 위한 워크로드 조정

현대화된 클라우드 데이터 레이크 솔루션은 사용자 수요에 따라서 온-디맨드 방식으로 즉각적인 탄력성과 함께 필요한 모든 리소스를 제공할 수 있습니다. 더 이상 최대 용량을 기반으로 과도하게 시스템 리소스를 사전에 프로비저닝할 필요가 없습니다. 이 방식은 몇 년 전만 해도 불가능한 방식으로, 대용량 데이터 볼륨, 데이터 유형의 다양성과 같은 사용자 요구사항을 충족할 수 있습니다.   

  • 고성능 SQL 계층 활용: 새로운 분석 TF팀에서 신규 프로젝트를 시작하고, 기존에 분석하지 못했던 분기, 반기 또는 년 단위의 대용량 데이터가 포함된 쿼리를 수행해야 한다면 어떻게 해야 하나요? 이 요구사항을 충족하기 위해서는 샌드박스 기반의 분석환경을 빠르게 제공해야 하며, 대량 데이터를 원활하게 분석하기 위한 고성능 SQL 엔진이 필요합니다.  
  • 워크로드 격리: 많은 사용자가 동시에 데이터 레이크에 접속할 수 있기 때문에, 동시에 많은 리소스를 사용할 수 있습니다. 동시에 워크로드가 집중되는 상황에서도 중요 분석 업무 SLA에 미치는 영향을 최소화하기 위해서는, 데이터 레이크는 워크로드가 물리적으로 격리된 실행환경을 제공하여 다중-워크로드 간의 자원 경합으로 인한 성능 저하 현상을 제거해야 합니다. 예를 들어, 주기적인 ML 모델 학습 또는 분기, 반기 또는 년 단위 배치 작업은 대량 데이터 기반의 리소스-집약적인 작업이기 때문에 물리적으로 격리된 실행 환경을 제공해야 합니다. 현대화된 데이터 레이크 솔루션은 워크로드 별로 필요한 시점에 격리된 실행 환경을 유연하게 제공해야 하며, 사용되지 않는 시점에는 "auto-suspend"되어 불 필요한 비용이 발생하지 않도록 해야 합니다.  
  • 오브젝트 스토리지의 데이터 사용: 현대화된 데이터 레이크의 스토리지 계층은 Amazon S3, MS Azure Blob Storage 또는 Google GCS를 지원해야 합니다. 멀티-클라우드 환경에서도 데이터 레이크는 단일 데이터 소스를 유지해야 하며, 이는 멀티-클라우드의 여러 데이터 리파지토리에 데이터들이 동기화되는 작업을 제거할 수 있습니다. 이처럼 클라우드 스토리지에 저장된 원천 데이터를 SQL 엔진에서 쉽게 사용할 수 있는 기능을 제공해야 합니다. 여기에는 그림 4-3과 같이 구체화 뷰(Materialized View)도 포함됩니다. 구체화 뷰는 외부 파일의 데이터에 대한 메타데이터와 통계 정보를 미리 계산하여 쿼리 성능을 향상할 수 있습니다. 이 구체화 뷰의 장점은 데이터 갱신이 발생한 경우, 백그라운드 작업으로 데이터 변경분을 반영하기 때문에 별도의 ETL과 같은 파이프라인을 구축할 필요가 없습니다. 

  • 컴퓨팅 클러스터 크기 조정: 컴퓨팅 클러스터 크기 조정: 유연한 클라우드-기반 데이터 레이크 솔루션은 새로운 컴퓨팅 클러스터를 투명하게 생성한 뒤, 동시 사용자 요청을 수용을 위해 로드 밸런싱을 자동으로 수행하여 컴퓨팅 클러스터를 자동으로 확장할 수 있어야 합니다. 실행 클러스터가 자동으로 확장된 뒤, 사용자 요청이 줄어들면, 두 번째 클러스터가 자동으로 스핀 다운되어 불필요한 비용 사용을 최소화해야 합니다. 이 컴퓨팅 클러스터 크기 자동 조정 기능은 클러스터 수를 사용자가 구성할 수 있어야 합니다.   

Tip: 외부 테이블(External Table)은 파일 경로, 버전 식별자 및 파티션 정보와 같은 데이터 파일에 대한 파일-수준의 메타데이터를 저장합니다. 이 정보를 활용하여 데이터 레이크는 외부 테이블에 저장된 데이터를 데이터베이스 내부에 있는 것처럼 사용할 수 있습니다. 외부 테이블(External Table)를 통해 얻을 수 있는 혜택은 다음과 같습니다:

  •  S3, MS Azure Blob Storage 또는 GCS에 저장된 데이터를 직접 쿼리할 수 있습니다. 
  • 불필요한 데이터 복사 및 이동이 필요 없기 때문에 데이터 레이크를 단일 데이터 저장소로 유지할 수 있습니다 .
  • 데이터 위치에 관련 없이 외부 소스에서 생성된 데이터에 대한 빠른 분석이 가능합니다.

 

 

5.  Modern Cloud Data Lake 혜택 평가

5.1 초창기 데이터 레이크 도전 과제

1세대 데이터 레이크는 오픈 소스 Apache Hadoop 기반으로 온-프레미스 환경에 구축되었고, 2세대 데이터 레이크는 AWS, MS Azure 및 GCP와 같은 퍼블릭 벤더에서 제공하는 클라우드 스토리지를 사용하여 구축되었습니다. 이 접근법은 여러 가지 문제를 야기시켰습니다: 

  • 모든 유형의 원시 데이터를 데이터 레이크로 수집하여 저장하는 것은 가능하지만, 일부 빅데이터 전문가들만이 이 플랫폼을 통해 분석 워크로드를 수행했으며, 다른 모든 사용자들에게는 매우 어려웠습니다. 
  • 플랫폼 사이징은 피크-시점의 용량을 기반으로 산정되어 초기 과도한 비용을 투자해야 했습니다. 데이터양 및 워크로드는 시간 경과에 따라 증가되어 결국 플랫폼 가용 리소스의 제약으로 워크로드 지연이나 플랫폼 장애가 발생합니다. 
  • 이와 같은 데이터 레이크를 관리할 전문 인력이 부족합니다.
  • 보안 및 거버넌스는 플랫폼 구축 후 고려되어, 데이터 보안 위험이 증가되고 규정을 준수하지 못했습니다. 플랫폼 구축 후, 보안 적용은 고려해야 할 사항이 너무 많아 적용하기가 굉장히 어렵습니다.   

이러한 제약 사항들을 해결하기 위해 현대화된 클라우드-기반의 솔루션을 새롭게 설계하고 개발하는 계기가 되었고, 이 플랫폼을 3세대 데이터 레이크라고 합니다. 

 

5.2 플랫폼 확장성(Scalability) 개선

Hadoop 기반의 데이터 레이크를  온-프레미스 환경에 구축하기 위해서는 H/W 인프라 및 S/W를 구매, 구축 및 유지 관리해야 하고 데이터 레이크 플랫폼은 고정된 리소스만을 사용함으로 확장성이 제한됩니다. 플랫폼 확장을 위해서는 추가 비용이 필요하며, 데이터 리밸런싱과 같은 별도의 작업도 필요합니다. Hadoop은 클러스터 노드에 데이터 스토리지와 컴퓨팅을 혼용하는 방식이기 때문에, 피크-시점의 스토리지와 컴퓨팅 리소스 예측이 매우 어렵우므로 정확한 용량 산정은 전문가에게 의존적이며 오랜 시간이 소요됩니다. 이와 같은 대규모 클러스터는 상당한 처리 오버해드가 발생하기 때문에, 분석 워크로드 성능 저하 현상이 자주 발생합니다. 온-프레미스에서 구축된 Hadoop 기반의 데이터 레이크와 Snowflake의 Data Cloud를 비교하면, 온-프레미스에서 투자한 비용보다 더 저렴한 비용으로 클라우드에서 데이터 레이크 서비스를 구축할 수 있으며 확장성, 탄력성 및 높은 처리량와 같은 클라우드-네이티브 한 추가 혜택을 얻을 수 있습니다. 스토리지와 컴퓨팅 리소스는 분리되어 있지만, 논리적으로 통합되어 있어서, 워크로드에 따라 독립적으로 확장되도록 설계되었습니다. 클라우드용으로 설계 및 구축된 현대화된 데이터 레이크는 스토리지 및 컴퓨팅 리소스가 워크로드 요청에 따라 거의-무제한으로 확장할 수 있기 때문에 단일 데이터 레이크에 정형, 반정형 및 비정형 데이터를 통합하여 분석 워크로드를 수행할 수 있으며, 사용한 만큼만 비용을 지불하면 됩니다. 다음은 확장성을 보장하기 위해 고려해야 할 몇 가지 지침입니다. :

  • 컴퓨팅과 스토리지 리소스를 탄력적이며 독립적으로 쉽게 확장할 수 있는 플랫폼을 선택
  • 통합된 단일 데이터 레이크로 단일 데이터를 공유하지만 워크로드 간 경합을 제거하는 동시에 독립적으로 확장 가능한 멀티 클러스터 기능 제공
  • 특정 시점에 동시 요청이 급증할 때 자동 확장 기능 제공

5.3  데이터 레이크 구축 및 관리 비용 절감

기존 데이터 레이크 프로젝트는 높은 투자 비용과 오랜 시간이 필요하며, 대규모 서버-기반의 클러스터를 구축해야 합니다. HW 및 SW에 대한 라이선스 비용과 함께 환경을 구축, 구성, 관리, 배포, 튜닝, 보안 및 백업과 같은 다양한 작업에 개별 전문가를 투입하여 진행해야 합니다. 클라우드 스토리지 기반으로 구축된 데이터 레이크는 초기 비용을 적게 투자하고 빠르게 구축할 수 있지만, 여전히 플랫폼에 대한 수동 관리 작업들은 수행되어야 합니다. Snowflake 데이터 플랫폼으로 구축하면, 온-프레미스 시스템 구매, 유지 관리 및 보안을 포함한 기타 관리 작업에 상당한 비용을 절감할 수 있습니다. 플랫폼 공급 업체는 서버 프로비저닝, 데이터 거버넌스, 데이터 보호 및 보안 그리고 성능 튜닝과 관련된 모든 기술에 관련된 관리 작업들을 자동으로 처리합니다.  온-프레미스 데이터 레이크 솔루션은 자산으로 취급되어 시간에 경과에 따라 감가 상각되기 때문에 초기에 많은 투자가 필요합니다. 클라우드 솔루션은 초기에 휠씬 적은 투자만이 필요하며, 이는 운영 비용이나 경비로 처리될 수 있습니다. 사용량-기반 가격 정책은 실제 사용한 만큼만 지불하면 되기 때문에 매우 합리적인 방식입니다. 비용을 통제하기 위한 몇 가지 합리적인 생각은 다음과 같습니다:

  • 일 년 중 가장 바쁜 시점에 분, 시간 또는 월의 단위가 아닌 초 단위로 사용 요금을 지불
  • 일별, 월별, 분기별 또는 계절별 데이터 급증에 대해 데이터 레이크 리소스에 대한 자동 확장(Scale-out 및 Scale-down)
  • 번거로운 용량 계획과 클러스터 확장 관리 작업 제거

5.4 모든 유형의 데이터를 활용하여 새로운 인사이트 발굴

다양한 데이터 소스에서 생성되는 다양한 유형의 대용량 데이터와 메타데이터가 단일 플랫폼에 모두 통합되어 있기 때문에, 사용자는 데이터 기반으로 새로운 통찰력을 더욱 쉽게 발굴할 수 있습니다. 이와 같은 분석 작업은 IT 전문가 도움 없이 쉽게 수행됩니다. 다양한 업무 요구사항을 수용하기 위해서는 다양한 유형의 데이터를 단일 데이터 레이크로 통합해야 합니다. 여기에는 오디오 및 비디오와 같은 비정형 데이터와 JSON, Avro 및 XML과 같은 반정형 데이터가 포함되며, Apache Parquet 및 ORC와 같은 기존 데이터 레이크에서 생성된 파일 및 CSV 파일도 포함됩니다. 여러 데이터가 혼용되어 저장된 경우에도  일관된 방식으로 분석 워크로드를 수행 할 수 있기 때문에  데이터 사일로를 생성하지 않습니다. 원활한 데이터 관리를 위한 몇 가지 지침은 다음과 같습니다:

  • 일관된 사용자 경험을 제공하기 위해 글로벌-수준의 메타데이터 계층을 제공해야 합니다. 
  • 정형 및 비정형(JSON, Avro, Parquet 및 XML 형식) 데이터 지원 아키텍처를 표준화합니다.
  • 트랜잭션 무결성으로 원천 데이터 로딩을 지원하는 파이프라인 도구를 사용해야 합니다. 

5.5 업무 및 IT 생산성 향상 

Hadoop 기반의 1세대 데이터 레이크에서는 용량 계획, 리소스 할당, 성능 최적화 및 기타 복잡한 작업을 지속해서 수행해야 했으며, 이 작업들은 소수의 Hadoop 전문가에게 의존되었습니다. 클라우드 환경이 보편화되면서 클라우드 스토리지를 사용한 데이터 레이크를 구축하여 IT 인프라 관리 오버헤드를 제거했지만, 여전히 소프트웨어 스택을 설치, 구성, 관리 및 튜닝해야 했습니다. 클라우드용으로 구축된 현대화된 데이터 레이크를 사용하면 지금까지 해결하기 어려웠던 보안, 튜닝 및 성능 최적화가 관리형 서비스에 포함되어 제공됩니다. 즉, IT 인프라 및 플랫폼 관리 작업을 벤더에게 맡김으로써, 별도의 전문 인력 없이 누구나 데이터 분석 업무에 집중할 수 있습니다. 

 

5.6 환경 간소화

데이터 레이크의 개념은 아직도 유효합니다. 대부분의 기업들은 대량 데이터에 대한 쿼리  및 리포팅을 위한 솔루션을 원합니다. 하지만, 기존 온-프레미스 데이터 레이크는 사용자의 기대를 충족하지 못했습니다. 오늘날 데이터는 관계형, NoSQL, IoT 디바이스, SaaS 및 기업용 애플리케이션과 같이 다양한 데이터  소스에서  생성되며, 이런 데이터들은 다양한 형식, 모델 및 구조를 갖기 때문에 종종 요건에 최적화된 개별 데이터 플랫폼에 저장되어 처리됩니다. 모든 유형의 데이터를 하나로 통합하는 것은 레거시 데이터 웨어하우스와 온-프레미스 데이터 레이크에서는 해결되지 않는 숙제이지만, 현대화된 데이터 레이크는 데이터 사일로를 제거하고 여러 유형의 데이터를 단일 플랫폼에 저장할 수 있습니다. 여기에는 Amazon, MS 및 Google과  같은 클라우드 플랫폼에서 제공하는 객체 스토리지도 포함되어 있습니다. 오늘날의 클라우드 아키텍처는 다양한 데이터 유형을 처리하기 위해 오브젝트 스토리지 사용 옵션울 제공합니다. Hadoop 환경에서 수행했던 용량 산정, 하드웨어 인프라 관리, 소프트웨어 관리 및 개발과 같은 작업을 수행하지 않고도 클라우드 스토리지는 거의 모든 유형의 데이터를 쉽게 저장할 수 있습니다. 또한, SQL 및 기타 다른 도구를 사용하여 데이터를 탐색, 시각화 및 분석할 수 있습니다. Edge2AI까지 모든 분석 워크로드를 수용하는 데이터 레이크를 구축하기 위해서는 많은 작입이 필요할 수 있습니다. 특히, Hadoop과 같은 오픈 소스 기술을 사용하거나 단순히 객체 저장소에 SQL 추상화 계층을 추가하는 경우에도 마찬가지 있습니다.  클라우드 기반의 데이터 레이크 솔루션을 검토할 때, 다음 기능을 지원하는지 검토 해야합니다: 

  • 빠른 분석: 데이터 푸루닝과 같은 성능-향상 및 성능 최적화 가능을 제공
  • 중앙 집중식: 복잡성을 최소화하고 비용을 줄이며, 여러 장애 지점을 제거한 통합된 단일 서비스로 제공 
  • 친숙한 도구: 표준 SQL문 및 도구를 통해 전체 환경에 접근할 수 있어야 하며, NoSQL에 대한 지원을 통해 기계에서 생성된 IoT 센서 데이터와 소셜 미디어 데이터와 같은 다양한 유형의 데이터를 쉽게 저장하고 분석 할 수 있어야 함.  
  • Cohesive 아키텍처: 모든 데이터는 외부 데이터 버킷(second-class storage object)이 아닌 클라우드 데이터 레이크 내부(first-class storage objects)에 있어, 데이터 이동이 최소화되고 성능을 최적화화 할 수 있는 아키텍처 제공.

 

6. Cloud Data Lake계획을 위한 6단계

현대화된 데이터 레이크를 구축하려면 원천 데이터(Raw-data)를 쉽게 저장하고, 이 데이터를 빠르게 탐색하고, 일관되고 관리되는 방식으로 가공하고, 광범위한 데이터 분석을 쉽게 지원하기 위한 플랫폼이 필요합니다. 다음 단계를 고려해 보세요: 

  1.  데이터 유형 파악: 데이터 레이크에 저장할 정확한 데이터 소스, 유형 및 위치를 식별해야 합니다. 데이터 소스의 속성을 파악한 뒤, 데이터가 얼마나 자주 사용될 것인지 평가해야 합니다. 기업 내 다른 부서 및 외부 기관과 데이터 공유가 필요합니까? 현재 시스템에서는 어떻게 데이터를 공유하고 있나요? 사용중인 레거시 데이터 공유 방식을 파악하여 어떻게 개선할지를 계획하십시오.  
  2. 데이터 리파지토리 고려: 데이터 레이크는 단일 데이터 리파지토리를 사용해 모든 데이터를 효율적으로 저장합니다. 단일 리파지토리는 데이터 보관을 포함한 다양한 용도로 활용될 수 있습니다(1) 레가시 데이터 웨어하우스에서 ETL 오프로드용, 2) 복잡한 데이터 처리를 위한 배치용 및 3) 스트리밍 및 4) ML 워크로드 용). 데이터 준비를 기존 데이터 웨어하우스 또는 데이터 저장소에서 수행할 예정인가요? 모든 데이터가 클라우드 스토리지의 버킷에 저장되나요? 만일 그렇다면, 데이터 레이크용 스토리지 버킷과 통합해서 사용해야 하나요? 그렇지 않다면, 클라우드 데이터 레이크가 중앙 데이터 리파지토리 역할을 수행할 수 있나요?
  3. 데이터 파이프라인 정의: 초기 데이터 마이그레이션과 증분 업데이트를 고려해 데이터 수집 아키텍처를 계획하십시오. 초기에 마이그레이션 해야하는 데이터가 존재하나요? 이 데이터는 일회성으로 마이그레이션 하면 되나요? 아니면 새로운 데이터를 계속해서 동기화해야 하나요? 데이터 파이프라인 구축이 필요한가요? 
  4. 유사 사용 사례를 참조: 기존 Hadoop 기반의 데이터 레이크를 개선할 목적인가요? 클라우드 벤더에서 제공하는 클라우드 스토리지를 사용해, 신규로 데이터 레이크를 구축할 예정인가요? PaaS와 같은 관리형 데이터 레이크로 구축할 예정인가요? 기존 데이터 레이크 또는 데이터 웨어하우스를 사용한 경험이 있다면, 클라우드 환경으로 새롭게 설계되고 개발된 새로운 플랫폼을 원할 것입니다. 
  5. 거버넌스와 보안 적용: 데이터 레이크를 성공적으로 구축하기 위해서는 데이터 품질을 유지하고, 규제 지침을 준수하면서 데이터를 안전하게 보호하고 자동으로 관리되어야 합니다. 초기 데이터 로드와 신규 데이터 수집될 때 이 데이터들은 관리할 담당자를 지정해야 합니다.  
  6. 플랫폼을 단순하게 유지: 데이터 레이크 구축이 완료되면, IT 인프라 관리(하드웨어, 소프트웨어 설치 및 업그레이드)와 플랫폼 유지 관리 작업이 불필요합니다. 백업, 성능 튜닝, 보안 업데이트 및 기타 관리 요구 사항을 플랫폼의 서비스로 자동으로 제공되어야 합니다.  

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

Snowflake Data Cloud  (0) 2021.12.08
Cloud Data Platforms  (0) 2021.12.08
Snowflake – Partitioning  (0) 2021.11.30
Snowflake Elastic Data Warehouse  (0) 2021.11.21
Snowflake의 데이터 공유(Data Sharing)  (0) 2021.11.20