Oracleの特許が失効:ソートを5倍高速化した「Orasort」アルゴリズムの全貌
Common prefix skipping, adaptive sort
Oracle 10gR2で採用され、従来比約5倍の性能向上を実現したインメモリソートアルゴリズムの特許が失効しました。著者(発明者)がその設計思想と実装の裏話を公開します。共通プレフィックスのスキップ、クイックソートとMSD基数ソートの適応的切り替え、キー部分文字列のキャッシュにより、DBMSのソート性能を劇的に改善しました。開発の動機からOracle退社に至るまでの経緯も綴られています。
特許にはアルゴリズムの良い説明があり、典型的な特許よりもずっと読みやすい。幸い、IP弁護士が私が書いた機能仕様書と設計書をうまく活用してくれた。