Amazon Web Services 한국 블로그

AWS Lake Formation – 자동 압축, 행 및 셀 단위 권한 제어 가능한 테이블 관리 기능 출시

데이터 레이크는 데이터 사일로를 분해하고, 다양한 유형의 분석을 중앙집중식 리포지토리로 결합하는 데 도움이 될 수 있습니다. 모든 정형 및 비정형 데이터를 이 리포지토리에 저장할 수 있습니다. 그러나 데이터 레이크를 설정 및 관리하려면, 수동의, 복잡하고 시간이 많이 걸리는 수동 작업이 많이 필요합니다. AWS Lake Formation을 사용하면 몇 주 또는 몇 개월이 아닌 며칠 만에 안전한 데이터 레이크를 쉽게 설정할 수 있습니다.

오늘 저는 데이터 로딩, 스토리지 최적화 및 데이터 레이크에 대한 액세스 관리를 간소화하는 몇 가지 새로운 기능의 일반적인 가용성을 공유하게 되어 기쁩니다.

  • 관리형 테이블 – 규모에 관계없이 데이터를 간편하고 안정적으로 수집 및 관리할 수 있는 새로운 유형의 Amazon Simple Storage Service(Amazon S3) 테이블입니다. 관리형 테이블은 ACID 트랜잭션을 지원하므로, 여러 사용자가 여러 개의 관리형 테이블에서 동시에, 안정적으로 데이터를 삽입 및 삭제할 수 있습니다. 또한 ACID 트랜잭션을 사용하면 일관된 최신 데이터를 반환하는 쿼리를 실행할 수 있습니다. ETL(추출, 변환, 로드) 프로세스 또는 업데이트 중 오류가 발생하는 경우, 변경 사항은 커밋되지 않으며 표시되지 않을 것입니다.
  • 관리형 테이블에 대한 자동 압축을 통한 스토리지 최적화 – 이 옵션을 활성화하면 Lake Formation은 관리형 테이블의 작은 S3 객체를 더 큰 객체로 자동 압축하여 Amazon AthenaAmazon Redshift Spectrum 등의 분석 엔진을 통한 액세스를 최적화합니다. 자동 압축을 사용하면 데이터를 읽고, 병합하며, 새 파일로 압축한 다음 원본 파일을 변경하는 사용자 지정 ETL 작업을 구현할 필요가 없습니다.
  • 행 및 셀 단위 보안을 통한 세분화된 액세스 제어 – 작업 수행자 ID를 기반으로 쿼리 결과 및 AWS Glue ETL 작업 내 특정 행과 열에 대한 액세스를 제어할 수 있습니다. 이렇게 하면 다양한 역할 및 법률에 따라 데이터의 하위 집합을 생성할 (그리고 계속 업데이트할) 필요가 없습니다. 이는 관리형 및 기존 S3 테이블 모두에서 작동합니다.

관리형 테이블, ACID 트랜잭션 및 자동 압축 사용
Lake Formation 콘솔에서 테이블 생성 시 관리형 데이터 액세스 및 관리를 활성화할 수 있습니다. 자동 압축은 기본값으로 활성화되며 AWS Command Line Interface(CLI) 또는 AWS SDKs를 사용하여 비활성화할 수 있습니다.

콘솔 스크린샷.

관리형 테이블에는 테이블 데이터의 일부인 S3 객체를 추적하는 매니페스트가 있습니다. 테이블에 신규 객체를 추가할 때, UpdateTableObjects API를 사용하여 매니페스트를 업데이트 상태로 유지할 수 있으며, 이것을 AWS CLI 및 SDK를 사용하여 호출할 수 있습니다. 이 API는 AWS Glue ETL 라이브러리가 암묵적으로 사용합니다.

또한 새로운 Lake Formation API에 액세스하여 거래를 시작, 커밋 또는 취소할 수 있습니다. 이러한 API를 사용하여 데이터 로딩과 데이터 변환을 래핑하고, 일관된 최신 데이터를 출력할 수 있습니다.

행 및 셀 수준 보안 사용
테이블의 경우, 데이터에 액세스하는 사용자의 역할에 따라 특정 열, 행 또는 조합에 대한 액세스를 제한하려는 사용 사례가 많이 있습니다. 예를 들어 미국, 독일 및 프랑스에 지사를 둔 기업은 EU(유럽 연합) 기반 분석가용 필터를 생성하여 EU 기반 고객에 대한 액세스를 제한할 수 있습니다.

콘솔 스크린샷.

이 필터는 생년월일 (dob) 및전화 등의 일부 열에 해당 분석가의 액세스를 제한할 수 있습니다. 또한 필터 표현식을 사용하여 개별 행에 대한 액세스를 필터링할 수 있습니다. 오픈 소스 PartiQL 언어를 기반으로 하는 SQL 호환 구문을 사용하여 행 필터 식을 구성할 수 있습니다. 이 경우 국가가 독일 또는 프랑스 (country='DE' OR country='FR')와 동일한 행만 표시됩니다.

콘솔 스크린샷.

가용성 및 요금
이 새로운 기능은 AWS Proton을 사용할 수 있는 미국 동부(버지니아 북부), 미국 서부(오레곤), EU(아일랜드), 미국 동부(오하이오) 및 아시아 태평양(도쿄) AWS 리전에서 사용할 수 있습니다.

관리형 테이블 또는 행 및 셀 수준 보안으로 보호된 테이블을 쿼리하는 경우 스캔한 데이터의 양(최소 10MB)을 기준으로 비용을 지불합니다. 관리형 테이블을 사용한다면 트랜잭션 메타데이터에는 추적된 S3 객체 수만큼 요금이 부과되며, 사용자는 트랜잭션 요청 수에 대한 비용을 지불합니다. 자동 압축은 처리된 데이터에 따라 요금이 부과됩니다. 자세한 내용은 AWS Lake Formation 요금 페이지를 참조하세요.

이러한 기능을 구현하는 동안, Lake Formation Storage API를 도입했습니다. 여기에는 AWS Glue, Amazon Athena, Amazon Redshift SpectrumAmazon QuickSight 등의 도구가 통합되어 있습니다. 애플리케이션에서 이 스토리지 API를 직접 사용하여 SQL과 유사한 구문(조인은 지원되지 않음)으로 테이블을 쿼리하고. 관리형 테이블 및 셀 수준 보안의 이점을 얻을 수 있습니다.

자세히 알아보려면 미리 보기 중에 게시된 자세한 블로그 시리즈를 참조하십시오.

AWS Lake Formation을 사용한 효과적인 데이터 레이크

이러한 새로운 기능을 활용하여 데이터 레이크의 생성 및 관리를 간소화할 수 있습니다.

Danilo