다음을 통해 공유


데이터 표준화

데이터는 다양한 형식의 데이터 레이크 계정에 도착합니다. 이러한 형식에는 JSON과 같은 사람이 읽을 수 있는 형식이 포함됩니다. CSV 또는 XML 파일 및 압축된 이진 형식(예: .tar 또는 .gz). 또한 데이터 도착은 편집된 몇 개의 파일에서 전체 SQL 테이블 내보내기까지 다양한 크기로 제공됩니다. 또한 데이터는 IoT 솔루션의 실시간 이벤트와 같이 몇 kbs에 해당하는 많은 수의 작은 파일로 올 수도 있습니다.

Azure Data Lake Storage Gen2는 제한 없이 모든 종류의 데이터에 대한 스토리지를 지원하지만, 처리 파이프라인 효율성을 보장하고 비용을 최적화하기 위해 데이터 형식을 신중하게 고려해야 합니다.

이제 많은 조직에서 수집 형식을 표준화하고 컴퓨팅을 스토리지와 분리합니다. 이로 인해 Delta Lake 형식은 보강 계층을 통한 데이터 수집을 위한 기본 표준이 되었습니다. 보강 계층에서 데이터 애플리케이션 팀은 사용 사례를 반영하는 형식으로 데이터를 제공할 수 있습니다.

비고

Delta Lake를 사용하여 보강 계층을 통한 초기 데이터 수집에 대한 일괄 처리 및 스트리밍 사용 사례를 모두 지원합니다.

이 문서에서는 Delta Lake의 성능 및 규정 준수 지원을 달성하는 데 도움이 되는 방법 및 원본에서 보강 계층으로 이동하는 데이터를 표준화하는 방법에 대한 개요를 제공합니다.

Delta Lake

Delta Lake는 빅 데이터 워크로드 및 Apache Spark에 ACID(원자성, 일관성, 격리 및 내구성) 트랜잭션을 제공하는 오픈 소스 스토리지 계층입니다. Azure Databricks는 Linux Foundation Delta Lake와 호환됩니다.

Delta Lake 주요 기능

특징 설명
ACID 트랜잭션 데이터 레이크는 일반적으로 여러 프로세스 및 파이프라인을 통해 채워지며, 그 중 일부는 읽기와 동시에 데이터를 씁니다. 데이터 엔지니어는 Delta Lake 및 트랜잭션이 사용되기 전에 데이터 무결성을 보장하기 위해 오류가 발생하기 쉬운 수동 프로세스를 진행하는 데 사용되었습니다. Delta Lake는 데이터 레이크에 익숙한 ACID 트랜잭션을 가져옵니다. 가장 강력한 격리 수준, 직렬화 가능성을 제공합니다. 자세한 내용은 Delta Lake로의 다이빙: 트랜잭션 로그 압축 풀기를 참조하세요.
스케일링 가능한 메타데이터 처리 빅 데이터에서 메타데이터조차도 "빅 데이터"일 수 있습니다. Delta Lake는 메타데이터를 다른 데이터와 동일하게 처리합니다. Spark의 분산 처리 능력을 사용하여 모든 메타데이터를 처리합니다. 이 때문에 Delta Lake는 수십억 개의 파티션과 파일을 사용하여 페타바이트 규모의 테이블을 쉽게 처리할 수 있습니다.
시간 이동(데이터 버전 관리) 변경 내용을 "실행 취소"하거나 이전 버전으로 돌아가는 기능은 트랜잭션의 주요 기능입니다. Delta Lake는 데이터 스냅샷을 제공하여 감사나 롤백 또는 실험 재현을 위해 데이터를 이전 버전으로 되돌릴 수 있도록 합니다. 대규모 데이터 레이크와 관련된 Delta Lake 시간 이동 소개에서 자세히 알아보세요.
형식 열기 Delta Lake의 기준 형식인 Apache Parquet을 사용하면 효율적인 압축 및 인코딩 구성표를 적용할 수 있습니다.
일괄 처리와 스트리밍 원본 및 싱크 통합형 Delta Lake의 테이블은 동시에 배치 테이블로 사용되며 스트리밍 소스로도 사용되고 싱크로도 사용됩니다. 데이터 수집 스트리밍, 일괄 처리 기록 백필 및 대화형 쿼리는 모두 기본적으로 작동합니다.
스키마 적용 스키마 적용을 사용하면 올바른 데이터 형식과 필요한 열이 있는지 확인하여 잘못된 데이터의 데이터 불일치를 방지할 수 있습니다. Delta Lake 파고들기: 스키마 적용 및 진화에서 자세히 알아보세요.
스키마 진화 Delta Lake를 사용하면 마이그레이션 DDL을 작성할 필요 없이 테이블 스키마를 자동으로 적용할 수 있습니다. Delta Lake 파고들기: 스키마 적용 및 진화에서 자세히 알아보세요.
감사 기록 Delta Lake 트랜잭션 로그는 데이터에 대한 모든 변경 내용에 대한 세부 정보를 기록합니다. 이러한 레코드는 모든 변경 내용에 대한 전체 감사 내역을 제공합니다.
업데이트 및 삭제 Delta Lake는 다양한 기능을 위해 Scala, Java, Python 및 SQL API를 지원합니다. 병합, 업데이트 및 삭제 작업 지원은 규정 준수 요구 사항을 충족하는 데 도움이 됩니다. 자세한 내용은 Delta Lake 0.6.1 릴리스 발표, Delta Lake 0.7 릴리스 발표, Python API를 사용한 Delta Lake 테이블에서의 단순하고 신뢰할 수 있는 업서트 및 삭제 (병합, 업데이트, 삭제 DML 명령에 대한 코드 조각 포함)를 참조하세요.
Apache Spark API와 호환되는 100% 개발자는 기존 Spark 구현과 완전히 호환되므로 기존 데이터 파이프라인을 최소한의 변경으로 Delta Lake를 사용할 수 있습니다.

자세한 내용은 Delta Lake 프로젝트를 참조하세요.

전체 설명서는 Delta Lake 설명서 페이지를 참조하세요.

성능

작은 파일을 많이 사용하면 읽기/목록 작업 증가로 인해 성능이 최적이 아니면 비용이 높아지는 경우가 많습니다. Azure Data Lake Storage Gen2는 분석 작업을 더 빠르고 저렴한 비용으로 실행할 수 있는 더 큰 파일에 최적화되어 있습니다.

Delta Lake에는 파일 관리를 사용하여 성능을 최적화하는 데 도움이 되는 많은 기능이 포함되어 있습니다.

예를 들면 다음과 같습니다.

  • 트랜잭션 로그는 비용이 많이 드는 LIST 작업을 최소화합니다.
  • Z 순서 지정(다차원 클러스터링)을 사용하면 쿼리 필터에 최적화된 조건자 푸시다운을 사용할 수 있습니다.
  • 네이티브 캐싱 및 쿼리 최적화는 필요한 스토리지 검색의 양을 줄입니다. 자세한 내용은 캐싱을 사용하여 성능 최적화를 참조하세요.
  • OPTIMIZE는 작은 파일을 더 큰 파일로 병합합니다.

데이터 새로 고침 및 성능을 유지하려면 이러한 최적화를 데이터 로드 프로세스의 일부로 만듭니다.

데이터 레이크 파티셔닝

데이터 분할에는 대규모 데이터를 관리하고 데이터 액세스를 제어할 수 있도록 데이터 저장소에서 데이터를 구성하는 작업이 포함됩니다. 분할을 통해 확장성을 향상시키고 경합을 줄여 성능을 최적화할 수 있습니다.

Data Lake를 분할할 때 다음 설정을 확인합니다.

  • 보안을 손상시키지 않음
  • 명확한 격리를 가지며 데이터 권한 부여 모델과 일치
  • 데이터 수집 프로세스에 완벽하게 적합합니다.
  • 최적의 데이터 액세스를 위한 잘 정의된 경로가 있습니다.
  • 관리 및 유지 관리 작업 지원

일반 사례

데이터 분할 디자인에 대한 일반적인 사례는 다음과 같습니다.

  • 초기에 보안에 미치는 영향에 집중하고 권한 부여와 함께 데이터 파티션을 디자인합니다.
  • 보안을 위해 데이터 중복을 허용할 수 있습니다.- 명명 규칙을 정의하고 이를 준수합니다.
  • 여러 폴더를 중첩할 수 있지만 항상 일관성을 유지할 수 있습니다.
  • 폴더 구조 및 파일 이름에 시간 요소를 포함합니다.
  • 날짜 파티션을 사용하여 폴더 구조를 시작하지 마세요. 낮은 폴더 수준에서 날짜를 유지하는 것이 좋습니다.
  • 혼합 파일 형식 또는 다른 데이터 제품을 단일 폴더 구조로 결합하지 마세요.

팁 (조언)

폴더 구조에는 액세스 패턴과 적절한 파일 크기를 최적화할 수 있는 분할 전략이 있어야 합니다. 큐레이팅된 영역에서는 최적의 검색을 고려하여 구조를 계획하되, 카디널리티가 높은 파티션 키 선택에는 주의해야 합니다. 이는 과도한 분할을 초래하며, 결국 비최적의 파일 크기를 만들 수 있습니다.

데이터 레이크 영역에 대한 자세한 내용은 Data Lake 영역 및 컨테이너를 참조하세요.

규정 준수 지원

Delta Lake는 트랜잭션 계층을 추가하여 데이터 레이크 위에 구조적 데이터 관리를 제공합니다. 이 추가는 소비자 요청 시 개인 정보("개인 데이터"라고도 함)를 찾고 제거하는 기능을 크게 간소화하고 가속화할 수 있습니다. 트랜잭션 계층은 DELETE, UPDATE 및 MERGE와 같은 작업을 지원합니다. 자세한 내용은 모범 사례: Delta Lake를 사용한 GDPR 규정 준수를 참조하세요.

요약

이 문서에 나열된 데이터 표준화를 플랫폼에 적용합니다. Delta Lake 형식으로 시작한 다음 최적화 및 규정 준수를 위한 프로세스 추가를 시작합니다. 일정에 따라 일부 최적화 경로를 실행하는 서비스를 만들거나 개인 정보를 제거하는 규정 준수 서비스를 만들 수 있습니다.

다음 단계