stonewhitener / readingss

Reading list
3 stars 0 forks source link

These Rows Are Made for Sorting and That’s Just What We’ll Do #247

Closed stonewhitener closed 1 year ago

stonewhitener commented 1 year ago

Resources

Summary

分析データベースにおけるリレーショナルデータのソートについてマイクロベンチマークを行い,効率的なソート戦略を検討.カラムでソートするよりも行でソートするほうがキャッシュを効率的に使うことができ,また,条件分岐を減らせることを明らかにした.マイクロベンチマークの結果を踏まえて効率的なソートを DuckDB に実装.ベクトル形式をキーとペイロードでそれぞれ行形式に変換し,文字列を含む場合は pattern-defeating quicksort,含まない場合は radix sort を使用して,パイプラインで並列にマージソートを実行し,ベクトル形式に戻す.カラム形式の MonetDB や ClickHouse,実行時コンパイルと行形式を採用する Umbra や HyPer と比較して,高性能あるいは同等の性能となることを示した.

Screenshot 2023-05-24 at 12 10 42 Screenshot 2023-05-24 at 12 21 48