Azure에서 일괄 처리 기술 선택

빅 데이터 솔루션은 종종 장기 실행 일괄 작업을 사용하여 데이터를 필터링 및 집계하고, 분석을 위해 준비합니다. 일반적으로 이러한 작업이 수행되는 동안 확장성 있는 스토리지(예: HDFS, Azure Data Lake Store 및 Azure Storage)에서 원본 파일을 읽고, 처리하고, 확장성 있는 스토리지의 새 파일에 출력을 씁니다.

대량의 데이터를 처리하기 위해 이러한 일괄 처리 엔진은 기본적으로 계산 능력을 스케일 아웃할 수 있어야 합니다. 그러나 실시간 처리와 달리, 일괄 처리는 분 단위에서 시간 단위로 측정되는 대기 시간(데이터 수집 시간과 결과 계산 사이의 간격)이 발생하게 됩니다.

일괄 처리에 사용할 기술 선택

Azure Synapse Analytics

Azure Synapse는 대용량 데이터에 대한 분석을 수행하도록 설계된 분산 시스템입니다. 고성능 분석을 실행하는 데 적합하도록 하는 MPP(대규모 병렬 처리)를 지원합니다. 대량의 데이터(1TB 이상)가 있고 병렬 처리의 이점을 얻을 분석 워크로드를 실행 중인 경우 Azure Synapse를 고려합니다.

Azure 데이터 레이크 분석

Data Lake Analytics는 주문형 분석 작업 서비스입니다. 이는 Azure Data Lake Store에 저장된 대량의 데이터 세트 분산 처리에 최적화되었습니다.

  • 언어: U-SQL(Python, R 및 C# 확장 포함).
  • Azure Data Lake Store, Azure Storage Blob, Azure SQL Database 및 Azure Synapse와 통합됩니다.
  • 가격 책정 모델은 작업에 따라 다릅니다.

HDInsight

HDInsight는 관리 Hadoop 서비스입니다. 이는 Hadoop 클러스터를 Azure에 배포하고 관리하는 데 사용됩니다. 일괄 처리에는 Spark, Hive, Hive LLAP, MapReduce를 사용할 수 있습니다.

  • 언어: R, Python, Java, Scala, SQL
  • Active Directory, Apache Ranger 기반 액세스 제어를 사용한 Kerberos 인증
  • Hadoop 클러스터 전체에 대한 컨트롤 제공

Azure Databricks

Azure Databricks는 Apache Spark 기반 분석 플랫폼입니다. "Spark as a Service"라고 생각하시면 됩니다. Azure 플랫폼에서 Spark를 사용하는 가장 쉬운 방법입니다.

  • 언어: R, Python, Java, Scala, Spark SQL
  • 빠른 클러스터 시작 시간, 자동 종료, 자동 크기 조정.
  • 사용자 대신 Spark 클러스터를 관리합니다.
  • Azure Blob Storage, ADLS(Azure Data Lake Storage), Azure Synapse 및 기타 서비스와의 기본 제공 통합. 데이터 원본을 참조하세요.
  • Microsoft Entra ID를 사용한 사용자 인증
  • 협업 및 데이터 탐색용 웹 기반 Notebook을 제공합니다.
  • GPU 사용 클러스터 지원

주요 선택 조건

선택 옵션의 범위를 좁히려면 먼저 다음 질문에 답변합니다.

  • 사용자 고유의 서버를 관리하지 않고 관리되는 서비스를 원하시나요?

  • 선언적 또는 명령적 방식 중에서 어떤 방식으로 일괄 처리 논리를 작성하려고 하나요?

  • 일괄 처리를 많이 수행할 예정인가요? 그렇다면 클러스터를 자동 종료할 수 있는 옵션 또는 가격 책정 모델이 일괄 작업 기준인 옵션을 고려해야 합니다.

  • 예를 들어 참조 데이터를 조회하기 위해 일괄 처리 방식으로 관계형 데이터 저장소를 쿼리해야 하나요? 그렇다면 외부 관계형 저장소의 쿼리를 허용하는 옵션을 고려합니다.

기능 매트릭스

다음 표에서는 주요 기능 차이점을 요약해서 보여 줍니다.

일반 기능

기능 Azure 데이터 레이크 분석 Azure Synapse HDInsight Azure Databricks
관리되는 서비스인지 여부 Yes 1
관계형 데이터 저장소 없음
가격 책정 모델 일괄 처리 작업 기준 클러스터 시간 기준 클러스터 시간 기준 Databricks 단위2 + 클러스터 시간

[1] 수동 구성 포함.

[2] DBU(Databricks 단위)는 시간당 처리 능력의 단위입니다.

기능

기능 Azure 데이터 레이크 분석 Azure Synapse HDInsight(Spark 포함) HDInsight(Spark 포함) HDInsight(Hive LLAP 포함) Azure Databricks
자동 확장 없음
스케일 아웃 단위 작업 기준 클러스터 기준 클러스터 기준 클러스터 기준 클러스터 기준 클러스터 기준
데이터의 메모리 내 캐싱 없음
외부 관계형 저장소에서 쿼리 없음 없음 없음
인증 Microsoft Entra ID SQL/Microsoft Entra ID 아니요 Microsoft Entra ID1 Microsoft Entra ID1 Microsoft Entra ID
감사 아니요 1 1
행 수준 보안 2 아니요 1 1
방화벽 지원 여부 Yes 3 3
동적 데이터 마스킹 아니요 1 1

[1] 도메인 가입 HDInsight 클러스터를 사용해야 합니다.

[2] 조건자만 필터링합니다. 행 수준 보안을 참조하세요.

[3] Azure Virtual Network 내에서 사용할 때 지원됩니다.

참가자

Microsoft에서 이 문서를 유지 관리합니다. 원래 다음 기여자가 작성했습니다.

보안 주체 작성자:

다음 단계