이 페이지는 ClickHouse Cloud에는 적용되지 않습니다. 여기에서 설명하는 기능은 ClickHouse Cloud 서비스에서 지원되지 않습니다.
자세한 내용은 ClickHouse의 Cloud Compatibility 가이드를 참조하십시오.
s3 테이블 함수와 S3 디스크 유형은 S3 호환 게이트웨이를 제공하는 오픈 소스 분산 객체 저장소 SeaweedFS와 호환됩니다. SeaweedFS는 경로 스타일 요청을 네이티브로 지원하므로 자체 호스팅 저장소에서 와일드카드 DNS가 필요하지 않습니다. SeaweedFS는 Iceberg 테이블도 지원합니다. 테이블 버킷에는 테이블 데이터가 Parquet 파일로 저장되고, 내장 Iceberg REST 카탈로그는 테이블 메타데이터를 제공합니다. 동일한 엔드포인트를 통해 이를 쿼리하는 방법은 SeaweedFS 카탈로그 가이드를 참조하십시오.
SeaweedFS 4.42 이상을 사용하십시오. 이전 버전에서는 비어 있어 삭제 중인 상위 폴더에 쓰기가 커밋되는 객체가 삭제될 수 있으며, 이 경우 쓰기가 성공한 직후 Object ... suddenly disappeared가 표시됩니다.
로컬에서 SeaweedFS 실행하기
s3config.json 파일을 생성합니다:
-bucket 플래그는 시작 시 버킷을 생성합니다:
echo "s3.bucket.create -name mybucket" | docker exec -i seaweedfs weed shell을 사용하여 언제든지 버킷을 추가로 만들 수 있습니다.
기본적으로 쓰기 작업은 운영 체제에 전달되면 완료된 것으로 확인됩니다. 확인하기 전에 모든 쓰기 작업을 디스크에 fsync하려면 버킷에서 fsync를 활성화하십시오:
S3 기반 MergeTree
SETTINGS disk = 's3_cache'를 사용하여 테이블을 생성하십시오. 위에서 정의한 캐시 디스크는 S3 디스크를 래핑합니다.
s3 테이블 함수
s3 테이블 함수는 동일한 엔드포인트에서 객체를 읽고 쓸 수 있습니다:
백업 및 복원
BACKUP 및 RESTORE는 SeaweedFS 엔드포인트를 S3 대상으로 지원합니다: