Share via


데이터 표준화

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

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

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

참고 항목

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

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

Delta Lake

Delta Lake는 오픈 소스 스토리지 계층으로, ACID(원자성, 일관성, 격리, 영속성) 트랜잭션을 Apache Spark 및 빅 데이터 워크로드에 제공합니다. Azure Synapse Analytics와 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 Time Travel 소개에 대해 자세히 알아보세요.
형식 열기 Apache Parquet은 Delta Lake의 기준 형식으로, 해당 형식에 기본적인 효율적 압축 및 인코딩 구성표를 적용할 수 있도록 합니다.
일괄 처리와 스트리밍 원본 및 싱크 통합형 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 릴리스 발표Delta Lake 테이블에서 Python API를 통한 간단하고 믿을 수 있는 Upserts 및 삭제(DML 명령 병합, 업데이트, 삭제 관련 코드 조각 포함)를 참조하세요.
Apache Spark API와 100% 호환 개발자는 기존 Spark 구현과 완벽하게 호환되므로 기존 데이터 파이프라인에 대한 최소한의 변경으로 Delta Lake를 사용할 수 있습니다.

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

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

성능

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

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

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

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

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

데이터 레이크 분할

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

데이터 레이크를 분할할 때 다음 설정을 확인합니다.

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

일반 사례

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

  • 보안 관련 사항에 일찍 중점을 두고 권한 부여와 함께 데이터 파티션을 디자인합니다.
  • 보안에 대한 대가로 데이터 중복을 허용할 수 있습니다. 명명 규칙을 정의하고 이를 준수합니다.
  • 여러 폴더를 중첩할 수 있지만 항상 일관성을 유지합니다.
  • 폴더 구조 및 파일 이름에 시간 요소를 포함합니다.
  • 폴더 구조를 날짜 파티션으로 시작하지 않습니다. 날짜는 하위 폴더 수준에서 유지하는 것이 좋습니다.
  • 단일 폴더 구조에서 혼합 파일 형식이나 다른 데이터 제품을 결합하지 않습니다.

폴더 구조에는 액세스 패턴과 적절한 파일 크기를 최적화할 수 있는 분할 전략이 있어야 합니다. 큐레이팅된 영역에서 최적의 검색을 기반으로 구조를 계획하고 카디널리티가 높은 파티션 키를 선택하지 않도록 주의합니다. 이로 인해 분할이 과도해지면 최적이 아닌 파일 크기가 될 수 있습니다.

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

규정 준수 지원

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

요약

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

다음 단계