« Tüm yayınlar

GFQL: Polars üzerinde CPU ve GPU'da Cypher, graf veritabanı gerekmiyor

GFQL, Cypher graf sorgularını Polars üzerinde CPU ve GPU'da, graf veritabanı olmadan çalıştırıyor; LDBC'de Neo4j ve Memgraph'tan çok daha hızlı.

Graphistry'nin açık kaynaklı GFQL motoru, yeni lazy-mode Polars çalışma zamanıyla Cypher tarzı graf sorgularını doğrudan pandas, Polars, cuDF, Arrow ve Parquet üzerinde çalıştırıyor; ayrı bir graf veritabanı kurmaya gerek kalmıyor. Yeni sürüm, Polars'ın NVIDIA RAPIDS tabanlı GPU çalışma zamanını da destekliyor, böylece aynı sorgu kodu CPU'dan GPU'ya sorunsuzca taşınabiliyor.

Güncelleme; toplu (bulk) sorgu planlaması, sorgu başına 0-2ms'ye inen gecikme için milisaltı LALR(1) ayrıştırıcı ve ilk kez sunulan komşuluk indeksleriyle geliyor. Önceki eager (istekli) yürütme modelinde yüzlerce ara dataframe çağrısı tek tek gönderiliyordu; bu da küçük, milisaniyelik graf sorgularında ciddi ek yük yaratıyordu. Yeni mimari bu sorunu ortadan kaldırarak GFQL'i gerçek zamanlı uyarı, etkileşimli araştırma ve ajan tabanlı iş akışları için uygun hale getiriyor.

Aynı donanımda yapılan LDBC ve Pokec sosyal graf benchmark'larında GFQL, OLTP tarzı arama sorgularında Neo4j ve Memgraph'a göre 1,7-85 kat, OLAP sorgularının 9'da 7'sinde Kuzu'ya göre (bazı durumlarda 200 kata varan farkla) daha hızlı çıkıyor. Mühendisler için önemli olan nokta: graf sorgularını artık ayrı bir veritabanı katmanı kurmadan, mevcut Python ve dataframe iş akışlarının içinde, pip install graphistry ile başlatabilmeleri.

Bu sentez, kaynağından yapay zeka tarafından üretildi; insan editör ya da elle onay adımı yoktur. Nasıl çalışıyoruz