AI News HubLIVE
站内改写2 分鐘閱讀

BlitzGraph:為LLM代理構建的圖數據庫,Supabase的圖替代方案

BlitzGraph 是一個專為 AI 代理設計的圖數據庫,支持多類型實體、雙向關係和類型化 JSON 查詢語言 BQL。它主張用實體和關係建模現實,而非表格,並提供了全文搜索、引用完整性、智能事務等內置功能,旨在成為 Supabase 的圖版本。

來源Hacker News AI作者: lveillard

BlitzGraph 是一款專為大型語言模型代理設計的圖數據庫,其核心理念是用實體和關係來建模現實,而非傳統的表格。它提供了多類型實體、雙向關係、類型化 JSON 查詢語言(BQL)等一系列特性,旨在解決現有數據庫在代理場景下的痛點。

核心特性

  • 多類型實體:一個實體可以同時擁有多種類型,比如一個用户既可以是一般用户,也可以是管理員和版主。實體隨時間的推移通過獲得和失去類型來演化,無需修改表結構或進行遷移。
  • 雙向關係:關係在存儲時同時維護兩個方向,因此查詢“誰寫了這篇文章”和“這個用户寫了什麼”具有相同的成本和索引效率(O(1)),無需反向查找表或額外查詢。
  • BQL 查詢語言:BlitzGraph 的查詢語言 BQL 基於類型化 JSON,代理和代碼構建的是結構化數據對象,而非 SQL 字符串。BQL 支持過濾器、嵌套展開、投影和全文搜索,在一個請求中完成,避免了 N+1 問題。
  • 豐富的內容類型:支持 EMAIL、URL、DATE、JSON、FLEX 等類型,而非單一的 varchar,數據庫層面內置驗證,讓模式更準確地描述數據。
  • 引用完整性:引擎層面強制執行基數約束和 onDelete 策略(級聯、限制、取消鏈接),保持圖的默認一致性。
  • 內置全文搜索:原生的 BM25 搜索引擎,支持自動補全、前綴、精確和全詞幹模式,無需 Elasticsearch 等外部服務,且可在圖遍歷中使用。
  • 智能事務:變更操作經過拓撲排序,並在最終結果上驗證,而非逐行執行。業務規則檢查整個事務的最終狀態,確保複雜多實體操作要麼全部成功,要麼全部回滾,始終一致。
  • 數據庫中的業務邏輯:驗證、計算字段、轉換和效果都在模式中定義,業務規則與數據共存,而非分散在中間件和應用代碼中。

與其他數據庫的對比

BlitzGraph 與 Supabase、Convex、MongoDB、Firebase 和 Neo4j 進行了對比。它在多類型組合、雙向 O(1) 反向查找、代理沙箱等方面具有獨特性。在數據模型上,它在一個引擎中融合了圖、文檔和關係特性,支持嵌套圖讀取($expand)、引用完整性、內置全文搜索、內容類型驗證以及文件原生值。開發者體驗方面,BQL 是代理可組合的結構化查詢,業務邏輯可直接嵌入模式,智能事務確保拓撲一致。

然而,在實時/直播查詢、生產年限和社區生態方面,Supabase、Convex、Firebase 等目前更具優勢。BlitzGraph 坦誠地指出了這些差距。

適用場景

BlitzGraph 特別適合需要複雜實體關係建模的應用,尤其是 AI 代理需要自主查詢和操作數據的場景。其設計目標包括:減少代理生成錯誤查詢的概率、消除實體演化時的遷移痛苦、以及提供與真實世界關係一致的數據模型。對於需要頻繁變更模式或處理多態實體的團隊,BlitzGraph 提供了一個有力的替代方案。