pola-rs/polars

Extremely fast Query Engine for DataFrames, written in Rust

解決する課題

Polarsは、DataFrameで大規模データセットを扱う際に頻繁に発生するパフォーマンスとメモリの制限を解決します。ストリーミングを通じて利用可能なRAMよりも大きなデータセットを処理できる高性能なエンジンを提供し、クエリを自動的に最適化して効率的な実行を保証します。

仕組み

Rustで記述されたPolarsは、マルチスレッドのベクトル化実行エンジンを使用し、最新のCPU機能 (SIMD) を活用します。Eager(即時)実行とLazy(遅延)実行の両方をサポートしており、エンジンが実行前にクエリプランを最適化できます。データ共有にはApache Arrow形式を使用し、ゼロコピーで他のツールとの高い相互運用性を確保しています。強力で表現力豊かなAPIを使用して複雑なデータ変換を構成でき、カスタムプラグインでエンジンを拡張することも可能です。

対象ユーザー

Polarsは、大規模データを効率的に処理する必要があるデータサイエンティスト、エンジニア、アナリスト向けです。Python、Rust、Node.js、R、またはSQL環境で作業しており、従来のDataFrameライブラリに代わる高速でスケーラブルな選択肢を必要としているユーザーのために設計されています。

ハイライト

  • マルチスレッドおよびベクトル化実行による極めて高速なパフォーマンス。
  • ストリーミングエンジンにより、コンピュータのRAMを超えるデータセットの処理が可能。
  • 遅延実行プランに対する自動クエリ最適化。
  • Python、Rust、Node.js、R、SQLを含むマルチ言語サポート。
  • サポートされているNVIDIAハードウェア向けのオプションのGPUアクセラレーション。
  • I/Oおよび式プラグインによるネイティブな拡張性。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト