[DP-900] 4. Microsoft Azure 데이터 기본 사항: Azure의 데이터 분석 탐색 - 대규모 분석의 기본 사항 살펴보기
출처 :
Microsoft Azure 데이터 기본 사항: Azure의 데이터 분석 탐색 - Training
Microsoft Azure 데이터 기본 사항: Azure의 데이터 분석 탐색
learn.microsoft.com
목차
1. 대규모 분석의 기본 사항 살펴보기
2. 실시간 분석의 기본 사항 살펴보기
3. 데이터 시각화의 기본 사항 살펴보기
대규모 분석의 기본 사항 살펴보기
- 대규모 데이터 분석 솔루션은 데이터 웨어하우징과 데이터레이크하우스 기술 함께 활용
- 데이터 웨어하우징 솔루션 : 다차원 모델을 쿼리하고 빌드하는데 최적화된 스키마를 사용하여 트랜잭션 데이터 저장소의 데이터를 관계형 데이터베이스로 복사하는 작업 포함
- 데이터 레이크하우스 솔루션 : 여러 형식으로 대량의 데이터와 함께 사용됨. 일괄 처리는 실시간 스트림에 로드되거나 캡쳐되고, Apache Spark와 같은 분산 처리 엔진을 사용하여 처리하는 데이터 레이크에 저장됨.
학습목표
- 대규모 데이터 분석 솔루션의 공통 요소 식별
- 데이터 수집 파이프라인의 주요 기능 설명
- 일반적인 형식의 분석 데이터 저장소 식별
- Azure에서 Paas 분석 서비스 식별
- Azure Synapse Analytics를 프로비저닝하고 데이터를 수집, 처리, 쿼리하는데 사용
- 데이터 분석을 위한 Saas 솔루션인 Microsoft Fabric의 기능 설명
- Microsoft Fabric을 사용하여 데이터 수집 및 분석
[데이터 웨어하우징 아키텍처 설명]
1. 데이터 수집 및 처리
- 하나 이상의 트랜잭션 데이터 저장소, 파일, 실시간 스트림 또는 기타 원본의 데이터가 데이터 레이크 또는 관계형 데이터 웨어하우스에 로드됨.
- 로드 작업에는 일반적으로 ETL 또는 ELT 프로세스가 포함되며, 분석을 위해 데이터를 정리, 필터링하여 재구성
- ETL 프로세스에서 데이터는 분석 저장소에 로드되기 전에 변환되고 ELT 프로세스에서는 데이터가 저장소에 복사된 다음 변환됨. -> 어느 쪽이든 결과 데이터 구조는 분석 쿼리에 최적화됨.
- 데이터 처리는 다중 노트 클러스터를 사용하여 대량의 데이터를 병렬로 처리할 수 있는 분산 시스템에서 수행하는 경우가 많음.
- 데이터 수집에는 정적 데이터의 일괄 처리와 스트리밍 데이터의 실시간 처리가 모두 포함됨.
2. 분석 데이터 저장소
- 관계형 데이터 웨어하우스, 파일 시스템 기반 데이터 레이크 및 데이터 웨어하우스와 데이터 레이크의 기능을 결합하는 하이브리드 아키텍처가 포함.
3. 분석 데이터 모델
- 하나 이상의 차원에서 숫자 데이터 값이 집계되는 큐브로 설명됨.
- 모델은 데이터값과 차원 엔터티 간의 관계를 캡슐화하여 "드릴업/드릴다운" 분석을 지원.
4. 데이터 시각화
[데이터 수집 파이프라인 살펴보기]
- 하나 이상의 원본에서 분석 데이터 저장소로 데이터를 수집하는 방법 살펴보기
- 대규모 데이터 수집은 ETL 프로세스를 오케스트레이션하는 파이프라인을 만들어 구현하는 것이 가장 좋음.
- Azure Data Factory : 통합 작업 영역에서 데이터 분석 솔루션의 모든 구성 요소를 관리하려는 경우 사용하여 파이프라인을 만들고 실행
- Azure Synapse Analytics, Microsoft Fabric : 유사한 파이프라인 엔진을 사용할 수 있음.
-> 두 경우 모두 파이프라인은 데이터에서 작동하는 하나 이상의 활동으로 구성됨. 입력 데이터 세트는 원본 데이터를 제공하며, 작업은 출력 데이터 세트가 생성될 때까지 데이터를 증분 방식으로 조작하는 데이터 흐름으로 정의. 파이프라인은 외부 데이터 원본에 연결하여 다양한 데이터 서비스와 통합
[분석 데이터 저장소 살펴보기]
1. 데이터 웨어하우스
- 데이터 분석에 최적화된 스키마에 저장되는 관계형 데이터베이스
- 트랜잭션 저장소의 데이터는 데이터를 집계할 수 있는 엔터티를 나타내는 하나 이상의 차원테이블과 관련된 중앙 팩트 테이블에 숫자 값이 저장되는 스키마로 변환됨.
(여기서 start schema와 snowflake schema 개념이 살짝 나오는데, 번역어투라 상당히 당황했음;;;)
2. 데이터 레이크하우스
- 고성능 데이터 액세스를 위한 분산 파일 시스템에 있는 파일 저장소
- Spark 또는 Hadoop과 같은 기술은 저장된 파일에 대한 쿼리를 처리하고 보고 및 분석을 위해 데이터를 반환하는데 자주 사용됨.
-> 이러한 시스템은 데이터를 저장할 때 제약조건을 적용하지 않고 분석을 위해 데이터를 읽는 지점에서 반 구조화된 데이터 파일에 테이블 형식 스키마를 정의하는 읽기 스키마 접근 방식을 적용하는 경우가 많음.
- 데이터가 저장소에 기록될 때 스키마를 적용하지 않고 분석하려는 구조화, 반구조화 및 구조화되지 않은 데이터의 혼합을 지원하는데 유용
- 데이터 레이크 및 데이터 웨어하우스 기능을 결합하는 하이브리드 접근 방식을 사용할 수 있음
- 원시 데이터는 데이터 레이크에 파일로 저장되고 관계형 스토리지 계층은 기본 파일을 추상화하고 테이블로 노출하며 SQL을 사용하여 쿼리할 수 있음.
- Azure Synapse Analytics의 SQL 풀에는 데이터 레이크의 파일을 기반으로 외부 테이블을 정의하고 SQL을 사용하여 쿼리할 수 있는 PolyBase가 포함됨.
ct) PolyBase : SQL Server의 데이터 가상화 기능. 이를 통해 SQL Server instance가 외부 데이터 소스(Oracle, MongoDB 등)에서 직접 T-SQL을 사용하여 데이터를 쿼리할 수 있음.
- Synapse Analytics는 데이터베이스 템플릿을 사용하여 데이터 웨어하우스의 관계형 스키마를 정의하는 동시에 데이터 레이크 스토리지에 기본 데이터를 저장하여 데이터 웨어하우징 솔루션에 대한 스토리지와 컴퓨팅을 분리하는 레이크 데이터베이스 접근 방식을 지원함. (어이구야... 말이 어렵다)
- 데이터 레이크 하우스는 Spark 기반 시스템에서 비교적 새로운 접근 방식이며 Delta Lake와 같은 기술을 통해 사용하도록 설정됨.
- Spark에 관계형 스토리지 기능을 추가하므로, 스미카 및 트랜잭션 일관성을 적용하고 일괄 로드 및 스트리밍 데이터 원본을 지원, 쿼리용 SQL API를 제공하는 테이블을 정의할 수 있음.
[PaaS 솔루션 살펴보기]
1. Azure Synapse Analytics
- 대규모 데이터 분석을 위한 통합 end-to-end solution
- 여러 기술과 기능을 결합하여 데이터 레이크 및 오픈소스 Apache Spark의 유연성과 확장 가능한 고성능 SQL Server 기반 관계형 데이터 웨어하우스의 데이터 무결성 및 안정성을 결합할 수 있음.
- Azure Synapse Data Explorer 풀을 사용한 로그 및 원격 분석에 대한 기본 지원뿐만 아니라 데이터 수집 및 변환을 위한 기본 제공 데이터 파이프라인도 포함.
- Azure Synapse Studio로 관리
- Spark 코드와 markdown 콘텐츠를 결합할 수 있는 대화형 Notebook을 만드는 기능 포함
- Azure에서 단일 통합 분석 솔루션을 만드려는 경우 적합
2. Azure Databricks
- Databricks : Apache Spark를 기반으로 구축된 포괄적인 데이터 분석 솔루션, 데이터 분석 및 데이터 과학을 위한 워크로드에 최적화된 Spark 클러스터뿐만 아니라 네이티브 SQL 기능 제공
- 시스템 관리, 대화형 Notebook에서 데이터를 탐색할 수 있는 대화형 사용자 인터페이스 제공
- 여러 클라우드 플랫폼에서 일반적으로 사용됨.
3. Azure HDInsight
- 분석 솔루션이 여러 오픈 소스 프레임워크를 사용하거나 기존 온-프레미스 Hadoop 기반 솔루션을 클라우드로 마이그레이션해야 하는 경우 적합한 옵션
참고)
각 서비스는 데이터를 쿼리할 수 있는 스키마 및 인터페이스를 제공한다는 점에서 분석 데이터 저장소로 간주될 수 있음. 그러나 대부분의 경우 데이터는 실제로 데이터 레이크에 저장되고 서비스는 데이터를 처리하고 쿼리를 실행하는데 사용됨. 일부 솔루션은 이러한 서비스의 사용을 결합할 수도 있음. ETL수집 프로세스는 데이터를 데이터 레이크로 복사한 다음 이러한 서비스 중 하나를 사용하여 데이터를 변환하고 다른 서비스를 사용하여 쿼리할 수 있음.
ex. 파이프라인은 HDInsight에서 실행되는 MapReduce 작업 또는 Azure Databricks에서 실행되는 Notebook을 사용하여 데이터 레이크에서 대량의 데이터를 처리한 다음 Azure Synapse Analytics의 SQL 풀에 있는 테이블에 로드할 수 있음.
[Microsoft Fabric 살펴보기]
- 모든 데이터가 OneLake의 단일 개방형 서식으로 저장되는 통합 SaaS
- OneLake : 데이터용 OneDrive라고 생각하세요... 데이터를 이동하거나 복제하지 않고도 서로 다른 지역 및 클라우드에 걸쳐 있는 스토리지 위치를 단일 논리 레이크로 결합함. 데이터는 OneLake에서 모든 파일 형식으로 저장될 수 있으며 구조화되거나 구조화되지 않을 수 있음
- 표 형식 데이터의 경우 패브릭의 분석 엔진은 OneLake에 쓸 때 델타 형식으로 데이터를 씀. 모든 엔진은 이 형식을 읽는 방법을 알고 있으며 어떤 엔진에서 작성하든 델타 파일을 테이블로 처리함.