솔루션 아이디어
이 문서는 솔루션 아이디어 설명입니다. 클라우드 설계자는 이 지침을 사용하여 이 아키텍처의 일반적인 구현을 위한 주요 구성 요소를 시각화할 수 있습니다. 이 문서를 시작점으로 사용하여 워크로드의 특정 요구 사항에 맞는 잘 설계된 솔루션을 디자인할 수 있습니다.
이 솔루션은 최신 데이터 아키텍처를 간략하게 설명합니다. Azure Databricks는 솔루션의 핵심을 형성합니다. 이 플랫폼은 Azure Data Lake Storage Gen2, Microsoft Fabric 및 Power BI와 같은 다른 서비스와 원활하게 작동합니다.
Apache® 및 Apache Spark™는 미국 및/또는 기타 국가에서 Apache Software Foundation의 등록 상표 또는 상표입니다. 이러한 표시의 사용은 Apache Software Foundation에 의한 보증을 암시하지 않습니다.
아키텍처
이 아키텍처의 Visio 파일을 다운로드합니다.
데이터 흐름
Azure Databricks는 델타 라이브 테이블을 사용하여 Azure Event Hubs에서 원시 스트리밍 데이터를 수집합니다.
Fabric Data Factory는 원시 일괄 처리 데이터를 Data Lake Storage Gen2에 로드합니다.
데이터 스토리지의 경우:
Data Lake Storage Gen2는 구조화, 비정형 및 반구조화와 같은 모든 형식의 데이터를 보관합니다. 일괄 처리 및 스트리밍 데이터도 저장합니다.
Delta Lake는 데이터 레이크의 큐레이팅된 계층을 형성합니다. 구체화된 데이터를 오픈 소스 형식으로 저장합니다.
Azure Databricks는 데이터를 계층으로 구성하는 medallion 아키텍처와 잘 작동합니다.
- Bronze: 원시 데이터를 보유합니다.
- Silver: 정리되고 필터링된 데이터를 포함합니다.
- Gold: 비즈니스 분석에 유용한 집계된 데이터를 저장합니다.
분석 플랫폼은 서로 다른 일괄 처리 및 스트리밍 원본에서 데이터를 수집합니다. 데이터 과학자는 다음 작업에 이 데이터를 사용합니다.
- 데이터 준비.
- 데이터 살펴보기.
- 모델 준비.
- 모델 학습.
MLflow는 데이터 과학 코드 실행에서 매개 변수, 메트릭 및 모델 추적을 관리합니다. 코딩 가능성은 유연합니다.
- 코드는 SQL, Python, R 및 Scala에 있을 수 있습니다.
- 코드는 미리 설치되고 최적화된 Koalas, Pandas 및 scikit-learn과 같은 인기 있는 오픈 소스 라이브러리 및 프레임워크를 사용할 수 있습니다.
- 실무자는 단일 노드 및 다중 노드 컴퓨팅 옵션을 사용하여 성능 및 비용을 최적화할 수 있습니다.
기계 학습 모델은 다음과 같은 여러 형식으로 사용할 수 있습니다.
- Azure Databricks는 MLflow 모델 레지스트리에 모델에 대한 정보를 저장합니다. 레지스트리를 사용하면 일괄 처리, 스트리밍 및 REST API를 통해 모델을 사용할 수 있습니다.
- 이 솔루션은 Azure Machine Learning 웹 서비스 또는 AKS(Azure Kubernetes Service)에 모델을 배포할 수도 있습니다.
데이터와 함께 작동하는 서비스는 일관성을 보장하기 위해 단일 기본 데이터 원본에 연결합니다. 예를 들어 사용자는 Azure Databricks SQL Warehouse를 사용하여 데이터 레이크에서 SQL 쿼리를 실행할 수 있습니다. 이 서비스는 다음과 같은 일을 합니다.
- 쿼리 편집기 및 카탈로그, 쿼리 기록, 기본 대시보드 및 경고를 제공합니다.
- 행 수준 및 열 수준 권한을 포함하는 통합 보안을 사용합니다.
- Photon 기반 델타 엔진을 사용하여 성능을 가속화합니다.
사용자는 Databricks Unity 카탈로그에서 패브릭으로 골드 데이터 세트를 미러링할 수 있습니다. 패브릭
Databricks 미러링을 사용하면 사용자가 데이터 이동 또는 데이터 복제 없이 쉽게 통합할 수 있습니다. Power BI는 통합 데이터 플랫폼에서 분석 및 기록 보고서 및 대시보드를 생성합니다. 이 서비스는 Azure Databricks로 작업할 때 다음 기능을 사용합니다.
- 기본 데이터를 시각화하기 위한 기본 제공 Azure Databricks 커넥터.
- 최적화된 JDBC(Java Database Connectivity) 및 ODBC(Open Database Connectivity) 드라이버.
- Fabric에서 Databricks 미러링을 사용하면 Direct Lake 활용하여 성능이 높은 쿼리를 위해 PBI 의미 체계 모델을 로드할 수 있습니다.
이 솔루션은 공동 작업, 성능, 안정성, 거버넌스 및 보안을 위해 Unity 카탈로그 및 Azure 서비스를 사용합니다.
Databricks Unity 카탈로그는 Azure Databricks 작업 영역에서 중앙 집중식 액세스 제어, 감사, 계보 및 데이터 검색 기능을 제공합니다.
Microsoft Purview는 데이터 자산 전반에 걸쳐 데이터 검색 서비스, 중요한 데이터 분류 및 거버넌스 인사이트를 제공합니다.
Azure DevOps는 CI/CD(연속 통합 및 지속적인 배포) 및 기타 통합 버전 제어 기능을 제공합니다.
Azure Key Vault는 비밀, 키 및 인증서를 안전하게 관리합니다.
Microsoft Entra ID 및 SCIM 프로비저닝은 Azure Databricks 사용자 및 그룹에 대한 SSO(Single Sign-On)를 제공합니다. Azure Databricks는 다음 작업에 대해 Microsoft Entra ID를 사용하여 자동화된 사용자 프로비저닝을 지원합니다.
- 새 사용자 및 그룹 만들기
- 각 사용자에게 액세스 수준 할당.
- 사용자 제거 및 액세스 거부.
Azure Monitor는 Azure 리소스 원격 분석을 수집하고 분석합니다. 이 서비스는 문제를 사전에 식별하여 성능과 안정성을 최대화합니다.
Microsoft Cost Management는 Azure 워크로드에 대한 재무 거버넌스 서비스를 제공합니다.
구성 요소
이 솔루션은 다음 구성 요소를 사용합니다.
핵심 구성 요소
Azure Databricks Spark 클러스터를 사용하여 대규모 데이터 스트림을 처리하는 데이터 분석 플랫폼입니다. 비정형 데이터를 정리 및 변환하고, 구조화된 데이터와 결합하며, 기계 학습 모델을 학습시키고 배포할 수 있습니다. 이 아키텍처에서 Databricks는 데이터 수집, 처리 및 서비스를 위한 중앙 도구 역할을 하며 전체 데이터 수명 주기를 관리하기 위한 통합 환경을 제공합니다.
Azure Databricks SQL Warehouse
Databricks에서 데이터를 쿼리하고 탐색할 수 있는 컴퓨팅 리소스입니다. 이 아키텍처에서는 SQL 엔드포인트를 활용하여 Power BI에서 데이터에 직접 연결할 수 있습니다. azure Databricks Delta Live Tables
신뢰할 수 있고 유지 관리 가능하며 테스트 가능한 데이터 처리 파이프라인을 빌드하기 위한 선언적 프레임워크입니다. 이 아키텍처에서 Delta Live Tables를 사용하면 데이터에서 수행할 변환을 정의하고 Databricks 내에서 작업 오케스트레이션, 클러스터 관리, 모니터링, 데이터 품질 및 오류 처리를 관리할 수 있습니다. Microsoft Fabric 통합 솔루션이 필요한 기업을 위해 설계된 엔드 투 엔드 분석 및 데이터 플랫폼입니다. 이 플랫폼은 데이터 엔지니어링, Data Factory, 데이터 과학, Real-Time 분석, 데이터 웨어하우스 및 데이터베이스와 같은 서비스를 제공합니다. 이 아키텍처에서는 Unity 카탈로그 테이블을 패브릭으로 미러링하고 성능 향상을 위해 Power BI의 Direct Lake를 사용합니다.
Microsoft Fabric
Data Factory를 사용하면 패브릭의 풍부한 데이터 원본 집합에서 데이터를 수집, 준비 및 변환할 수 있는 최신 데이터 통합 환경을 제공합니다. 이 아키텍처에서는 ADLS 또는 OneLake로 빠르게 수집하기 위해 여러 데이터 원본에 기본 제공 커넥터를 활용합니다. 여기서 Databricks는 나중에 일괄 처리 데이터를 검색하고 추가로 변환합니다. Event Hubs 완전히 관리되는 빅 데이터 스트리밍 플랫폼입니다. PaaS(Platform as a Service)는 이벤트 수집 기능을 제공합니다. 이 아키텍처에서 Event Hubs는 스트리밍 데이터에 사용되며, Databricks는 Spark Streaming 또는 Delta Live Tables를 사용하여 연결하고 처리할 수 있습니다.
Data Lake Storage Gen2 고성능 분석을 위한 확장 가능하고 안전한 데이터 레이크입니다. 여러 페타바이트의 데이터를 처리하고 수백 기가비트의 처리량을 지원합니다. ADLS는 구조적, 반구조적 및 비구조적 데이터를 저장할 수 있습니다. 이 아키텍처에서는 ADLS를 사용하여 일괄 처리 및 스트리밍 데이터를 모두 저장합니다.
Machine Learning 예측 분석 솔루션을 빌드, 배포 및 관리하는 데 도움이 되는 클라우드 기반 환경입니다. 이러한 모델을 사용하면 동작, 결과 및 추세를 예측할 수 있습니다. 이 아키텍처에서 AML은 모델 학습 및 유추를 위해 Databricks로 변환된 데이터를 활용할 수 있습니다.
AKS는 고가용성의 안전한 완전 관리형 Kubernetes 서비스입니다. AKS를 사용하면 컨테이너화된 애플리케이션을 쉽게 배포하고 관리할 수 있습니다. 이 아키텍처에서 AKS는 확장 가능한 추론을 위해 컨테이너화된 환경에서 기계 학습 모델을 호스트하는 데 활용됩니다.
Delta Lake는 열린 파일 형식을 사용하는 스토리지 계층입니다. 이 계층은 Data Lake Storage Gen2와 같은 클라우드 스토리지를 기반으로 실행됩니다. Delta Lake는 데이터 업데이트, 삭제 및 병합을 위한 데이터 버전 관리, 롤백 및 트랜잭션을 지원합니다. 이 아키텍처에서 Delta는 ADLS에서 데이터를 쓰고 읽기 위한 기본 파일 형식으로 작동합니다.
MLflow 기계 학습 수명 주기를 관리하기 위한 오픈 소스 플랫폼입니다. 해당 구성 요소는 학습 및 실행 중에 기계 학습 모델을 모니터링합니다. 이 아키텍처에서는 AML과 마찬가지로 Databricks의 MLflow를 활용하여 Databricks 내에서 방금 변환한 Unity 카탈로그 데이터를 사용하여 학습 및 유추를 포함하여 ML 수명 주기를 관리할 수 있습니다.
보고 및 관리 구성 요소
Databricks Unity 카탈로그 Azure Databricks 작업 영역에서 중앙 집중식 액세스 제어, 감사, 계보 및 데이터 검색 기능을 제공합니다. 이 아키텍처에서 Unity 카탈로그는 Databricks 내의 기본 도구로 작동하여 데이터 액세스를 관리하고 보호합니다.
Power BI는 소프트웨어 서비스 및 앱의 컬렉션입니다. 이러한 서비스는 관련 없는 데이터 원본을 연결하고 시각화하는 보고서를 만들고 공유합니다. Power BI는 Azure Databricks와 함께 근본 원인 결정 및 원시 데이터 분석을 제공할 수 있습니다. 이 아키텍처에서 Power BI는 Databricks 및 Fabric에서 처리되는 데이터에 대한 인사이트를 제공하는 대시보드 및 보고서를 만드는 데 사용됩니다.
Microsoft Purview는 온-프레미스, 다중 클라우드 및 SaaS(서비스 제공 소프트웨어) 데이터를 관리합니다. 이 거버넌스 서비스는 데이터 환경 맵을 유지 관리합니다. 기능에는 자동 데이터 검색, 중요한 데이터 분류, 데이터 계보가 포함되어 있습니다. 이 아키텍처에서 Purview는 Unity 카탈로그, 패브릭, Power BI 및 ADLS에서 수집된 데이터를 검색하고 추적하는 데 사용됩니다.
Azure DevOps는 DevOps 오케스트레이션 플랫폼입니다. 이 SaaS는 애플리케이션을 빌드, 배포 및 협업하기 위한 도구와 환경을 제공합니다. 이 아키텍처에서 Azure DevOps는 Azure 인프라 배포를 자동화하는 데 사용됩니다. 또한 Databricks 코드의 자동화 및 버전 제어를 위해 GitHub를 활용하여 협업, 변경 내용 추적 및 CI/CD 파이프라인과의 통합을 향상할 수 있습니다.
Azure Key Vault는 토큰, 암호, API 키와 같은 비밀을 저장하고 이러한 비밀에 대한 액세스를 제어합니다. 또한 Key Vault는 암호화 키를 만들고 제어하며 보안 인증서를 관리합니다. 이 보관에서는 AKV를 사용하여 ADLS에서 SAS 키를 저장합니다. 그런 다음, 이러한 키는 인증을 위해 Databricks 및 기타 서비스에서 사용됩니다.
Microsoft Entra ID 는 클라우드 기반 ID 및 액세스 관리 서비스를 제공합니다. 이러한 기능은 사용자가 로그인하고 리소스에 액세스할 수 있는 방법을 제공합니다. 이 보관에서 Entra ID는 Azure에서 사용자 및 서비스를 인증하고 권한을 부여하는 데 사용됩니다.
SCIM 사용하면 Microsoft Entra ID를 사용하여 Azure Databricks 계정에 대한 프로비저닝을 설정할 수 있습니다. 이 아키텍처에서는 Databricks 작업 영역에 액세스하는 사용자를 관리하는 데 사용됩니다.
Monitor는 환경과 Azure 리소스에 대한 데이터를 수집하고 분석합니다. 이 데이터에는 성능 메트릭, 활동 로그 등의 앱 원격 분석이 포함됩니다. 이 아키텍처에서 Azure Monitor는 Azure Monitor에 로그를 보내는 다른 구성 요소뿐만 아니라 Databricks 및 Azure Machine Learning의 컴퓨팅 리소스 상태를 모니터링하는 데 사용됩니다.
Microsoft Cost Management 는 클라우드 지출을 관리합니다. 이 서비스는 예산 및 권장 사항을 사용하여 비용을 구성하고 비용을 절감하는 방법을 보여 줍니다. 이 아키텍처에서 Microsoft Cost Management는 전체 솔루션의 비용을 모니터링하고 제어하는 데 사용됩니다.
시나리오 정보
최신 데이터 아키텍처는 다음 조건을 충족합니다.
- 데이터, 분석 및 AI 워크로드를 통합합니다.
- 모든 규모에서 효율적이고 안정적으로 실행합니다.
- 분석 대시보드, 운영 보고서 또는 고급 분석을 통해 인사이트를 제공합니다.
이 솔루션은 이러한 목표를 달성하는 최신 데이터 아키텍처를 간략하게 설명합니다. Azure Databricks는 솔루션의 핵심을 형성합니다. 이 플랫폼은 다른 서비스와 원활하게 작동합니다. 이러한 서비스는 다음과 같은 품질을 갖춘 솔루션을 제공합니다.
- 단순: 통합 분석, 데이터 과학 및 기계 학습은 데이터 아키텍처를 간소화합니다.
- 개방성: 이 솔루션은 오픈 소스 코드, 개방형 표준 및 개방형 프레임워크를 지원합니다. 또한 널리 사용되는 IDE(통합 개발 환경), 라이브러리, 프로그래밍 언어에서도 작동합니다. 네이티브 커넥터와 API를 통해 솔루션은 광범위한 다른 서비스에서도 작동합니다.
- 협업: 데이터 엔지니어, 데이터 과학자, 분석가가 이 솔루션을 사용하여 협업합니다. 협업 Notebook, IDE, 대시보드, 기타 도구를 사용하여 일반적인 기본 데이터에 액세스하고 분석할 수 있습니다.
잠재적인 사용 사례
Swiss Re Group이 재산 및 사고 재보험 부서를 위해 구축한 시스템은 이 솔루션에 영감을 줍니다. 보험 업계 외에도 빅 데이터 또는 기계 학습과 함께 작동하는 모든 영역도 이 솔루션의 이점을 제공합니다. 다음은 이러한 템플릿의 예입니다.
- 에너지 부문
- 소매 및 전자 상거래
- 은행 및 금융 업무
- 의학 및 의료
다음 단계
- 자습서: Databricks 엔드 투 엔드 데이터 파이프라인 빌드
- 자습서: 첫 번째 Delta Live 테이블 실행
관련 참고 자료
관련 솔루션에 대해 알아보려면 이 정보를 참조하세요.