S3 데이터베이스 엔진
S3 데이터베이스 엔진
Amazon S3와 S3 호환 객체 스토리지의 객체를 읽기 전용 테이블로 노출하는 데이터베이스 엔진이에요. 테이블 이름은 s3 테이블 함수를 통해 객체 URL로 해석돼요.
출처: 문서
본문
S3 데이터베이스 엔진은 Amazon S3와 S3 호환 객체 스토리지의 객체를 읽기 전용 테이블로 노출해요. 테이블 이름은 s3 테이블 함수를 통해 객체 URL로 해석돼요.
데이터베이스 만들기 (Creating a database)
CREATE DATABASE s3_data
ENGINE = S3([url[, NOSIGN | access_key_id, secret_access_key]]);
엔진은 명명된 컬렉션도 받을 수 있어요. 지원되는 구성 키는 url, access_key_id, secret_access_key, no_sign_request, use_environment_credentials예요.
사용 (Usage)
기본 URL이 있으면 테이블 이름은 그 URL에 상대적인 객체 경로예요.
CREATE DATABASE s3_data
ENGINE = S3('https://bucket.s3.amazonaws.com/data/', 'NOSIGN');
SELECT * FROM s3_data.`events.parquet`;
기본 URL이 없으면 전체 객체 URL을 테이블 이름으로 사용해요. 스키마와 형식은 s3 테이블 함수와 같은 방식으로 추론돼요. 데이터베이스는 테이블 정의를 소유하지 않으며 테이블 DDL이나 쓰기를 지원하지 않아요.
접근 제어 (Access control)
S3 URL은 서버의 원격 호스트 필터에 대해 검사돼요. 이 데이터베이스를 만들려면 table_engines_require_grant와 무관하게 S3에 대한 READ와 WRITE 소스 권한이 필요해요. 예를 들어:
GRANT READ, WRITE ON S3 TO user_name;
버전·호환성 세부사항은 SOURCES 권한을 참고해요.