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および式プラグインによるネイティブな拡張性。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト