일괄 처리 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 데이터 저장소
'Sooin's Equipment > etc. React, Blender, Azure DP-900' 카테고리의 다른 글
[BLENDER] 블랜더가 필요해!(feat. 이런! 장점 투성이!!) (4) | 2024.03.12 |
---|---|
[Azure DP-900] 시험 후기! (0) | 2024.01.23 |
[Azure DP-900] 예제 및 풀이(72문제) (0) | 2024.01.19 |
[Azure DP-900] 3. Azure에서 비관계형 데이터 탐색하기! (2) | 2024.01.19 |
[Azure DP-900] Azure SQL 설정하기(기초) (0) | 2024.01.19 |