TPC-DS 확장

TPC-DS 확장

tpcds 확장은 TPC-DS 벤치마크의 데이터 생성기와 쿼리를 구현해요. 벤치마크 성능 테스트를 위해 표준 데이터셋을 만들고 쿼리를 실행하고 싶을 때 유용하답니다.

출처: 문서

본문

경고 — tpcds 확장은 DuckDB 2.0 버전에서 생성기를 TPC-DS 버전 4와 호환되도록 변경할 예정이에요. 자세한 내용은 관련 PR을 참고해 주세요.

tpcds 확장은 TPC-DS 벤치마크의 데이터 생성기와 쿼리를 구현해요.

설치와 로드

tpcds 확장은 첫 사용 시 공식 확장 저장소에서 자동 로드돼요. 수동으로 설치·로드하려면 다음을 실행하세요.

INSTALL tpcds;
LOAD tpcds;

사용법

스케일 팩터 1에 대한 데이터를 생성하려면:

CALL dsdgen(sf = 1);

쿼리를 실행하려면, 예를 들어 쿼리 8이라면:

PRAGMA tpcds(8);
s_store_name sum(ss_net_profit)
able -10354620.18
ation -10576395.52
bar -10625236.01
ese -10076698.16
ought -10994052.78

쿼리 나열

99개 쿼리를 모두 나열하려면:

FROM tpcds_queries();

이 함수는 query_nrquery 컬럼이 있는 테이블을 반환해요.

기대 답안 나열

스케일 팩터 1과 10에 대한 모든 쿼리의 기대 결과를 생성하려면:

FROM tpcds_answers();

이 함수는 query_nr, scale_factor, answer 컬럼이 있는 테이블을 반환해요.

스키마 생성

스케일 팩터를 0으로 설정하면 데이터 없이 TPC-DS의 스키마만 생성할 수 있어요.

CALL dsdgen(sf = 0);

데이터 생성기 파라미터

데이터 생성기 함수 dsdgen에는 다음 파라미터가 있어요.

이름 타입 설명
catalog VARCHAR 대상 카탈로그
keys BOOLEAN 기본 및 외래 키 생성
overwrite BOOLEAN (사용되지 않음)
schema VARCHAR 대상 스키마
sf DOUBLE 스케일 팩터
suffix VARCHAR 테이블 이름에 suffix 추가

사전 생성된 데이터셋

TPC-DS용으로 사전 생성된 DuckDB 데이터베이스를 다운로드할 수 있어요. 이것들은 DuckDB v1.x로 생성됐다는 점에 유의하세요. DuckDB v2.x는 TPC-DS v4와 호환되는 약간 다른 TPC-DS 파일을 생성합니다.

  • tpcds-sf10.db (2.9 GB)
  • tpcds-sf30.db (7.7 GB)
  • tpcds-sf100.db (26.6 GB)
  • tpcds-sf300.db (79.3 GB)

제한 사항

tpcds(⟨query_id⟩) 함수는 미리 정의된 바인드 파라미터(일명 대입 파라미터)로 고정된 TPC-DS 쿼리를 실행해요. tpcds 확장으로 쿼리 파라미터를 변경하는 것은 불가능해요.

더 알아보기 (Learn more)

  • 확장 자동 로드는 extensions/overview 문서를 참고해 주세요.