기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
최신 데이터 레이크
최신 데이터 레이크의 고급 사용 사례
데이터 스토리지의 진화는 데이터베이스에서 각 기술이 고유한 비즈니스 및 데이터 요구 사항을 해결하는 데이터 웨어하우스 및 데이터 레이크로 진행되었습니다. 기존 데이터베이스는 구조화된 데이터 및 트랜잭션 워크로드를 처리하는 데 능숙했지만 데이터 볼륨이 증가함에 따라 성능 문제가 발생했습니다. 데이터 웨어하우스는 성능 및 확장성 문제를 해결하기 위해 등장했지만 데이터베이스와 마찬가지로 수직 통합 시스템 내의 독점 형식에 의존했습니다.
데이터 레이크는 비용, 확장성 및 유연성 측면에서 데이터를 저장하는 가장 좋은 옵션 중 하나를 제공합니다. 데이터 레이크를 사용하면 저렴한 비용으로 대량의 정형 및 비정형 데이터를 유지할 수 있으며, 비즈니스 인텔리전스 보고부터 빅 데이터 처리, 실시간 분석, 기계 학습 및 생성형 인공 지능(AI)에 이르기까지 다양한 유형의 분석 워크로드에이 데이터를 사용하여 더 나은 결정을 내릴 수 있습니다.
이러한 이점에도 불구하고 데이터 레이크는 처음에는 데이터베이스와 유사한 기능으로 설계되지 않았습니다. 데이터 레이크는 원자성, 일관성, 격리 및 내구성(ACID) 처리 시맨틱을 지원하지 않습니다.이 시맨틱은 다양한 기술을 사용하여 수백 또는 수천 명의 사용자에 걸쳐 데이터를 대규모로 효과적으로 최적화하고 관리하는 데 필요할 수 있습니다. 데이터 레이크는 다음 기능에 대한 기본 지원을 제공하지 않습니다.
-
비즈니스의 데이터 변경에 따라 효율적인 레코드 수준 업데이트 및 삭제 수행
-
테이블이 수백만 개의 파일과 수십만 개의 파티션으로 증가함에 따라 쿼리 성능 관리
-
여러 동시 라이터 및 리더에서 데이터 일관성 보장
-
작업 도중 쓰기 작업이 실패할 때 데이터 손상 방지
-
데이터 세트를 (부분적으로) 다시 작성하지 않고 시간 경과에 따른 테이블 스키마 개선
이러한 문제는 변경 데이터 캡처(CDC) 처리 또는 개인 정보 보호와 관련된 사용 사례, 데이터 삭제, 스트리밍 데이터 수집과 같은 사용 사례에서 특히 보편화되어 최적이 아닌 테이블이 될 수 있습니다.
기존 Hive 형식 테이블을 사용하는 데이터 레이크는 전체 파일에 대해서만 쓰기 작업을 지원합니다. 따라서 업데이트 및 삭제를 구현하기 어렵고 시간이 많이 걸리며 비용이 많이 듭니다. 또한 데이터 무결성과 일관성을 보장하려면 ACID 준수 시스템에서 제공되는 동시성 제어 및 보장이 필요합니다.
이러한 과제로 인해 사용자는 완전히 통합되었지만 독점적인 플랫폼 중에서 선택하거나 잠재적 가치를 실현하기 위해 지속적인 유지 관리 및 마이그레이션이 필요한 공급업체 중립적이지만 리소스 집약적인 자체 구축 데이터 레이크를 선택할 수 있습니다.
이러한 문제를 해결하는 데 도움이 되도록 Iceberg는 Amazon S3
Apache Iceberg 소개
Apache Iceberg는 데이터베이스 또는 데이터 웨어하우스에서만 사용할 수 있었던 데이터 레이크 테이블의 기능을 제공하는 오픈 소스 테이블 형식입니다. 확장 및 성능을 위해 설계되었으며 수백 기가바이트가 넘는 테이블을 관리하는 데 적합합니다. Iceberg 테이블의 몇 가지 주요 기능은 다음과 같습니다.
-
삭제, 업데이트 및 병합. Iceberg는 데이터 레이크 테이블에 사용할 데이터 웨어하우징을 위한 표준 SQL 명령을 지원합니다.
-
빠른 스캔 계획 및 고급 필터링. Iceberg는 엔진에서 쿼리 계획 및 실행 속도를 높이는 데 사용할 수 있는 파티션 및 열 수준 통계와 같은 메타데이터를 저장합니다.
-
전체 스키마 진화. Iceberg는 부작용 없이 열 추가, 삭제, 업데이트 또는 이름 변경을 지원합니다.
-
파티션 진화. 데이터 볼륨 또는 쿼리 패턴이 변경되면 테이블의 파티션 레이아웃을 업데이트할 수 있습니다. Iceberg는 테이블이 분할된 열을 변경하거나, 복합 파티션에 열을 추가하거나, 복합 파티션에서 열을 제거할 수 있도록 지원합니다.
-
숨겨진 파티셔닝. 이 기능은 불필요한 파티션을 자동으로 읽는 것을 방지합니다. 따라서 사용자가 테이블의 파티셔닝 세부 정보를 이해하거나 쿼리에 추가 필터를 추가할 필요가 없습니다.
-
버전 롤백. 사용자는 트랜잭션 전 상태로 되돌려 문제를 신속하게 해결할 수 있습니다.
-
시간 이동. 사용자는 테이블의 특정 이전 버전을 쿼리할 수 있습니다.
-
직렬화 가능한 격리. 테이블 변경은 원자성이므로 독자는 부분 또는 커밋되지 않은 변경 사항을 볼 수 없습니다.
-
동시 라이터. Iceberg는 낙관적 동시성을 사용하여 여러 트랜잭션이 성공할 수 있도록 합니다. 충돌이 발생할 경우 작성자 중 한 명이 트랜잭션을 다시 시도해야 합니다.
-
파일 형식을 엽니다. Iceberg는 Apache Parquet
, Apache Avro 및 Apache ORC 를 비롯한 여러 오픈 소스 파일 형식을 지원합니다.
요약하면 Iceberg 형식을 사용하는 데이터 레이크는 트랜잭션 일관성, 속도, 규모 및 스키마 진화의 이점을 누릴 수 있습니다. 이러한 기능 및 기타 Iceberg 기능에 대한 자세한 내용은 Apache Iceberg 설명서를
AWS Apache Iceberg에 대한 지원
Apache Iceberg는 Amazon EMR
다음은 네이티브 Iceberg 통합을 AWS 서비스 제공합니다. 간접적으로 또는 Iceberg 라이브러리를 패키징하여 Iceberg와 상호 작용할 수 AWS 서비스 있는 추가 기능이 있습니다.
-
Amazon S3는 내구성, 가용성, 확장성, 보안, 규정 준수 및 감사 기능으로 인해 데이터 레이크를 빌드하기에 가장 적합합니다. Iceberg는 Amazon S3와 원활하게 상호 작용하도록 설계 및 구축되었으며 Iceberg 설명서에
나열된 많은 Amazon S3 기능을 지원합니다. 또한 Amazon S3 Tables는 Iceberg 지원이 내장된 첫 번째 클라우드 객체 스토어를 제공하고 대규모 테이블 형식 데이터 저장을 간소화합니다. Iceberg에 대한 S3 Tables 지원을 사용하면 인기 AWS 있는 타사 쿼리 엔진을 사용하여 테이블 형식 데이터를 쉽게 쿼리할 수 있습니다. -
차세대 SageMaker
는 Amazon S3 데이터 레이크, Amazon Redshift 데이터 웨어하우스, 타사 및 페더레이션 데이터 소스 전반의 데이터 액세스를 통합하는 오픈 레이크하우스 아키텍처를 기반으로 구축되었습니다. 이러한 기능을 사용하면 단일 데이터 사본에서 강력한 분석 및 AI/ML 애플리케이션을 구축할 수 있습니다. 레이크하우스는 Iceberg와 완벽하게 호환되므로 Iceberg REST API를 사용하여 현재 위치에 있는 데이터에 액세스하고 쿼리할 수 있는 유연성이 있습니다. -
Amazon EMR은 Apache Spark, Flink, Trino 및 Hive와 같은 오픈 소스 프레임워크를 사용하여 페타바이트 규모의 데이터 처리, 대화형 분석 및 기계 학습을 위한 빅 데이터 솔루션입니다. Amazon EMR은 사용자 지정 Amazon Elastic Compute Cloud(Amazon EC2) 클러스터, Amazon Elastic Kubernetes Service(Amazon EKS), AWS Outposts또는 Amazon EMR Serverless에서 실행할 수 있습니다.
-
Amazon Athena는 오픈 소스 프레임워크를 기반으로 구축된 서버리스 대화형 분석 서비스입니다. 오픈 테이블 및 파일 형식을 지원하며 페타바이트 단위의 데이터를 분석하는 간단하고 유연한 방법을 제공합니다. Athena는 Iceberg에 대한 읽기, 시간 이동, 쓰기 및 DDL 쿼리를 기본적으로 지원하고 Iceberg 메타스토어 AWS Glue Data Catalog 에를 사용합니다.
-
Amazon Redshift는 클러스터 기반 및 서버리스 배포 옵션을 모두 지원하는 페타바이트 규모의 클라우드 데이터 웨어하우스입니다. Amazon Redshift Spectrum은에 등록 AWS Glue Data Catalog 되고 Amazon S3에 저장된 외부 테이블을 쿼리할 수 있습니다. Redshift Spectrum은 Iceberg 스토리지 형식도 지원합니다.
-
AWS Glue는 분석, 기계 학습(ML) 및 애플리케이션 개발을 위해 여러 소스에서 데이터를 더 쉽게 검색, 준비, 이동 및 통합할 수 있는 서버리스 데이터 통합 서비스입니다. Iceberg와 완전히 통합됩니다. 특히 AWS Glue 작업을 사용하여 Iceberg 테이블에서 읽기 및 쓰기 작업을 수행하고, AWS Glue Data Catalog (Hive 메타스토어 호환)를 통해 테이블을 관리하고, AWS Glue 크롤러를 사용하여 테이블을 자동으로 검색 및 등록하고, Data Quality 기능을 통해 Iceberg 테이블의 AWS Glue 데이터 품질을 평가할 수 있습니다. AWS Glue Data Catalog 또한는 열 통계 수집, Iceberg 테이블의 각 열에 대한 고유 값(NDVs) 수 계산 및 업데이트, 자동 테이블 최적화(압축, 스냅샷 보존, 분리된 파일 삭제)를 지원합니다.는 AWS 서비스 및 타사 애플리케이션 목록에서 Iceberg 테이블로의 제로 ETL 통합 AWS Glue 도 지원합니다.
-
Amazon Data Firehose는 Amazon S3, Amazon Redshift, Amazon OpenSearch Service, Amazon OpenSearch Serverless, Splunk, Apache Iceberg 테이블과 같은 대상과 Datadog, Dynatrace, LogicMonitor, MongoDB, New Relic, Coralogix, Elastic 등 지원되는 타사 서비스 공급자가 소유한 모든 사용자 지정 HTTP 또는 HTTP 엔드포인트에 실시간 스트리밍 데이터를 제공하기 위한 완전 관리형 서비스입니다. Firehose를 사용하면 애플리케이션을 작성하거나 리소스를 관리할 필요가 없습니다. 데이터 생산자가 데이터를 Firehose로 보내도록 구성하면 지정한 대상으로 데이터를 자동 전송합니다. 전송 전에 데이터를 변환하도록 Firehose를 구성할 수도 있습니다.
-
Amazon Managed Service for Apache Flink는 Apache Flink 애플리케이션을 사용하여 스트리밍 데이터를 처리할 수 있는 완전 관리형 Amazon 서비스입니다. Iceberg 테이블에서 읽고 쓸 수 있으며 실시간 데이터 처리 및 분석을 지원합니다.
-
Amazon SageMaker AI는 Iceberg 형식을 사용하여 Amazon SageMaker AI 특성 저장소에 특성 세트를 저장할 수 있도록 지원합니다.
-
AWS Lake Formation는 Athena 또는 Amazon Redshift에서 사용하는 Iceberg 테이블을 포함하여 데이터에 액세스할 수 있는 거칠고 세분화된 액세스 제어 권한을 제공합니다. Iceberg 테이블의 권한 지원에 대한 자세한 내용은 Lake Formation 설명서를 참조하세요.
AWS 에는 Iceberg를 지원하는 다양한 서비스가 있지만 이러한 모든 서비스를 다루는 것은이 가이드의 범위를 벗어납니다. 다음 섹션에서는 Amazon EMR 및 Athena SQL의 Spark(배치 및 구조화된 스트리밍) AWS Glue에 대해 설명합니다. 다음 섹션에서는 Athena SQL의 Iceberg 지원을 간략하게 살펴봅니다.