반응형

최신 데이터 웨어하우스의 일반적인 요소

데이터 수집 및 처리에 대한 고려 사항

  • 대규모 데이터 웨어하우징 아키텍처는 이를 구현하는 데 사용되는 특정 기술과 마찬가지로 다를 수 있으나, 일반적으로 다음과 같은 요소가 포함됨.

 

데이터 웨어하우징 아키텍처

  1. 데이터 수집 및 처리
    - 하나 이상의 트랜잭션 데이터 저장소, 파일, 실시간 스트림 또는 기타 원본의 데이터가 데이터 레이크 또는 관계형 데이터 웨어하우스에 로드됨.
    - 로드 작업에는 일반적으로 ETL(추출, 변환 및 로드) 또는 ELT(추출, 로드 및 변환) 프로세스가 포함되며, 분석을 위해 데이터를 정리, 필터링 및 재구성함.
    - ETL 프로세스에서 데이터는 분석 저장소에 로드되기 전에 변환되고 ELT 프로세스에서는 데이터가 저장소에 복사된 다음 변환됨.
    - 어느 쪽이든 결과 데이터 구조는 분석 쿼리에 최적화됨.
    - 데이터 처리는 다중 노드 클러스터를 사용하여 대량의 데이터를 병렬로 처리할 수 있는 분산 시스템에서 수행하는 경우가 많음.
    - 데이터 수집에는 정적 데이터의 일괄 처리와 스트리밍 데이터의 실시간 처리가 모두 포함됨.
  2. 분석 데이터 저장소
    - 대규모 분석을 위한 데이터 저장소에는 관계형 데이터 웨어하우스, 파일 시스템 기반 데이터 레이크 및 데이터 웨어하우스와 데이터 레이크의 기능을 결합하는 하이브리드 아키텍처(데이터 레이크하우스 또는 레이크 데이터베이스라고도 함)가 포함됨.
  3. 분석 데이터 모델
    - 데이터 분석가와 데이터 과학자는 분석 데이터 저장소에서 직접 데이터를 사용할 수 있지만, 보고서, 대시보드 및 대화형 시각화를 더 쉽게 생성할 수 있도록 데이터를 미리 집계하는 하나 이상의 데이터 모델을 만드는 것이 일반적.
    - 데이터 모델은 하나 이상의 차원에서 숫자 데이터 값이 집계되는 큐브로 설명됨.
    - 모델은 데이터값과 차원 엔터티 간의 관계를 캡슐화하여 “드릴업/드릴다운” 분석을 지원함.
  4. 데이터 시각화
    - 데이터 분석가는 분석 모델 및 분석 저장소에서 직접 데이터를 사용하여 보고서, 대시보드 및 기타 시각화를 만듦.
    - 기술 전문가가 아닐 수 있는 조직의 사용자는 셀프서비스 데이터 분석 및 보고를 수행할 수 있음.
    - 데이터 시각화는 비즈니스 또는 기타 조직의 추세, 비교 및 KPI(핵심 성과 지표)를 표시하며, 문서 또는 PowerPoint 프레젠테이션, 웹 기반 대시보드 및 사용자가 데이터를 시각적으로 탐색할 수 있는 대화형 환경의 인쇄된 보고서, 그래프 및 차트 형식을 사용 가능.

 

데이터 수집 파이프라인

 

  • Azure에서 대규모 데이터 수집은 ETL 프로세스를 오케스트레이션하는 파이프라인을 만들어 구현하는 것이 가장 좋음.
  • Azure Data Factory를 사용하여 파이프라인을 만들고 실행하거나 통합 작업 영역에서 데이터 웨어하우징 솔루션의 모든 구성 요소를 관리하려는 경우 Azure Synapse Analytics에서 동일한 파이프라인 엔진을 사용 가능.
  • 두 경우 모두 파이프라인은 데이터에서 작동하는 하나 이상의 활동으로 구성됨.
  • 입력 데이터 세트는 원본 데이터를 제공하며, 작업은 출력 데이터 세트가 생성될 때까지 데이터를 증분 방식으로 조작하는 데이터 흐름으로 정의 가능.
  • 파이프라인은 연결된 서비스를 사용하여 데이터를 로드하고 처리하므로 워크플로의 각 단계에 적합한 기술을 사용 가능.
  • 예를 들어 Azure Blob Store 연결된 서비스를 사용하여 입력 데이터 세트를 수집한 다음, Azure Databricks 또는 Azure HDInsight에서 데이터 처리 작업을 실행하기 전에 Azure SQL Database와 같은 서비스를 사용하여 관련 데이터값을 조회하는 저장 프로시저를 실행하거나 Azure Function을 사용하여 사용자 지정 논리를 적용 가능.
  • 마지막으로 Azure Synapse Analytics와 같은 연결된 서비스에 출력 데이터 세트를 저장 가능.
  • 파이프라인에는 연결된 서비스가 필요하지 않은 일부 기본 제공 활동이 포함될 수도 있음.

 

분석 데이터 저장소에 대한 옵션

데이터 웨어하우스

  • 데이터 웨어하우스는 데이터가 트랜잭션 워크로드가 아닌 데이터 분석에 최적화된 스키마에 저장되는 관계형 데이터베이스.
  • 일반적으로 트랜잭션 저장소의 데이터는 데이터를 집계할 수 있는 엔터티를 나타내는 하나 이상의 차원 테이블과 관련된 중앙 팩트 테이블에 숫자 값이 저장되는 스키마로 비 정규화됨.
  • 예를 들어 팩트 테이블에는 고객, 제품, 저장소 및 시간 차원으로 집계할 수 있는 판매 주문 데이터가 포함될 수 있음.(예: 각 매장의 제품별 월별 총판매 수익을 쉽게 찾을 수 있음)
  • 이러한 종류의 팩트 및 차원 테이블 스키마를 별표 스키마라고 함.
  • 차원 계층 구조를 나타내는 차원 테이블과 관련된 테이블을 추가하여 눈송이 스키마로 확장되는 경우도 있음(예: 제품이 제품 범주와 관련될 수 있음).
  • 데이터 웨어하우스는 구조화된 테이블 스키마로 구성할 수 있는 트랜잭션 데이터가 있고 SQL을 사용하여 쿼리하려는 경우에 적합함.

 

데이터 레이크

  • 데이터 레이크는 보통 고성능 데이터 액세스를 위한 분산 파일 시스템에 있는 파일 저장소.
  • Spark 또는 Hadoop과 같은 기술은 저장된 파일에 대한 쿼리를 처리하고 보고 및 분석을 위해 데이터를 반환하는 데 자주 사용.
  • 이러한 시스템은 데이터를 저장할 때 제약 조건을 적용하지 않고 분석을 위해 데이터를 읽는 지점에서 반 구조화된 데이터 파일에 테이블 형식 스키마를 정의하는 읽기 스키마 접근 방식을 적용하는 경우가 많음.
  • 데이터 레이크는 데이터가 저장소에 기록될 때 스키마를 적용하지 않고 분석하려는 구조화, 반 구조화 및 구조화되지 않은 데이터의 혼합을 지원하는 데 유용함.

 

하이브리드 접근 방식

  • 레이크 데이터베이스 또는 데이터 레이크 하우스에서 데이터 레이크 및 데이터 웨어하우스의 기능을 결합하는 하이브리드 접근 방식을 사용 가능.
  • 원시 데이터는 데이터 레이크에 파일로 저장되고, 관계형 스토리지 계층은 기본 파일을 추상화하고 테이블로 노출하며 SQL을 사용하여 쿼리 가능.
  • Azure Synapse Analytics의 SQL 풀에는 데이터 레이크(및 기타 원본)의 파일을 기반으로 외부 테이블을 정의하고 SQL을 사용하여 쿼리할 수 있는 PolyBase가 포함됨.
  • Synapse Analytics는 데이터베이스 템플릿을 사용하여 데이터 웨어하우스의 관계형 스키마를 정의하는 동시에 데이터 레이크 스토리지에 기본 데이터를 저장하여 데이터 웨어하우징 솔루션에 대한 스토리지와 컴퓨팅을 분리하는 레이크 데이터베이스 접근 방식을 지원함.
  • 데이터 레이크 하우스는 Spark 기반 시스템에서 비교적 새로운 접근 방식이며 Delta Lake와 같은 기술을 통해 사용하도록 설정됨.
  • Spark에 관계형 스토리지 기능을 추가하므로 스키마 및 트랜잭션 일관성을 적용하고, 일괄 로드 및 스트리밍 데이터 원본을 지원하고, 쿼리용 SQL API를 제공하는 테이블을 정의 가능.

 

 

Azure Synapse Analytics, Azure를 비롯한 데이터 웨어하우징을 위한 Azure 데이터브릭, Azure HD Insight 및 Azure 데이터 팩토리 등의 Azure 서비스

Azure Synapse Analytics

  • Azure Synapse Analytics는 대규모 데이터 분석을 위한 통합 엔드투엔드 솔루션.
  • 여러 기술과 기능을 결합하여 데이터 레이크 및 오픈 소스 Apache Spark의 유연성과 확장 가능한 고성능 SQL Server 기반 관계형 데이터 웨어하우스의 데이터 무결성 및 안정성을 결합 가능.
  • Azure Synapse Data Explorer 풀을 사용한 로그 및 원격 분석에 대한 기본 지원뿐만 아니라 데이터 수집 및 변환을 위한 기본 제공 데이터 파이프라인도 포함됨.
  • 모든 Azure Synapse Analytics 서비스는 Azure Synapse Studio라는 단일 대화형 사용자 인터페이스를 통해 관리할 수 있으며 Spark 코드와 markdown 콘텐츠를 결합할 수 있는 대화형 Notebook을 만드는 기능을 포함함.
  • Synapse Analytics는 Azure에서 단일 통합 분석 솔루션을 만들려는 경우에 적합함.

 

Azure Databricks

  • Azure Databricks는 Azure에서 인기 Databricks 플랫폼을 구현한 것.
  • Databricks는 Apache Spark를 기반으로 구축된 포괄적인 데이터 분석 솔루션이며, 데이터 분석 및 데이터 과학을 위한 워크로드에 최적화된 Spark 클러스터뿐만 아니라 네이티브 SQL 기능을 제공함.
  • Databricks는 시스템을 관리하고 대화형 Notebook에서 데이터를 탐색할 수 있는 대화형 사용자 인터페이스를 제공함.
  • 여러 클라우드 플랫폼에서 일반적으로 사용되므로 플랫폼에 기존 전문 지식을 사용하거나, 다중 클라우드 환경에서 운영하거나, 클라우드 이식 가능한 솔루션을 지원해야 하는 경우 Azure Databricks를 분석 저장소로 사용하는 것이 좋음.

 

Azure HDInsight

  • Azure Synapse Analytics 및 Azure Databricks만큼 사용자에게 친숙하지는 않지만, 분석 솔루션이 여러 오픈 소스 프레임워크를 사용하거나 기존 온-프레미스 Hadoop 기반 솔루션을 클라우드로 마이그레이션해야 하는 경우 적합한 옵션이 될 수 있음.

 

 


 

이전

 

[Azure 자격증 - DP-900] Azure에서 비관계형 데이터 작업에 대한 고려 사항 설명

Azure 스토리지의 기능 Azure Blob 스토리지 Azure Blob 스토리지는 클라우드에서 매우 많은 양의 비정형 데이터를 Blob(이진 대형 개체)로 저장할 수 있는 서비스. Blob은 데이터 파일을 클라우드 기반 스

epictrave.tistory.com

 

다음 글

 

[Azure 자격증 - DP-900] Azure에서 분석 워크로드 설명 - Part 2

실시간 데이터 분석을 위한 고려 사항 배치 데이터와 스트리밍 데이터의 차이점 데이터 처리는 프로세스를 통해 원시 데이터를 의미 있는 정보로 변환하는 것. 데이터를 처리하는 일반적인 방

epictrave.tistory.com

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기