· kaynak Hacker News – Front Page (hnrss.org)
LatticeDB: vektör ve tam metin araması olan tek dosyalık gömülü bir grafik veritabanı
Yeni bir açık kaynak veritabanı, özellik grafı (property graph) geçişini, HNSW vektör aramasını ve BM25 tam metin indekslemesini tek dosyalık gömülü bir motonda birleştiriyor; Python, TypeScript ve Go bağlantıları mevcut.
Yeni bir açık kaynak proje olan LatticeDB, Hacker News ana sayfasına yerleşti; özetini "grafik veritabanları için SQLite" diye ifade edebileceğimiz bir tanıtım pitchesiyle. GitHub'daki proje README'sine göre, tüm veri setini — grafik yapısı, vektör indeksleri ve metin indeksleri — tek bir taşınabilir dosyada tutan, sunucu süreci ve kurulum gerektirmeyen gömülü bir özellik grafı (property graph) veritabanı.
Tek motor, üç arama modu
Motunun temel iddiası birleştirme. Bir grafik deposu, bir vektör veritabanı ve bir tam metin arama servisini yan yana çalıştırmak yerine LatticeDB; ilişki geçişini, HNSW vektör benzerliğini ve BM25 anahtar kelime aramasını aynı veri üzerinde tek bir sorgu katmanı aracılığıyla sunuyor. Sözdizimi, Cypher kullanmış herkese tanıdık gelecek: WHERE, RETURN, ORDER BY ve LIMIT cümlecikleriyle MATCH desenleri. İki operatör bunu genişletiyor — bir vektör mesafesi karşılaştırması (<=>) ve bir tam metin eşleşmesi (@@) — böylece tek bir ifade; bir sorgu embedding'ine yakın parçaları bulup, üst belgelerini ifadeye göre filtreleyebiliyor ve ardından yazar düğümüne doğru ilerleyebiliyor.
Ayrıca bir eventing hikâyesi de var: dayanıklı adlandırılmış akışlar ve yerleşik grafik changefeed'i, sıradan grafik yazımlarıyla aynı transaction ve write-ahead-log yolunu paylaşıyor; böylece bir uygulama, sorguladığı dosyanın ta kendisinden değişiklik olaylarını tüketebiliyor.
Projenin kendi bildirdiği benchmark'lar
README, Apple M1 üzerinde tek iş parçacıklı çalışmalardan gecikme figürleri yayımlıyor ve başkalarının bunları yeniden üretebilmesi için bir derleme komutu içeriyor. Düğüm aramaları 0,13 mikrosaniye (saniyede kabaca 7,9 milyon işlem), düğüm oluşturma 0,65 mikrosaniye ve kenar geçişi 9 mikrosaniye olarak belirtiliyor. Bir milyon embedding üzerinde vektör aramasının tam geri çağırma (recall) ile 0,83 milisaniyede tamamlandığı bildiriliyor. Bunlar projenin kendi rakamları ve bağımsız olarak doğrulanmadı. Depoda referans verilen derleme komutları, çekirdek motorun Zig ile yazıldığına işaret ediyor.
Bağlantılar ve kurulum
LatticeDB; Python, TypeScript/Node.js ve Go için istemci kütüphaneleriyle birlikte geliyor, ayrıca tek satırlık bir shell betiğiyle kurulan bir CLI sunuyor. Yayımlanan Python wheel'leri ve npm paketinin, desteklenen platformlarda yerel kütüphaneyi paketlemesi bekleniyor; Go ise depoda belgelenen bir cgo iş akışıyla bağlanıyor ve bu, çalıştırılabilir bir grafik, vektör ve metin erişimi örneğini de içeriyor. README ayrıca embedding yardımcılarını ayrı modüllere taşıyan yakın tarihli bağlantı yüzeyi temizliklerine dikkat çekiyor ve tercih edilen import'lar için bir göç (migration) rehberi sunuyor.
Bilinçli kısıtlamalar
Tasarım yerel öncelikli (local-first) ve tek yazıcılı: tek bir makinede sahiplik süreci tek, dayanıklılık WAL ile destekleniyor. Çok istemcili sunucu modu yok, dolayısıyla ayrı süreçlerden eşzamanlı erişim tasarım gereği kapsam dışı. README konumlandırma konusunda da dikkatli — Graph RAG, agent belleği ve yerel bilgi araçlarını, veritabanının ne için olduğunun tanımı olarak değil, motorun temelleri (primitive) üzerine inşa edilmiş örnek iş yükleri olarak adlandırıyor.
Neden önemli
Retrieval-augmented generation ve agent yığınları tipik olarak bir vektör deposu, bir anahtar kelime indeksi ve giderek artan biçimde bir grafik veritabanı bir araya getiriyor — üç servis, üç tutarlılık hikâyesi, üstlenilecek üç şey. LatticeDB'nin bahsi şu: tek makineli iş yükleri için üçünün de SQLite'ın ilişkisel depolamayı gömülebilir bir kütüphaneye dönüştürdüğü gibi tek bir dosyaya ve tek bir sorgu diline indirgenebileceği. Yayımlanan rakamlar yazarın kendi benchmark'larının ötesinde tutarsa, bu, yerel bilgi araçlarını ve Graph RAG deneylerini kurmayı ve sunmayı çarpıcı biçimde ucuzlatıyor.
Uyarılar gerçek: bu genç bir proje, performans rakamları projenin kendi bildirdiği değerler, tek yazıcı modeli paylaşımlı çok süreçli dağıtımları dışlıyor ve alan, SQLite artı uzantılar ile bu iş yüklerinin çoğuna zaten hizmet veren amaçlı inşa edilmiş vektör depolarıyla dolu. Yine de SQLite şablonunu ilişki yoğun, yapay zekâya komşu veriye uygulamak cazip bir fikir; projenin çerçevesi — önce temel yapılar (primitive), sonra kullanım durumları — onun dar çaplı bir RAG aksesuarı değil, genel amaçlı bir aracı hedeflediğini düşündürüyor.
- #graph-database
- #vector-search
- #embedded-database
- #open-source
- #rag