Von Ming Ying am 1. Oktober 2026 Vor zwei Wochen enthüllte Planet Scale TIN, eine Volltextsuche-Erweiterung für Postgres. Ihr Startbeitrag berichtete von beeindruckenden Leistungssteigerungen gegenüber einer Teilmenge der Textsuchfunktionalität von Parade DB, insbesondere der BM25-bewerteten Textsuche und Dokumentzählungen. Wir möchten dem Planet Scale Team gratulieren. Es ist großartig, eine weitere Postgres-Plattform zu sehen, die in die Suche investiert, und es ist klar, dass viel durchdachte Ingenieursarbeit in TIN gesteckt wurde.
Lassen Sie uns eines sehr klar sagen: TIN ist schnell (mindestens 8x schneller als Parade DB 0.25 in jedem Planet Scale Benchmark). So schnell, dass die einzig sinnvolle Reaktion war, den Mund zu halten und unsere Leistungsoptimierungs-Hüte aufzusetzen. Zwei Wochen später, hier ist das BM25-bewertete Vorher und Nachher, unter Verwendung desselben Stack Exchange Benchmark-Datensatzes, derselben Testumgebung und derselben Maschinentypen.
Interessant ist nicht, dass wir die Lücke schnell geschlossen haben, sondern wie wir sie geschlossen haben. TINs Beitrag behauptet, dass ihre Leistung auf einem grundlegenden architektonischen Unterschied beruht, der Postgres' interne ctid-Felder als Dokumentidentifikatoren verwendet. Wir haben diese Lücke jedoch durch einige Optimierungsdurchläufe geschlossen, die wenig damit zu tun hatten, wie Dokumente identifiziert werden.
Das Herzstück jedes Textsuchindex ist eine Postings-Liste. Tantivy, die Suchbibliothek hinter Parade DB, verwendet sequentielle u32-Dokument-IDs für ihre Postings. Postgres identifiziert seine Zeilen durch ctid-Werte. Der Kern von TINs Beitrag ist, dass die direkte Verwendung von ctid-Werten als Dokumentidentifikatoren diese Karte eliminiert und effiziente Bitmap-Operationen und Sichtbarkeitsprüfungen ermöglicht. Für BM25 Top K-Abfragen waren wir skeptisch.
Quelle: Hacker News · Zusammengefasst von HeadlinesBriefing