솔루션 아이디어
이 문서에서는 솔루션 아이디어를 설명합니다. 클라우드 설계자는 이 지침을 사용하여 이 아키텍처의 일반적인 구현을 위한 주요 구성 요소를 시각화할 수 있습니다. 이 문서를 시작점으로 사용하여 워크로드의 특정 요구 사항에 맞는 잘 설계된 솔루션을 디자인할 수 있습니다.
조직은 모든 형식, 크기, 속도의 데이터를 일관된 방식으로 클라우드에 수집해야 합니다. 이 문서의 솔루션은 데이터 원본에서 데이터 레이크로 ETL(추출, 변환 및 로드)을 구현하는 아키텍처로 요구 사항을 충족합니다. 데이터 레이크는 변환된 버전과 큐레이팅된 버전을 포함한 모든 데이터를 다양한 스케일로 저장할 수 있습니다. 데이터는 데이터 분석, BI(비즈니스 인텔리전스), 보고, 데이터 과학 및 기계 학습에 사용할 수 있습니다.
Apache® 및 Apache Spark™는 미국 및/또는 기타 국가에서 Apache Software Foundation의 등록 상표 또는 상표입니다. 이러한 표시의 사용은 Apache Software Foundation에 의한 보증을 암시하지 않습니다.
아키텍처
이 아키텍처의 Visio 파일을 다운로드합니다.
데이터 흐름
데이터는 다음과 같은 방법으로 수집됩니다.
- Event Hubs, IoT Hub 또는 Kafka와 같은 이벤트 큐는 최적화된 델타 엔진을 사용하여 데이터를 읽는 Azure Databricks에 스트리밍 데이터를 보냅니다.
- 예약되거나 트리거된 Data Factory 파이프라인은 다양한 데이터 원본의 데이터를 원시 형식으로 복사합니다. Azure Databricks의 자동 로더는 데이터가 도착하면 처리합니다.
Azure Databricks는 Data Lake Storage의 Bronze 계층에 있는 최적화되고 압축된 Delta Lake 테이블 또는 폴더에 데이터를 로드합니다.
스트리밍, 예약 또는 트리거된 Azure Databricks 작업은 Data Lake Storage Bronze 계층에서 새 트랜잭션을 읽습니다. 작업은 ACID 트랜잭션을 사용하여 Data Lake Storage Silver 및 Gold 계층의 큐레이팅된 데이터 세트에 로드하기 전에 데이터를 조인, 정리, 변환, 집계합니다.
데이터 세트는 Data Lake Storage의 Delta Lake에 저장됩니다.
각 서비스는 일관성을 보장하기 위해 일반적인 형식으로 데이터를 수집합니다. 아키텍처는 개방형 Delta Lake 형식에 따라 공유 데이터 레이크를 사용합니다. 원시 데이터는 서로 다른 일괄 처리 및 스트리밍 원본에서 수집되어 통합 데이터 플랫폼을 형성합니다. 이 플랫폼은 분석, BI 보고, 데이터 과학, AI, 기계 학습과 같은 다운스트림 사용 사례에서 사용할 수 있습니다.
Bronze, Silver, Gold 스토리지 계층
Bronze, Silver, Gold 스토리지 계층으로 구성된 medallion 패턴을 통해 고객은 유연하게 액세스하고 데이터 처리를 확장할 수 있습니다.
- Bronze 테이블은 원시 데이터가 Data Lake Storage에 배치될 때 진입점을 제공합니다. 데이터는 원시 원본 형식으로 가져와서 처리를 위해 개방형 트랜잭션 Delta Lake 형식으로 변환됩니다. 솔루션은 다음을 사용하여 데이터를 Bronze 계층으로 수집합니다.
- Azure Databricks의 Apache Spark API. API는 Event Hubs 또는 IoT Hub에서 스트리밍 이벤트를 읽은 다음 해당 이벤트 또는 원시 파일을 Delta Lake 형식으로 변환합니다.
- COPY INTO 명령. 명령을 사용하여 원본 파일 또는 디렉터리에서 Delta Lake로 직접 데이터를 복사합니다.
- Azure Databricks 자동 로더. 자동 로더는 파일이 데이터 레이크에 도착하면 파일을 가져와서 Delta Lake 형식으로 씁니다.
- Data Factory 복사 작업. 고객은 이 옵션을 사용하여 지원되는 형식의 데이터를 Delta Lake 형식으로 변환할 수 있습니다.
- Silver 테이블은 BI 및 데이터 과학 사용 사례에 최적화되는 동안 데이터를 저장합니다. Bronze 계층은 원시 데이터를 수집한 다음 더 많은 ETL 및 스트림 처리 작업을 수행하여 데이터를 Silver 큐레이팅 데이터 세트로 필터링, 정리, 변환, 조인, 집계합니다. 회사는 이러한 작업을 위한 초기 서비스로 Azure Databricks를 사용할 때 개방형 표준 Delta Engine과 같은 일관된 컴퓨팅 엔진을 사용할 수 있습니다. 그런 다음 SQL, Python, R 또는 Scala와 같은 친숙한 프로그래밍 언어를 사용할 수 있습니다. 회사는 또한 개별 워크로드에 맞게 크기가 조정된 반복 가능한 DevOps 프로세스와 임시 컴퓨팅 클러스터를 사용할 수 있습니다.
- Gold 테이블에는 분석과 보고에 사용할 수 있는 풍부한 데이터가 포함되어 있습니다. 분석가는 PySpark, Koalas, SQL, Power BI, Excel과 같은 선택한 방법을 사용하여 새로운 인사이트를 얻고 쿼리를 작성할 수 있습니다.
구성 요소
- Event Hubs는 온-프레미스 시스템을 포함한 다양한 소스의 스트리밍 메시지를 구문 분석하고 채점하고 실시간 정보를 제공합니다.
- Data Factory는 모든 규모의 데이터 수집, 준비, 변환을 위해 데이터 파이프라인을 오케스트레이션합니다.
- Data Lake Storage는 로그, 파일, 미디어와 같은 구조화, 비구조화, 반구조화 데이터를 포함하는 스트리밍 및 일괄 처리 데이터를 통합합니다.
- Azure Databricks는 구조가 없는 데이터 세트를 정리 및 변환하고 운영 데이터베이스 또는 데이터 웨어하우스의 구조화된 데이터와 결합합니다.
- IoT Hub는 IoT 애플리케이션과 디바이스 간에 매우 안전하고 안정적인 통신을 제공합니다.
- Data Lake Storage의 Delta Lake는 안정성을 위해 ACID 트랜잭션을 지원하고 효율적인 수집, 처리, 쿼리에 최적화되어 있습니다.
시나리오 정보
Azure Databricks를 사용한 수집, ETL, 스트림 처리는 간단하고 개방적이며 협업이 가능합니다.
- 간단함: 오픈 소스 형식의 큐레이팅된 계층이 있는 개방형 데이터 레이크는 데이터 아키텍처를 간소화합니다. 오픈 소스 도구인 Delta Lake를 사용하면 Azure Data Lake Storage 데이터 레이크에 액세스할 수 있습니다. Data Lake Storage의 Delta Lake는 안정성을 위해 ACID(원자성, 일관성, 격리 및 내구성) 트랜잭션을 지원합니다. Delta Lake는 효율적인 수집, 처리, 쿼리에 최적화되어 있습니다.
- 개방성: 솔루션은 오픈 소스 코드, 개방형 표준, 개방형 프레임워크를 지원합니다. 또한 널리 사용되는 IDE(통합 개발 환경), 라이브러리, 프로그래밍 언어에서도 작동합니다. 네이티브 커넥터와 API를 통해 솔루션은 광범위한 다른 서비스에서도 작동합니다.
- 협업: 데이터 엔지니어, 데이터 과학자, 분석가가 이 솔루션을 사용하여 협업합니다. 협업 Notebook, IDE, 대시보드, 기타 도구를 사용하여 일반적인 기본 데이터에 액세스하고 분석할 수 있습니다.
Azure Databricks는 Data Lake Storage, Azure Data Factory, Azure Event Hubs, Azure IoT Hub와 같은 다른 Azure 서비스와 원활하게 통합됩니다.
잠재적인 사용 사례
이 솔루션은 실시간 분석을 위해 Providence Health Care가 빌드한 시스템에서 영감을 받았습니다. 일괄 처리 또는 스트리밍 데이터를 수집하는 모든 업계에서도 이 솔루션을 고려할 수 있습니다. 다음은 이러한 템플릿의 예입니다.
- 소매 및 전자상거래
- Finance
- 의료 및 생명 과학
- 에너지 공급업체
다음 단계
- Spanish Point Technologies는 Azure Databricks와 Azure Data Factory를 사용하여 매칭 엔진을 빌드하고 음악가가 공정한 보수를 받을 수 있도록 대규모로 데이터를 수집합니다.
관련 참고 자료
가이드 및 완전히 배포 가능한 아키텍처: