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_nr과 query 컬럼이 있는 테이블을 반환해요.
기대 답안 나열
스케일 팩터 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문서를 참고해 주세요.