모던 데이터 레이크 - AWS 규범적 지침

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

모던 데이터 레이크

최신 데이터 레이크의 고급 사용 사례

데이터 레이크는 비용, 확장성 및 유연성 측면에서 데이터를 저장하는 데 가장 적합한 옵션 중 하나를 제공합니다. 데이터 레이크를 사용하면 저렴한 비용으로 대량의 정형 및 비정형 데이터를 보존하고, 이 데이터를 비즈니스 인텔리전스 보고부터 빅데이터 처리, 실시간 분석, 기계 학습, 제너레이티브 인공 지능 (AI) 에 이르기까지 다양한 유형의 분석 워크로드에 사용하여 더 나은 의사 결정을 내릴 수 있습니다.

이러한 이점에도 불구하고 데이터 레이크는 처음에는 데이터베이스와 유사한 기능을 제공하도록 설계되지 않았습니다. 데이터 레이크는 원자성, 일관성, 격리성, 내구성 (ACID) 처리 시맨틱을 지원하지 않습니다. 이러한 시맨틱은 다양한 기술을 사용하여 수백 또는 수천 명의 사용자에 대해 대규모로 데이터를 효과적으로 최적화하고 관리하는 데 필요할 수 있습니다. 데이터 레이크는 다음 기능에 대한 기본 지원을 제공하지 않습니다.

  • 비즈니스의 데이터 변경에 따라 레코드 수준의 효율적인 업데이트 및 삭제 수행

  • 테이블이 수백만 개의 파일과 수십만 개의 파티션으로 확장될 때 쿼리 성능 관리

  • 여러 명의 동시 작성자와 독자 간의 데이터 일관성 보장

  • 작업 도중에 쓰기 작업이 실패할 경우의 데이터 손상 방지

  • 데이터 세트를 (부분적으로) 다시 작성하지 않고 시간이 지남에 따라 테이블 스키마를 발전시킵니다.

이러한 문제는 CDC (변경 데이터 캡처) 처리 등의 사용 사례나 개인 정보 보호, 데이터 삭제, 스트리밍 데이터 수집과 관련된 사용 사례에서 특히 많이 발생하며, 이로 인해 테이블이 최적화되지 않을 수 있습니다.

기존 Hive 형식 테이블을 사용하는 데이터 레이크는 전체 파일에 대한 쓰기 작업만 지원합니다. 따라서 업데이트 및 삭제를 구현하기 어렵고 시간과 비용이 많이 듭니다. 또한 데이터 무결성과 일관성을 보장하려면 ACID 준수 시스템에서 제공되는 동시성 제어 및 보장이 필요합니다.

이러한 문제를 극복하기 위해 Apache Iceberg는 데이터 레이크의 최적화 및 관리 오버헤드를 단순화하는 데이터베이스와 유사한 추가 기능을 제공하는 동시에 Amazon Simple Storage Service (Amazon S3) 와 같은 비용 효율적인 시스템의 스토리지를 계속 지원합니다.

아파치 아이스버그 소개

Apache Iceberg는 이전에는 데이터베이스 또는 데이터 웨어하우스에서만 사용할 수 있었던 기능을 데이터 레이크 테이블에 제공하는 오픈 소스 테이블 형식입니다. 확장성과 성능을 고려하여 설계되었으며 수백 기가바이트가 넘는 테이블을 관리하는 데 적합합니다. Iceberg 테이블의 주요 기능 중 일부는 다음과 같습니다.

  • 삭제, 업데이트, 병합Iceberg는 데이터 레이크 테이블과 함께 사용할 데이터 웨어하우징용 표준 SQL 명령을 지원합니다.

  • 빠른 스캔 계획 및 고급 필터링. Iceberg는 엔진에서 쿼리 계획 및 실행 속도를 높이는 데 사용할 수 있는 파티션 및 열 수준 통계와 같은 메타데이터를 저장합니다.

  • 전체 스키마 진화. Iceberg는 부작용 없이 열 추가, 삭제, 업데이트 또는 이름 변경을 지원합니다.

  • 파티션 진화. 데이터 볼륨 또는 쿼리 패턴 변경에 따라 테이블의 파티션 레이아웃을 업데이트할 수 있습니다. Iceberg는 테이블이 분할되는 열을 변경하거나 복합 파티션에 열을 추가하거나 복합 파티션에서 열을 제거하는 기능을 지원합니다.

  • 숨겨진 파티셔닝. 이 기능은 불필요한 파티션을 자동으로 읽는 것을 방지합니다. 따라서 사용자는 테이블의 파티션 세부 정보를 이해하거나 쿼리에 추가 필터를 추가할 필요가 없습니다.

  • 버전 롤백. 사용자는 트랜잭션 전 상태로 되돌아가 문제를 빠르게 수정할 수 있습니다.

  • 시간 여행. 사용자는 테이블의 이전 특정 버전을 쿼리할 수 있습니다.

  • 직렬화 가능한 격리. 테이블 변경은 원자적이므로 독자는 부분적 변경이나 커밋되지 않은 변경 내용을 확인할 수 없습니다.

  • 동시 작성자. Iceberg는 낙관적 동시성을 사용하여 여러 거래가 성공할 수 있도록 합니다. 충돌이 발생할 경우 작성자 중 한 명이 트랜잭션을 다시 시도해야 합니다.

  • 파일 형식을 엽니다. 아이스버그는 아파치 파켓, 아파치 아브로, 아파치 ORC 등 다양한 오픈 소스 파일 형식을 지원합니다.

요약하면 Iceberg 형식을 사용하는 데이터 레이크는 트랜잭션 일관성, 속도, 규모 및 스키마 발전의 이점을 누릴 수 있습니다. 이러한 기능 및 기타 Iceberg 기능에 대한 자세한 내용은 Apache Iceberg 설명서를 참조하십시오.

AWS 아파치 아이스버그 지원

아파치 아이스버그는 인기 있는 오픈 소스 데이터 처리 프레임워크와 Amazon EMR, AWS 서비스 아마존 아테나,아마존 Redshift 등에서 지원됩니다. AWS Glue 다음 다이어그램은 Iceberg를 기반으로 하는 데이터 레이크의 단순화된 참조 아키텍처를 보여줍니다.

트랜잭션 데이터 레이크 아키텍처

다음은 네이티브 AWS 서비스 Iceberg 통합을 제공합니다. 간접적으로 또는 Iceberg 라이브러리를 패키징하여 Iceberg와 상호 작용할 수 AWS 서비스 있는 추가 기능도 있습니다.

  • Amazon S3는 내구성, 가용성, 확장성, 보안, 규정 준수 및 감사 기능으로 인해 데이터 레이크를 구축하기에 가장 좋은 장소입니다. Iceberg는 Amazon S3와 원활하게 상호 작용하도록 설계 및 구축되었으며 Iceberg 설명서에 나열된 다양한 Amazon S3 기능을 지원합니다.

  • Amazon EMR은 Apache Spark, Flink, Trino, Hive 등의 오픈 소스 프레임워크를 사용하여 페타바이트 규모의 데이터 처리, 대화형 분석 및 기계 학습을 지원하는 빅 데이터 솔루션입니다. Amazon EMR은 사용자 지정된 아마존 Elastic Compute Cloud (Amazon EC2) 클러스터, 아마존 엘라스틱 쿠버네티스 서비스 (Amazon EKS) 또는 아마존 EMR 서버리스에서 실행할 수 있습니다. AWS Outposts

  • Amazon Athena는 오픈 소스 프레임워크를 기반으로 구축된 서버리스 대화형 분석 서비스입니다. 오픈 테이블 및 파일 형식을 지원하며, 데이터가 있는 곳에서 페타바이트 규모의 데이터를 분석할 수 있는 단순하고 유연한 방법을 제공합니다. Athena는 Iceberg에 대한 읽기, 시간 여행, 쓰기 및 DDL 쿼리를 기본적으로 지원하며 Iceberg AWS Glue Data Catalog 메타스토어에도 이를 사용합니다.

  • Amazon Redshift는 클러스터 기반 및 서버리스 배포 옵션을 모두 지원하는 페타바이트 규모의 클라우드 데이터 웨어하우스입니다. Amazon Redshift Spectrum은 Amazon S3에 등록되어 있고 Amazon S3에 저장된 외부 테이블을 쿼리할 수 있습니다. AWS Glue Data Catalog Redshift Spectrum은 또한 아이스버그 스토리지 형식을 지원합니다.

  • AWS Glue분석, 기계 학습 (ML) 및 애플리케이션 개발을 위해 여러 소스의 데이터를 더 쉽게 검색, 준비, 이동 및 통합할 수 있는 서버리스 데이터 통합 서비스입니다. AWS Glue 3.0 이상 버전은 데이터 레이크에 대한 Iceberg 프레임워크를 지원합니다. 를 AWS Glue 사용하여 Amazon S3의 Iceberg 테이블에서 읽기 및 쓰기 작업을 수행하거나 를 사용하여 Iceberg 테이블로 작업할 수 있습니다. AWS Glue Data Catalog삽입, 업데이트, Spark 쿼리, Spark 쓰기와 같은 추가 작업도 지원됩니다.

  • AWS Glue Data CatalogIceberg 테이블을 지원하는 Hive 메타스토어 호환 데이터 카탈로그 서비스를 제공합니다.

  • AWS Glue 크롤러에 Iceberg 테이블을 등록하기 위한 자동화를 제공합니다. AWS Glue Data Catalog

  • Amazon은 Iceberg 형식을 사용하여 Amazon SageMaker 기능 스토어에 기능 세트를 저장할 수 있도록 SageMaker 지원합니다.

  • AWS Lake FormationAthena 또는 Amazon Redshift에서 사용하는 Iceberg 테이블을 포함하여 데이터에 액세스할 수 있는 대략적이고 세분화된 액세스 제어 권한을 제공합니다. Iceberg 테이블의 권한 지원에 대해 자세히 알아보려면 Lake Formation 설명서를 참조하십시오.

AWS 에는 Iceberg를 지원하는 다양한 서비스가 있지만 이러한 서비스를 모두 다루는 것은 이 가이드의 범위를 벗어납니다. 다음 섹션에서는 Amazon EMR 및 Amazon Athena SQL의 Spark (배치 AWS Glue및 구조화된 스트리밍) 에 대해 다룹니다. 다음 섹션에서는 Athena SQL의 아이스버그 지원에 대한 간략한 설명을 제공합니다.