HeadlinesBriefing HeadlinesBriefing.com

PlanetScale टेक्स्ट सर्च प्रदर्शन

Hacker News •
×

Ming Ying द्वारा 1 अक्टूबर 2026 को दो सप्ताह पहले, Planet Scale ने TIN का अनावरण किया, जो Postgres के लिए एक पूर्ण-पाठ खोज एक्सटेंशन है। उनके लॉन्च पोस्ट ने Parade DB की टेक्स्ट सर्च कार्यक्षमता के एक उपसमूह पर प्रभावशाली प्रदर्शन लाभों की सूचना दी, विशेष रूप से BM25-रैंक वाली टेक्स्ट सर्च और दस्तावेज़ गणना। हम Planet Scale टीम को बधाई देना चाहते हैं। एक और Postgres प्लेटफ़ॉर्म को सर्च में निवेश करते देखना बहुत अच्छा है, और यह स्पष्ट है कि TIN में बहुत सारी विचारशील इंजीनियरिंग गई है।

आइए एक बात के बारे में बहुत स्पष्ट हों: TIN तेज़ है (हर Planet Scale बेंचमार्क में Parade DB 0.25 से कम से कम 8x तेज़)। इतना तेज़ कि एकमात्र प्रतिक्रिया जो समझ में आती थी वह थी चुप रहना और अपनी प्रदर्शन अनुकूलन टोपी लगाना। दो सप्ताह बाद, यहाँ BM25-रैंक वाला पहले और बाद का परिणाम है, उसी Stack Exchange बेंचमार्क डेटासेट, हार्नेस और मशीन प्रकारों का उपयोग करते हुए।

दिलचस्प यह नहीं है कि हमने जल्दी से अंतर को बंद कर दिया, बल्कि यह है कि हमने इसे कैसे बंद किया। TIN की पोस्ट का दावा है कि उनका प्रदर्शन एक मौलिक आर्किटेक्चरल अंतर के कारण है जो Postgres के आंतरिक ctid फ़ील्ड को दस्तावेज़ पहचानकर्ता के रूप में उपयोग करता है। हालाँकि, हमने कुछ अनुकूलन पासों के माध्यम से इस अंतर को बंद किया जिनका दस्तावेज़ों की पहचान करने के तरीके से बहुत कम लेना-देना था।

किसी भी टेक्स्ट सर्च इंडेक्स का हृदय एक पोस्टिंग सूची है। Parade DB के पीछे की सर्च लाइब्रेरी Tantivy, अपनी पोस्टिंग के लिए अनुक्रमिक u32 दस्तावेज़ ID का उपयोग करती है। Postgres अपनी पंक्तियों को ctid मानों द्वारा पहचानता है। TIN की पोस्ट का मूल यह है कि ctid मानों को सीधे दस्तावेज़ पहचानकर्ता के रूप में उपयोग करना इस मानचित्र को समाप्त करता है और कुशल बिटमैप संचालन और दृश्यता जाँच को सक्षम करता है। BM25 Top K क्वेरी के लिए, हम संशय में थे।

स्रोत: Hacker News · HeadlinesBriefing द्वारा सारांशित