본문 바로가기
Sooin's Equipment/etc. React, Blender, Azure DP-900

[Azure DP-900] 4. Azure에서 분석 워크로드 이해하기!

by SOOIN'S STUDY 2024. 1. 19.

일괄 처리 vs 스트림 처리

1. 일괄처리

데이터는 정기적으로 수집 및 처리

 

2. 스트림 처리

데이터가 도착하면 실시간으로 처리

 

 

 

스트림 처리 아키텍처

1. Azure의 실시간 분석 기술

1) Azure Stream Analytics:

스트리밍 소스에서 데이터를 수집하고, 영구 쿼리를 적용하고, 결과를 출력에 작성하는 스트리밍 작업을 정의하는 데 사용할 수 있는 PaaS(platform as a service) 솔루션

 

- Azure event hub, Azure IoT Hub 또는 Azure Storage BLOB 컨테이너 같은 입력에서 데이터를 수집
- 쿼리를 사용해 데이터 값을 선택하고, 산출하고, 집계하여 데이터를 처리
- Azure Data Lake Gen 2, Azure SQL Database, Azure Synapse Analytics, Azure Functions, Azure event hub, Microsoft 
Power BI 등과 같은 출력

 


2) Spark Structured Streaming:

Azure Synapse Analytics, Azure Databricks 및 Azure HDInsight를 포함해 Apache Spark 기반 서비스에서 복잡한 스트리밍 솔루션을 개발할 수 있는 오픈 소스 라이브러리

 

3) Azure Data Explorer:

시계열 요소를 사용하여 일괄 처리 또는 스트리밍 데이터를 수집 및 쿼리하는 데 최적화된 고성능 데이터베이스 및 분석 서비스

 

2. 스트림 처리를 위한 데이터 수집 서비스

1) Azure Event Hubs: 이벤트 데이터 큐를 관리하는 데 사용할 수 있는 데이터 수집 서비스
2) Azure IoT Hub: 사물 인터넷(IoT) 디바이스의 이벤트 데이터 관리용으로 최적화된 데이터 수집 서비스
3) Azure Data Lake Store Gen 2: 일괄 처리 시나리오에서 자주 사용되지만 스트리밍 데이터 소스로도 사용할 수 있는 확장성이 뛰어난 스토리지 서비스
4) Apache Kafka: 흔히 Apache Spark와 함께 사용되는 오픈 소스 데이터 수집 솔루션

 

3. 스트림 처리의 출력시 사용하는 서비스

1) Azure Event Hubs: 추가 다운스트림 처리를 위해 처리된 데이터를 큐에 대기시키는 데 사용
2) Azure Data Lake Store Gen 2 또는 Azure BLOB 스토리지: 처리된 결과를 파일로 유지하는 데 사용
3) Azure SQL Database 또는 Azure Synapse Analytics 또는 Azure Databricks: 처리된 결과를 쿼리 및 분석용 데이터베이스 테이블에 유지하는 데 사용
4) Microsoft Power BI: 보고서 및 대시보드에서 실시간 데이터 시각화를 생성하는 데 사용

 

Apache Spark 란?

:대규모 데이터 분석을 위한 분산 처리 프레임워크

 

1. Spark Structured Streaming

- Spark에서 스트리밍 데이터를 처리하려면 영구 데이터 스트림의 결과수집, 처리 및 출력하기 위한 API(애플리케이션 프로그래밍 인터페이스)를 제공하는 Spark 구조적 스트리밍 라이브러리를 사용


- Spark 구조적 스트리밍은 스트리밍 데이터를 Spark 기반 데이터 레이크 또는 분석 데이터 저장소에 통합해야 하는 경우 실시간 분석에 적합

 

2. Delta Lake

- 트랜잭션 일관성, 스키마 적용 및 기타 일반적인 데이터 웨어하우징 기능에 필요한 지원을 데이터 레이크 스토리지에 추가하는 오픈소스 스토리지 계층
- 스트리밍 및 일괄 처리 데이터용 스토리지를 통합하며, Spark에서 일괄 처리 및 스트림 처리 모두에 대한 관계형 테이블을 정의하는데 사용 가능

 

 

 

Azure Data Explorer 란?

- 데이터를 효율적으로 분석하기 위한 독립 실행형 Azure 서비스
- 웹 사이트, 애플리케이션, IoT 디바이스 등과 같은 데이터 원본의 다양한 데이터를 대량으로 분석하기 위한 출력으로 사용

 

- 높은 처리량, 일괄 처리, 스트리밍 데이터에 대한 스케일링 가능한 서비스

(Azure Data Explorer 전용 서비스, Azure Synapse Analytics의 Azure Synapse Data Explorer 런타임)
- 데이터는 스트리밍 및 일괄 처리 원본에서 데이터베이스의 테이블로 수집
- Kusto 쿼리 언어(KQL)를 사용하여 테이블을 쿼리할 수 있습니다.
( 읽기 전용 쿼리에 대한 직관적인 구문, 원시 원격 분석 및 시계열 데이터에 최적화)

 

 

 

 

Power BI 도구 및 워크플로?

1. Power BI Desktop으로 시작

- 하나 이상의 소스에서 데이터 가져오기
- 데이터 모델 정의
- 보고서에서 시각화 만들기

 

2. Power BI 서비스에 게시

- 데이터 새로 고침 일정
- 대시보드 및 앱 만들기
- 다른 사용자와 공유

 

3. 게시된 보고서와 상호 작용

- 웹 브라우저
- Power BI 휴대폰 앱

 

 

분석 데이터 모델링&보고서의 일반적인 데이터 시각화

 

Power BI의 대화형 보고서

: Power BI에서 보고서의 관련 데이터에 대한 시각적 요소는 자동으로 서로 연결되어 대화형 작업 제공

 

 

 

 

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

대규모 데이터 웨어하우징이란?

: 데이터 수집 및 처리 > 분석 데이터 저장소 > 분석 데이터 모델 > 데이터 시각화

 

1. 데이터 수집 및 처리 

- ETL(추출, 변환, 로드) 또는 ELT(추출, 로드, 변환) 오케스트레이션
- 대규모 데이터 정리 및 재구성을 위한 분산 처리
- 일괄 및 실시간 데이터 처리

 

2. 분석 데이터 저장소  

- 데이터 웨어하우스의 비정규화된 관계형 데이터 스토리지
- 데이터 레이크의 반구조화된 파일 스토리지

 

3. 분석 데이터 모델  

- 분석 엔터티에 대한 의미 체계 모델
- 하나 이상의 차원에 숫자 값을 요약하는 집계된 큐브 형식인 경우가 많음

 

4. 데이터 시각화

- 보고서
- 차트
- 대시보드

 

 

 

데이터 수집 파이프라인이란?

: Azure Data Factory 또는 Azure Synapse Analytics에서 파이프라인 만들기

 

 

 

 

 

분석 데이터 저장소?

: 데이터 웨어하우스 또는 데이터 레이크

 

1. 데이터 웨어하우스(잘 정리된 창고)

- 대규모 관계형 데이터베이스 저장소 및 쿼리 엔진
- 쿼리 최적화를 위해 데이터가 비정규화됩니다
- 일반적으로 차원별로 집계할 수 있는 숫자 팩트의 또는 눈송이 스키마

 

2. 데이터 레이크

- 데이터 파일은 분산 파일 시스템에 저장됩니다.
- 테이블 형식 스토리지 계층을 사용하여 파일을 추상화하고 관계형 인터페이스를 제공할 수 있습니다.
- 데이터가 저장소에 기록될 때 스키마를 적용하지 않고 분석하려는 구조화, 반 구조화 및 구조화되지 않은 데이터의 혼합을 지원하는 데 유용

 

 

 

 

분석 데이터  Azure 서비스!

1. Azure Synapse Analytics

: Azure에서 단일 통합 대규모 분석 솔루션에 사용

- 관계형 데이터 웨어하우스 및 데이터 레이크 분석을 위한 통합 솔루션
- 여러 분석 런타임을 통한 확장성 있는 처리 및 쿼리(Synapse SQL, Apache Spark, Synapse Data Explorer)
- Azure Synapse Studio대화형 환경

- 데이터 수집 및 처리를 위한 기본 제공 파이프라인 통합

 

2. Azure Databricks

: Databricks 기술을 활용하고 클라우드 이식성을 위해 사용
- Databricks 클라우드 분석 플랫폼의 Azure 기반 구현
- 데이터 레이크 분석을 위한 스케일링 가능한 Spark 및 SQL 쿼리
- Azure Databricks 작업 영역의 대화형 환경
- Azure Data Factory 사용하여 데이터 수집 및 처리 파이프라인 구현

 

3. Azure HDInsight

: 여러 오픈 소스 플랫폼을 지원해야 하는 경우 사용
- 데이터 레이크를 기반으로 하는 일반적인 Apache “빅 데이터” 프레임워크의 Azure 기반 구현
Hadoop - Hive 테이블을 사용하여 데이터 레이크 파일 쿼리
Spark – Spark API를 사용하여 데이터를 쿼리하고 기본 파일 스토리지를 테이블로 추상화
Kafka – 실시간 이벤트 처리
Storm – 이벤트 스트림 처리
HBase – NoSQL 데이터 저장소