10년간의 PyCon 데이터로 파악한 파이썬 생태계의 미래

by DD
5개월 전
조회수 10

DuckDB벡터 임베딩을 활용하여 10년간의 PyCon 영상 데이터를 분석함

MLOpsRAG 기술의 부상, FastAPI의 성장 등 파이썬 생태계의 변화를 조명함

Rust 기반 Polars의 등장과 GIL 문제 해결 시도 등 데이터 처리 및 성능 개선 노력

DuckDB와 Parquet을 활용한 데이터 분석 효율 증대

구체적으로 DuckDB인메모리 OLAP 데이터베이스로, 벡터화된 실행 엔진을 통해 쿼리 속도를 향상시킨다. 따라서 Parquet 포맷을 사용하여 데이터 파일 크기 51% 감소쿼리 속도 수십 배 향상을 달성했다. 반면, CSV 파일은 분석 시 I/O 비용이 높고, 컬럼 기반 압축이 어려워 분석 속도가 느리다.

Rust 기반 Polars와 Pandas의 비교

PolarsRust로 구현되어 병렬 처리제로 비용 추상화를 통해 Pandas보다 뛰어난 성능을 제공한다. 따라서 대용량 데이터 처리에 유리하며, 특히 groupby, join 연산에서 강점을 보인다. 반면, Pandas는 API 친숙성풍부한 생태계를 갖춰, 소규모 데이터 분석이나 탐색적 분석에 적합하다.

GIL 문제 해결을 위한 Rust와 PyO3

파이썬의 GIL멀티코어 CPU의 성능을 제한하는 병목 현상을 발생시킨다. 따라서 RustPyO3를 사용하여 GIL을 우회하고, 병렬 처리를 가능하게 한다. 구체적으로 Rust로 작성된 모듈은 GIL을 해제하여 성능 향상을 가져온다. 하지만, 파이썬 객체 조작 시에는 여전히 GIL이 필요하다.

10년간의 PyCon 영상 데이터가 들려준 파이썬의 미래