pola-rs/polars

Extremely fast Query Engine for DataFrames, written in Rust

해결하는 문제

Polars는 DataFrame에서 대규모 데이터 세트를 작업할 때 흔히 발생하는 성능 및 메모리 제한 문제를 해결합니다. 스트리밍을 통해 사용 가능한 RAM보다 큰 데이터 세트를 처리할 수 있는 고성능 엔진을 제공하며, 쿼리를 자동으로 최적화하여 효율적인 실행을 보장합니다.

작동 방식

Rust로 작성된 Polars는 멀티스레드 벡터화 실행 엔진을 사용하여 최신 CPU 기능 (SIMD)을 활용합니다. Eager(즉시) 실행과 Lazy(지연) 실행을 모두 지원하여 엔진이 실행 전에 쿼리 계획을 최적화할 수 있도록 합니다. 데이터 공유를 위해 Apache Arrow 형식을 사용하여 제로 카피(zero-copy)를 구현함으로써 다른 도구와의 높은 상호 운용성을 보장합니다. 강력하고 표현력이 뛰어난 API를 사용하여 복잡한 데이터 변환을 구성할 수 있으며, 사용자 지정 플러그인으로 엔진을 확장할 수도 있습니다.

대상 사용자

Polars는 대규모 데이터를 효율적으로 처리해야 하는 데이터 과학자, 엔지니어 및 분석가를 위한 도구입니다. Python, Rust, Node.js, R 또는 SQL 환경에서 작업하며 기존 DataFrame 라이브러리를 대체할 빠르고 확장 가능한 솔루션이 필요한 사용자를 위해 설계되었습니다.

주요 특징

  • 멀티스레드 및 벡터화 실행을 통한 매우 빠른 성능.
  • 스트리밍 엔진을 통해 컴퓨터 RAM보다 큰 데이터 세트 처리 가능.
  • 지연 실행 계획에 대한 자동 쿼리 최적화.
  • Python, Rust, Node.js, R, SQL을 포함한 다중 언어 지원.
  • 지원되는 NVIDIA 하드웨어에 대한 선택적 GPU 가속.
  • I/O 및 표현식 플러그인을 통한 네이티브 확장성.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트