PlanetScale、Postgres向け全文検索拡張「TIN」をGA公開

원제: Tin: full-text search for Postgres

왜 중요한가

全文検索の内製化はPlanetScaleのPostgres差別化戦略の核心であり、ElasticsearchやAlgoliaなどの外部サービス依存を減らす選択肢をアプリ開発者に提供する。

PlanetScaleは2026年9月16日、Postgres向けの全文検索拡張機能「TIN(Text INdex)」を正式リリースした。Boolean式・フレーズ検索・BM25スコアリング・ファジー検索などを網羅し、全PostgresおよびNekiデータベースで即日利用可能。Stack Exchange 85GBコーパス(1億5000万件)でのベンチマークも公開された。

TINはPlanetScaleが開発したPostgres向けの全文検索インデックス拡張機能で、`CREATE INDEX ... USING tin(...)` という1行で導入できる。独自の演算子`==>`でクエリを記述する設計だ。

既存のPostgres全文検索ソリューション(GIN、RUM等)が少なくとも3つ存在するにもかかわらず、PlanetScaleは「いずれも要件を満たさない」として自社開発を選択した。TINが対応する機能は、Boolean式・フレーズ・スパンクエリ、ファジー・ワイルドカード・正規表現マッチング、大文字小文字とアクセント記号の正規化、`COUNT(*)`クエリとBM25スコアによるトップk取得、さらにMVCC(Multi-Version Concurrency Control)への完全準拠、レプリケーション、バックアップ対応と広範囲に及ぶ。

ベンチマークは複数のコーパスで実施。全Wikipediaデータ、2.3TBのRedditコメント集、797GBの論文・法律文書・書籍・Enronメールを含む「pile」セット、そしてStack Exchangeの質問・回答データ(85GB、1億5000万件)が対象となった。公開されたベンチマーク結果はStack Exchangeデータに基づき、conjunction・disjunction・フレーズクエリの混合ワークロード、書き込みと同時実行のクエリなど複数シナリオをカバーする。

内部技術面では、48ビット識別子の採用、ベクトル化処理による演算省略、セグメントマージ戦略などが高速化の鍵とされている。

출처

planetscale.com — 원문 읽기 →