Polars 2.0リリース、DuckDBを超える性能
原題: Release of Polars 2.0
なぜ重要か
データ処理ライブラリの性能競争が激化する中、Polarsがベンチマークでエンタープライズ採用の基準となるDuckDBを上回ったことは、OSS分析エンジン市場の勢力図に影響を与えうる。
Rustベースのデータフレームライブラリ「Polars」の開発チームは2026年10月6日、メジャーバージョン「Polars 2.0」を正式リリースした。SQL対応の強化、ストリーミングエンジンのデフォルト化、Out-of-Core(スピル・トゥ・ディスク)サポートの初期実装が主な新機能で、TPC-HおよびTPC-DS 1ベンチマークではDuckDB・DataFusionを上回る結果を記録した。
Polars 2.0は、SQLをファーストクラス市民として正式に位置づける節目のリリースとなった。オプティマイザとエンジンに多数の改善が施され、特にJoin Reordering、Common-Subplan-Elimination(CSE)の大幅強化、Dynamic Predicates/Bloom Filterの導入が性能向上を牽引している。
ベンチマークはAWS c7a.4xlarge(16 vCPUs・32GB RAM)とc7a.metal(192 vCPUs・384GB RAM)の2種で実施。比較対象はDuckDB 1.5.6、DuckDB 2.0アルファ(2.0.0.dev2610011535)、DataFusion 54.0.0。各クエリを独立プロセスで5回実行し、ベストタイムを採用した。結果、Polarsはほぼ全ベンチマークで最速を記録。DataFusionはTPC-DS q72でタイムアウト、TPC-H q18でメモリ不足が発生した。一方、192スレッドへのスケール時にPolarsは定常オーバーヘッドが生じ、小規模クエリでは32コア制限時の方が競争力が高いケースも見られた。この問題は次リリースでの修正を予定している。
ストリーミングエンジンとOut-of-Core(OOC)サポートも2.0の目玉だ。LazyFrameに対してcollectを呼び出すと、デフォルトでストリーミングエンジンが使用されるようになり、多くのクエリでメモリ使用量と処理速度が大きく改善する。これがメジャーバージョン番号を引き上げた主因の一つでもある。
その他の変更点として、新しいMap dtype、型チェックの厳格化によるエラーの早期検出、AI開発ワークフローでの反復速度向上も挙げられる。ベンチマーク再現用リポジトリはGitHub(https://github.com/pola-rs/polars-2.0-benchmark)で公開されており、第三者による検証が可能。