Tiger Data ได้เปิดตัว pg_vectorsearch ซึ่งเป็นส่วนขยายสำหรับ PostgreSQL สำหรับการค้นหาความคล้ายคลึงของเวกเตอร์ในรูปแบบ Open Source และขณะนี้อยู่ในช่วง alpha แล้ว
ตามที่ Erik Nordström, Matvey Arye และ Noah Hein จาก Tiger Data อธิบายว่า PRISM จะจัดกลุ่มเวกเตอร์ที่คล้ายกันเป็นพาร์ทิชันและจัดเก็บในรูปแบบที่บีบอัด แทนที่จะเชื่อมต่อทุกเวกเตอร์เข้ากับเพื่อนบ้านในกราฟ
ดัชนีใน pg_vectorsearch ผสานรวมการจัดกลุ่มแบบลำดับชั้น (hierarchical clustering) เวกเตอร์ที่ถูกบีบอัด และ RaBitQ quantization เพื่อลดการคำนวณระยะทางที่มีค่าใช้จ่ายสูง
แม้ว่าการทดสอบของ Tiger Data จะยังไม่ได้รับการตรวจสอบอย่างอิสระ แต่พวกเขาก็เปรียบเทียบด้วยการวัด recall@10 กับผลลัพธ์การค้นหาที่แน่นอน โดยใช้ pgvector’s 16-bit halfvec สำหรับ HNSW
ผู้ใช้งานมองเห็นศักยภาพในการค้นหาเวกเตอร์ที่รวดเร็วกว่าด้วยการใช้หน่วยความจำน้อยลงภายใน PostgreSQL แต่ก็ตั้งคำถามเกี่ยวกับการตรวจสอบมาตรฐานที่เป็นอิสระ และการขาดการรองรับการค้นหาแบบกรอง (filtered searches)
ศัพท์ที่ควรรู้
- pg_vectorsearch – ส่วนขยายสำหรับ PostgreSQL ที่ช่วยในการค้นหาความคล้ายคลึงของเวกเตอร์
- Vector Search – เทคนิคการค้นหาข้อมูลโดยการเปรียบเทียบความใกล้เคียงของเวกเตอร์แทนการจับคู่แบบตรงตัว
- HNSW – หนึ่งในอัลกอริทึมค้นหาเพื่อนบ้านใกล้เคียงโดยประมาณ (approximate nearest-neighbor algorithm) ที่ใช้ในการค้นหาข้อมูลขนาดใหญ่
- PRISM – อัลกอริทึมที่ใช้ในการจัดกลุ่มเวกเตอร์ที่คล้ายกันเพื่อจำกัดขอบเขตการค้นหา
- RaBitQ quantization – เทคนิคที่ใช้ในการลดการคำนวณระยะทางซึ่งมีค่าใช้จ่ายสูงในการค้นหา
ที่มา: infoq.com