注目★★★★★Hacker News
Postgres向け検索拡張TIN、最大541倍のQPSを実現
30秒で把握
- 1PlanetScale が Postgres 用全文検索拡張 TIN v1.0.2 を GA 公開
- 285GB・1億5,000万文書で ParadeDB 比25倍、GIN 比541倍のQPS
- 3BM25・COUNT(*)・更新中検索に対応し、ctid と AVX で高速化
要約
PlanetScale は Postgres 向け全文検索拡張 TIN v1.0.2 を GA 公開した。Boolean・phrase・span・fuzzy・wildcard・正規表現検索に対応し、BM25による上位検索と COUNT(*) も実行できる。85GB・1億5,000万文書のベンチマークで、混合クエリは ParadeDB 比25倍、conjunction・phrase検索は ParadeDB 比10倍、Postgres GIN 比541倍のQPSを記録した。更新を並行実行した disjunction 検索でも、TINは10分間に270,279件の更新を処理した。Postgresのctidを文書識別子として直接使い、AVX命令によるビットマップ処理で高速化している。
あなたへの影響
Postgresで全文検索を実装する日本の開発チームは、既存のGINや検索拡張とTINの検索性能・更新性能・インデックス容量を実データで比較検証するとよい。
推奨:TINはPostgresのctidを使うため、既存の検索基盤から移行する場合はMVCC、VACUUM、バックアップ、レプリケーションの運用互換性も確認が必要だ。