Tigris에서 가져오기
Tigris에서 가져오기 (Tigris Import)
Tigris는 S3 호환 API를 제공하기 때문에 DuckDB의 S3 지원을 그대로 써서 Tigris 버킷을 읽고 쓸 수 있습니다. 이 기능에는 httpfs 확장이 필요하며, INSTALL SQL 명령으로 설치할 수 있어요. 설치는 한 번만 하면 됩니다.
출처: 공식문서
자격 증명과 설정 (Credentials and Configuration)
액세스 키 쌍을 생성하고 DuckDB에 S3 시크릿을 만들어야 합니다:
CREATE SECRET my_secret (
TYPE s3,
KEY_ID 'tid_xxxxxxxxxxxx',
SECRET 'tsec_xxxxxxxxxxxxxxxxxxxxxxxx',
REGION 'auto',
ENDPOINT 'fly.storage.tigris.dev'
);
- 단일 엔드포인트(
fly.storage.tigris.dev)가 모든 리전을 처리합니다. 요청은 호출자와 가장 가까운 Tigris 리전으로 라우팅돼요.REGION은 요청 서명에 필요하지만 라우팅에는 쓰이지 않으므로auto로 설정하면 됩니다. URL_STYLE은 설정할 필요가 없습니다. Tigris는 DuckDB가TYPE s3에 대해 기본으로 쓰는 virtual-hosted-style URL을 사용해요.
💡 DuckDB가 Fly.io Machine에서 실행될 때
fly.storage.tigris.dev로의 요청은 Fly 내부 네트워크에 머물러, 가능하면 Machine과 같은 리전에서 처리됩니다.
조회 (Querying)
Tigris 자격 증명을 설정한 뒤에는 read_csv나 read_parquet 같은 DuckDB 내장 메서드로 데이터를 조회할 수 있습니다:
SELECT * FROM 's3://tigris-bucket-name/file.csv';
SELECT * FROM read_parquet('s3://tigris-bucket-name/file.parquet');
더 알아보기 (Learn more)
- DuckDB 공식 문서: Tigris Import
- 네트워크·클라우드 스토리지 개요: Network and Cloud Storage Overview
- S3에서 데이터 가져오기: S3 Import
- HTTPS 또는 S3로 데이터베이스 연결: Attach over HTTPS or S3