메인 콘텐츠로 건너뛰기
이 가이드는 호환성을 유지하면서 성능을 향상할 수 있도록 기존 pandas 코드를 DataStore로 마이그레이션하는 방법을 안내합니다.

한 줄로 마이그레이션

가장 간단한 마이그레이션 방법은 import만 변경하는 것입니다:
이제 끝입니다! 대부분의 pandas 코드는 수정 없이 그대로 작동합니다.

단계별 마이그레이션

1

chDB 설치

2

import 구문 변경

3

코드 테스트

기존 코드를 실행하세요. 대부분의 작업은 수정 없이 그대로 동작합니다.
4

차이점 확인

일부 작업은 다르게 동작합니다. 아래의 주요 차이점을 참조하세요.

변경 없이 그대로 작동하는 항목

데이터 로딩

필터링

선택

GroupBy 및 집계

정렬

String 연산

DateTime 연산

I/O 연산


주요 차이점

1. 지연 평가

DataStore 작업은 지연 평가 방식으로 동작하므로, 결과가 필요해질 때까지 실행되지 않습니다. pandas:
DataStore:

2. 반환 유형

3. inplace 매개변수 미지원

DataStore는 inplace=True를 지원하지 않습니다. 항상 반환값을 사용하십시오: pandas:
DataStore:

4. DataStore 비교하기

pandas는 DataStore 객체를 인식하지 않으므로 비교할 때는 to_pandas()를 사용하세요:

5. 행 순서

DataStore는 파일 소스(예: SQL 데이터베이스)의 경우 행 순서를 유지하지 않을 수 있습니다. 명시적으로 정렬하세요:

마이그레이션 패턴

패턴 1: 읽고 분석한 뒤 쓰기

패턴 2: pandas 작업용 DataFrame

pandas 전용 기능이 필요하다면 마지막에 변환하세요:

패턴 3: 혼합 워크플로우


성능 비교

DataStore는 대규모 데이터셋에서 훨씬 빠릅니다: 1,000만 행 기준 벤치마크

마이그레이션 문제 해결

문제: 작업이 실행되지 않음

일부 pandas 작업은 지원되지 않을 수 있습니다. 다음 사항을 확인하세요.
  1. 해당 작업이 호환성 목록에 포함되어 있습니까?
  2. 먼저 pandas로 변환해 보십시오: ds.to_df().operation()

문제: 결과가 다름

무슨 일이 일어나고 있는지 파악하려면 디버그 로깅을 활성화하십시오:

문제: 성능 저하

실행 패턴을 확인하세요:

문제: 타입 불일치

DataStore는 타입을 서로 다르게 추론할 수 있습니다:

점진적 마이그레이션 전략

1주 차: 호환성 테스트

2주차: 간단한 스크립트로 전환

다음과 같은 스크립트부터 시작합니다:
  • 대용량 파일을 읽는 스크립트
  • 필터링과 집계를 수행하는 스크립트
  • 사용자 정의 apply 함수를 사용하지 않는 스크립트

3주 차: 복잡한 경우 처리

사용자 정의 함수가 있는 스크립트의 경우:

4주차: 전체 마이그레이션

모든 스크립트에서 DataStore import를 사용하도록 전환합니다.

FAQ

pandas와 DataStore를 둘 다 사용할 수 있나요?

예! 두 형식 사이를 자유롭게 변환할 수 있습니다:

테스트가 여전히 통과하나요?

대부분의 테스트는 통과합니다. 비교 테스트는 pandas로 변환하세요:

Jupyter에서 DataStore를 사용할 수 있나요?

네! DataStore는 Jupyter 노트북에서 사용할 수 있습니다:

문제는 어떻게 보고하나요?

호환성 문제가 발견되면 다음 링크로 보고하십시오: https://github.com/chdb-io/chdb/issues
마지막 수정일 2026년 6월 12일