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_csvread_parquet 같은 DuckDB 내장 메서드로 데이터를 조회할 수 있습니다:

SELECT * FROM 's3://tigris-bucket-name/file.csv';
SELECT * FROM read_parquet('s3://tigris-bucket-name/file.parquet');

더 알아보기 (Learn more)