사용자가 중요한 데이터에 접근하는 수가 상당히 많은 대규모 조직은 세분화된 접근 관리를 하는 데 많은 도전에 직면해야 합니다.
AWS의 다양한 서비스인 IAM, Lake Formation, S3 ACL 등이 세분화된 접근 제어에 도움을 줄 수 있습니다. 하지만 글로벌 데이터를 포함하는 단일 엔티티에 여러 사용자 그룹이 제한된 접근으로 접근해야 하는 시나리오도 존재합니다. 또한, 글로벌 존재감을 가진 조직은 다양한 환경과 도구 세트를 사용하고 있을 수 있어 데이터 이동과 카탈로그화가 매우 번거로워집니다.
예를 들어, 사용자가 분석 목적으로 테이블에서 판매 데이터를 접근하고자 하지만, 호주 지역의 판매 데이터만 접근할 수 있도록 제한되어야 합니다. 다른 데이터는 그의 시야에 나타나지 않아야 합니다. 또한, 그는 여러 DML 작업을 위해 다른 클라우드 플랫폼에서 데이터를 접근하고 싶어 하므로, 데이터를 가져와서 처리하기 위해 도구의 기본 형식으로 변환해야 하며, 이로 인해 지연이 발생합니다.
이런 시나리오에서는 속성 수준의 데이터 제어와 환경 간 데이터 지원이 필요하며, 도구 세트의 기본 형식과 더 빠른 접근을 위해서입니다.
우리는 이러한 도전 과제를 해결하고 Apache Iceberg 테이블에 대한 데이터 거버넌스를 위해 Lake Formation을 활용한 클라우드 전환 솔루션을 제공하기 위해 한 걸음 앞서 나갔습니다. 이 솔루션은 AWS S3 자체에서 쿼리 및 카탈로그 할 수 있으며, 플랫폼과 클라우드를 넘어 접근할 수 있습니다.
Lake Formation의 데이터 필터 옵션을 사용하면 열 수준 보안, 행 수준 보안 및 셀 수준 보안을 보장할 수 있습니다.
아이스버그 테이블 형식이란?
아이스버그 는 다음과 같은 이점을 가진 오픈 소스 테이블 형식입니다:
- 아이스버그는 유연한 SQL 명령을 완벽하게 지원하여 데이터를 업데이트, 병합 및 삭제할 수 있습니다. 아이스버그는 읽기 성능을 향상시키기 위해 데이터 파일을 재작성하고, 삭제 델타를 사용하여 업데이트 속도를 높일 수 있습니다.
- 아이스버그는 전체 스키마 진화를 지원합니다. 아이스버그 테이블의 스키마 업데이트는 메타데이터만 변경되며, 데이터 파일 자체에는 영향을 미치지 않습니다. 스키마 진화 변경 사항에는 추가, 삭제, 이름 변경, 재정렬 및 유형 승격이 포함됩니다.
- 데이터 레이크 또는 데이터 메쉬 아키텍처에 저장된 데이터는 조직 내 여러 독립 애플리케이션에서 동시에 사용할 수 있습니다.
- 아이스버그는 거대한 분석 데이터 세트와 함께 사용하도록 설계되었습니다. 필요하지 않은 메타데이터 파일을 제거하고 일치하는 데이터를 포함하지 않는 데이터 파일을 필터링할 수 있는 기능을 포함하여 쿼리 속도와 효율성을 높이기 위한 다양한 기능을 제공합니다.
솔루션 개요
제안된 솔루션은 사용자에게 액세스 권한을 부여할 수 있는 데이터 필터를 생성하기 위해 Lake Formation 서비스를 사용하는 것입니다. 솔루션의 핵심은 Iceberg 테이블 형식을 사용하여 이를 카탈로그화하고 액세스를 관리하기 위한 필터 조건을 추가하는 것입니다.
데이터 흐름
- DMS 또는 Glue를 사용하여 소스 시스템 저장소에서 데이터를 가져와 지정된 S3 버킷에 저장합니다.
- 이벤트 기반 아키텍처는 S3가 각각의 Lambda 함수를 호출하여 ETL 프로세스를 시작하도록 이벤트를 트리거합니다.
- 데이터는 Iceberg 테이블 형식으로 저장되고 카탈로그화됩니다.
- 데이터는 Glue를 사용하여 처리 및 변환되며, GenAI의 기성 모델을 활용합니다.
- 처리된 데이터는 소비를 위해 Redshift에 저장됩니다.
- 카탈로그화된 Iceberg 테이블에는 태그 열이 추가됩니다 (태그 값은 사용자 그룹에 매핑됨).
아래 이미지는 샘플 데이터 필터와 그 모양을 설명합니다. 데이터 필터를 사용하여 열의 수를 제한할 수도 있습니다.
필터가 생성되면, 사용자, 역할, 그룹, 계정에 대한 권한을 부여하기 위해 권한 부여 옵션을 사용할 수 있습니다. 사용자는 Athena를 사용하여 데이터를 쿼리할 수 있습니다.
우리 솔루션의 다양한 기능은 다음과 같습니다:
- 데이터에 대한 세밀한 접근 제어를 효과적으로 관리하는 능력.
- 여러 사용자 그룹을 위한 데이터 필터의 재사용 가능성.
- 열 수준 보안, 행 수준 보안 및 셀 수준 보안을 달성할 수 있습니다.
- 데이터 및 그 접근에 대한 원활한 제어를 위한 Apache Iceberg 테이블 형식 기능의 효과적인 사용.
- 데이터 준비의 효율성과 효과성.
- 호수 형성을 사용한 중앙 집중식 접근 관리 및 거버넌스.
- 완전히 통합된 솔루션에서의 수동 개입 감소.
- 클라우드 독립적인 솔루션과 서버리스 구성 요소를 사용한 엔드 투 엔드 데이터 전달로 확장성과 비용 효율성 제공.
혜택
- 운영 효율성. 서버리스 구성 요소의 사용은 이를 관리하는 데 필요한 운영 및 유지보수 비용을 줄입니다.
- 노력 최적화. GenAI 모델을 사용하여 표준화되고 효율적인 ETL 스크립트를 생성함으로써 최대 20-30%의 노력 감소.
- 거버넌스 및 컴플라이언스 혜택. 호수 형성에서 속성 기반 제어는 표준 규정을 준수하고 감사 및 로깅 기능을 제공합니다.
산업적 사용
Apache Iceberg 테이블을 이용한 속성 수준 거버넌스는 고객이 데이터에 대한 제한된 접근이 필요하고 데이터의 진정성과 보안을 보장해야 하는 금융 부문, 예를 들어 은행이나 보험 회사에서 매우 원활하게 구현될 수 있습니다. 의료 부문에서는 환자의 전자 건강 기록을 신속하게 생성하고 공유하여 데이터의 민감성을 보장하고, 이는 적시에 치료와 약물 제공으로 이어질 수 있습니다.
결론
따라서 전체 솔루션은 대부분의 조직에 필요한 Apache Iceberg 테이블 형식을 사용하여 신속한 데이터 준비와 함께 대규모로 속성 수준 거버넌스를 제공하며, 빠른 성과, 최적의 비용 및 무한한 확장성을 제공하는 Amazon 클라우드 서비스를 활용하여 솔루션을 구현할 것입니다.
Source:
https://dzone.com/articles/attribute-level-governance-apache-iceberg-tables