다음을 통해 공유


데이터 레이크란?

데이터 레이크는 대량의 데이터를 네이티브, 원시 형식으로 보관하는 스토리지 리포지토리입니다. 데이터 레이크 저장소는 테라바이트 및 페타바이트 데이터로 비용 효율적으로 크기를 조정하도록 설계되어 대규모의 다양한 데이터 세트를 처리하는 데 적합합니다. 데이터는 일반적으로 여러 다양한 원본에서 제공되며 구조화된 데이터(예: 관계형 테이블), 반구조적 데이터(예: JSON, XML 또는 로그) 및 구조화되지 않은 데이터(예: 이미지, 오디오 또는 비디오)를 포함할 수 있습니다.

데이터 레이크를 사용하면 데이터가 필요할 때까지 변환을 지연하면서 모든 것을 원래의 변환되지 않은 상태로 저장할 수 있습니다. 이는 'schema-on-read'라고 알려진 개념입니다. 이는 구조를 강제하고 데이터를 수집할 때 변환을 적용하는 데이터 웨어하우스와 대조됩니다. 이는 '쓰기 시 스키마'라고 불립니다.

Data Lake 사용 사례

일반적인 데이터 레이크 사용 사례는 다음과 같습니다.

  • 데이터 수집 및 이동: 클라우드 서비스, IoT 디바이스, 온-프레미스 시스템 및 스트리밍 원본에서 단일 리포지토리로 데이터를 수집하고 통합합니다.
  • 빅 데이터 처리: 분산 처리 프레임워크를 사용하여 대규모로 대용량 고속 데이터를 처리합니다.
  • 분석 및 기계 학습: 다양한 대규모 데이터 세트에 대한 예비 분석, 고급 분석 및 AI 모델 학습 및 미세 조정을 지원합니다.
  • 비즈니스 인텔리전스 및 보고: 큐레이팅된 레이크 데이터 하위 집합을 웨어하우스 또는 BI 도구에 통합하여 대시보드 및 보고서를 사용하도록 설정합니다.
  • 데이터 보관 및 규정 준수: 장기 보존, 감사 가능성 및 규정 요구 사항을 위해 기록 또는 원시 데이터 세트를 저장합니다.

데이터 레이크의 장점

  • 나중에 사용할 원시 데이터를 유지합니다. 데이터 레이크는 원시 형식으로 데이터를 유지하도록 설계되어 향후 사용할 수 있는 장기 가용성을 보장합니다. 이 기능은 데이터의 잠재적 인사이트를 미리 알 수 없는 빅 데이터 환경에서 특히 유용합니다. 원시 상태를 잃지 않고 필요에 따라 데이터를 보관할 수도 있습니다.
  • 셀프 서비스 탐색: 분석가 및 데이터 과학자는 데이터를 직접 쿼리하여 실험 및 검색을 장려할 수 있습니다.
  • 유연한 데이터 지원: 구조화된 형식이 필요한 웨어하우스와 달리 레이크는 구조화되고 반구조화되고 구조화되지 않은 데이터를 기본적으로 처리할 수 있습니다.
  • 확장 가능하고 성능이 뛰어난 데이터 레이크는 분산 아키텍처에서 대규모로 병렬 수집 및 분산 실행을 가능하게 하며, 대용량 워크로드에서 기존 ETL 파이프라인을 능가하는 경우가 많습니다. 성능 이점은 다음에서 비롯됩니다.
    • 병렬 처리: 분산 컴퓨팅 엔진(예: Spark)은 데이터를 분할하고 여러 노드에서 동시에 변환을 실행하는 반면, 기존의 ETL 프레임워크는 종종 순차적 또는 제한된 다중 스레드 실행에 의존합니다.
    • 확장성: 분산 시스템은 컴퓨팅 및 스토리지 노드를 탄력적으로 추가하여 수평적으로 확장하는 반면, 기존의 ETL 파이프라인은 일반적으로 리소스 제한에 빠르게 도달한 단일 호스트의 수직적 확장에 따라 달라집니다.
  • 하이브리드 아키텍처의 기초: 데이터 레이크는 종종 레이크하우스 방식의 웨어하우스와 공존하여 원시 스토리지와 구조화된 쿼리 성능을 결합합니다.

최신 데이터 레이크 솔루션은 다음 두 가지 핵심 요소로 구성됩니다.

  • 스토리지: 다양한 데이터 형식의 내구성, 내결함성, 무한 확장성 및 높은 처리량 수집을 위해 빌드되었습니다.
  • 처리: Azure Databricks, Microsoft Fabric의 Apache Spark와 같은 엔진을 통해 구동되어 대규모 변환, 분석 및 기계 학습을 지원합니다.

또한 완성도 높은 솔루션은 메타데이터 관리, 보안 및 거버넌스를 통합하여 데이터 품질, 검색 가능성 및 규정 준수를 보장합니다.

데이터 레이크를 사용해야 하는 경우

예비 분석, 고급 데이터 과학 및 기계 학습 워크로드에 데이터 레이크를 사용하는 것이 좋습니다. 레이크는 원시 상태로 데이터를 유지하고 읽기 시 스키마를 지원하므로 팀은 다양한 데이터 형식을 실험하고 기존 웨어하우스에서 캡처하지 못할 수 있는 인사이트를 파악할 수 있습니다.

데이터 웨어하우스의 원본인 데이터 레이크

데이터 레이크는 원본 시스템에서 레이크(추출 및 로드)로 원시 데이터를 수집하는 데이터 웨어하우스의 업스트림 원본 역할을 할 수 있으며, 패브릭 웨어하우스와 같은 최신 웨어하우스는 기본 제공 MPP(대규모 병렬 처리) SQL 엔진을 사용하여 변환을 처리하고 원시 데이터를 ELT(구조적 형식 추출, 로드, 변환)로 변환합니다. 이는 웨어하우스에 로드되기 전에 데이터를 ETL 엔진 내에서 추출하고 변환하는 기존의 ETL 파이프라인과 다릅니다. 두 방법 모두 사용 사례에 따라 유연성을 제공하며, 데이터 품질, 성능 및 리소스 사용률과 같은 요소의 균형을 유지하면서 웨어하우스가 분석에 최적화되도록 합니다.

이벤트 스트리밍 및 IoT 시나리오

데이터 레이크는 선행 스키마 제약 조건 없이 고속 데이터를 대규모로 유지해야 하는 이벤트 스트리밍 및 IoT 사용 사례에 효과적입니다. 관계형 이벤트 스트림과 비관계형 이벤트 스트림을 모두 수집 및 저장하고, 짧은 대기 시간으로 대량의 작은 쓰기를 처리하고, 대규모 병렬 처리량을 지원할 수 있습니다. 따라서 실시간 모니터링, 예측 유지 관리 및 변칙 검색과 같은 애플리케이션에 적합합니다.

다음 표에서는 데이터 레이크와 데이터 웨어하우스를 비교합니다.

특징 Data Lake 데이터 웨어하우스
데이터 형식 원시, 비정형, 반구조화 및 구조화 구조화되고 고도로 구성됨
쿼리 성능 특히 복잡한 쿼리의 경우 속도가 느립니다. 는 데이터 형식 및 도구에 따라 달라집니다. 분석 쿼리에 대해 빠르고 최적화됨
대기 시간 즉석 처리로 인한 대기 시간 높아 미리 처리되고 구조화된 데이터를 사용하여 짧은 대기 시간
데이터 변환 단계 변환은 쿼리 시간에 발생하여 전체 처리 시간에 영향을 줍니다. ETL 또는 ELT 프로세스 중에 변환이 발생합니다.
확장성 대규모의 다양한 데이터에 대해 확장성이 뛰어나고 비용 효율적입니다. 특히 대규모로 확장 가능하지만 비용이 더 많이 듭니다.
비용 스토리지 비용 절감; 컴퓨팅 비용은 사용량에 따라 다릅니다. 성능 최적화로 인한 스토리지 및 컴퓨팅 비용 향상
사용 사례 맞춤 빅 데이터, 기계 학습 및 예비 분석에 가장 적합합니다. medallion 아키텍처에서 골드 계층은 보고 목적으로 활용됩니다. 비즈니스 인텔리전스, 보고 및 구조적 데이터 분석에 적합합니다.

데이터 레이크의 과제

  • 확장성 및 복잡성: 페타바이트 원시, 비구조적 및 반구조화된 데이터를 관리하려면 강력한 인프라, 분산 처리 및 신중한 비용 관리가 필요합니다.

  • 병목 상태 처리: 데이터 볼륨 및 다양성이 증가함에 따라 변환 및 쿼리 워크로드에서 대기 시간이 발생할 수 있으므로 신중한 파이프라인 디자인 및 워크로드 오케스트레이션이 필요합니다.

  • 데이터 무결성 위험: 강력한 유효성 검사 및 모니터링이 없으면 오류 또는 불완전한 수집으로 레이크 콘텐츠의 안정성이 손상될 수 있습니다.

  • 데이터 품질 및 거버넌스: 다양한 원본 및 형식으로 인해 일관된 표준을 적용하기가 어렵습니다. 메타데이터 관리, 카탈로그 및 거버넌스 프레임워크를 구현하는 것은 매우 중요합니다.

  • 대규모 성능: 레이크가 증가함에 따라 쿼리 성능 및 스토리지 효율성이 저하되어 분할, 인덱싱 및 캐싱과 같은 최적화 전략이 필요합니다.

  • 보안 및 액세스 제어: 중요한 데이터의 오용을 방지하기 위해 다양한 데이터 세트 간에 적절한 권한을 보장하고 감사하려면 계획이 필요합니다.

  • 검색 가능성: 적절한 카탈로그가 없으면 레이크는 중요한 정보가 있지만 액세스할 수 없거나 오해되는 "데이터 늪"으로 전환될 수 있습니다.

기술 선택

Azure에서 포괄적인 Data Lake 솔루션을 빌드하는 경우 다음 기술을 고려합니다.

  • Azure Data Lake Storage 는 Azure Blob Storage와 데이터 레이크 기능을 결합하여 Apache Hadoop 호환 액세스, 계층 구조 네임스페이스 기능 및 효율적인 빅 데이터 분석을 위한 향상된 보안을 제공합니다. 구조화되고 반구조화되고 구조화되지 않은 대량의 데이터를 처리하도록 설계되었습니다.

  • Azure Databricks 는 최고의 Apache Spark와 Microsoft Azure 에코시스템에 대한 심층 통합을 결합한 클라우드 기반 데이터 분석 및 기계 학습 플랫폼입니다. 데이터 엔지니어, 데이터 과학자 및 분석가가 함께 작업하여 대량의 데이터를 수집, 처리, 분석 및 모델링할 수 있는 공동 작업 환경을 제공합니다.

  • Azure Data Factory 는 Microsoft Azure의 클라우드 기반 데이터 통합 및 ETL(추출, 변환, 로드) 서비스입니다. 다양한 소스에서 클라우드 또는 온-프레미스에 관계없이 데이터 워크플로를 이동, 변환 및 오케스트레이션하는 데 사용합니다.

  • Microsoft Fabric 은 데이터 이동, 데이터 과학, 실시간 분석 및 비즈니스 인텔리전스를 단일 SaaS(Software-as-a-Service) 환경으로 통합하는 Microsoft의 엔드투엔드 데이터 분석 플랫폼입니다.

    각 Microsoft Fabric 테넌트는 OneLake라고 하는 단일 논리 데이터 레이크로 자동으로 프로비전됩니다. ADLS(Azure Data Lake Storage) Gen2를 기반으로 하는 OneLake는 구조화된 데이터 형식과 구조화되지 않은 데이터 형식을 모두 처리할 수 있는 통합 스토리지 계층을 제공합니다.

기여자

Microsoft에서 이 문서를 유지 관리합니다. 원래 다음 기여자가 작성했습니다.

주요 작성자

참여자:

비공개 LinkedIn 프로필을 보려면 LinkedIn에 로그인합니다.

다음 단계