메인 콘텐츠로 건너뛰기

요구 사항

  • Python 3.8+
  • 지원 플랫폼: macOS 및 Linux (x86_64 및 ARM64)

설치

사용 방법

명령줄 인터페이스

명령줄에서 SQL 쿼리를 직접 실행할 수 있습니다:

Python 기본 사용법

연결 기반 API (권장)

리소스 관리와 성능을 개선하려면:

데이터 입력 방식

파일 기반 데이터 소스

chDB는 파일을 직접 쿼리할 수 있는 70개 이상의 데이터 포맷을 지원합니다:

출력 형식 예시

DataFrame 연산

기존 DataFrame API

상태 유지 세션

세션은 여러 작업에 걸쳐 쿼리 상태를 유지하여 복잡한 워크플로를 지원합니다:

고급 세션 기능

관련 항목: test_stateful.py.

Python DB-API 2.0 인터페이스

기존 Python 애플리케이션과의 호환성을 제공하는 표준 데이터베이스 인터페이스:

사용자 정의 함수 (UDF)

사용자 정의 Python 함수로 SQL을 확장합니다:

기본적인 UDF 사용법

사용자 지정 반환 타입을 갖는 고급 UDF

UDF 모범 사례

  1. 상태를 유지하지 않는 함수: UDF는 부작용이 없는 순수 함수여야 합니다
  2. 함수 내부에서 import: 필요한 모든 모듈은 UDF 내부에서 import해야 합니다
  3. String 입출력: 모든 UDF 매개변수는 문자열입니다(TabSeparated 포맷)
  4. 오류 처리: 안정적인 UDF를 위해 try-catch 블록을 포함하십시오
  5. 성능: UDF는 각 행마다 호출되므로 성능을 최적화해야 합니다

스트리밍 쿼리 처리

메모리 사용량을 일정하게 유지하면서 대규모 데이터 집합을 처리합니다:

Python 테이블 엔진

Pandas DataFrame 쿼리하기

PyReader를 사용한 사용자 지정 데이터 소스

특수한 데이터 소스를 위한 사용자 지정 데이터 리더를 구현합니다:

성능 및 최적화

벤치마크

chDB는 다른 내장 엔진보다 지속적으로 더 우수한 성능을 보입니다:
  • DataFrame 연산: 분석 쿼리에서 기존 DataFrame 라이브러리보다 2~5배 빠릅니다
  • Parquet 처리: 주요 열 지향 엔진과 견줄 만한 성능을 제공합니다
  • 메모리 효율성: 다른 대안보다 메모리 사용량이 적습니다
벤치마크 결과 자세히 보기

성능 팁

GitHub 리포지토리

마지막 수정일 2026년 6월 25일