2 ポイント 投稿者 GN⁺ 2026-03-23 | 1件のコメント | WhatsAppで共有
  • Rustで開発された高性能グラフデータベースで、組み込みモードとサーバーモードの両方で動作し、低いメモリ使用量を維持
  • Labeled Property Graph(LPG)RDFトリプル モデルの両方をサポートし、ソーシャルネットワークからセマンティックWebまで幅広く活用可能
  • GQL, Cypher, Gremlin, GraphQL, SPARQL, SQL/PGQ など多様なクエリ言語をサポートし、開発者の選択肢が広い
  • HNSWベースのベクトル検索ACIDトランザクションMVCCスナップショット分離多言語バインディング など、完全な機能セットを提供
  • LangChain, LlamaIndex, MCP などのAIフレームワークと統合され、グラフデータとAIアプリケーションの組み合わせを支援

Grafeo 概要

  • Grafeo はRustで開発された高性能グラフデータベースで、組み込みモードとサーバーモードの両方で動作し、低いメモリ使用量を維持
  • LDBC Social Network Benchmarkで最高性能を記録しており、ベクトル化実行適応型チャンク化SIMD最適化演算 をサポート
  • Labeled Property Graph(LPG)RDFトリプル の2種類のデータモデルをどちらもサポートし、ソーシャルネットワークからセマンティックWebまで多様なドメインに適合
  • ACIDトランザクションMVCCベースのスナップショット分離多言語バインディングAI統合エコシステム を含む完全な機能セットを提供

主な特徴

  • 高性能アーキテクチャ

    • Rustベースのコアエンジンで書かれており、C依存がなく、オプションでjemalloc/mimallocおよびTLS Cライブラリを使用可能
    • Pushベースの実行エンジンmorsel単位の並列処理カラム型ストレージ型別圧縮コストベースクエリオプティマイザ を含む
    • Zone map を活用したデータスキッピングにより、効率的なクエリ実行を支援
  • 複数クエリ言語のサポート

    • GQLCypherGremlinGraphQLSPARQLSQL/PGQ をすべてサポート
    • プロジェクトの性格や開発者の習熟度に応じて適切な言語を選択可能
    • GQLはISO標準の宣言的パターンマッチング、CypherはNeo4j互換のASCII-artパターン、GremlinはApache TinkerPopベースのトラバーサルスタイル
    • GraphQLはLPGとRDFの両方をサポートし、SPARQLはW3C標準のRDFクエリ言語、SQL/PGQはSQL:2023 GRAPH_TABLE構文をサポート
  • データモデル

    • LPGモデル はラベルとプロパティを持つノードおよびエッジ構造を使用し、多様なデータ型のプロパティをサポート
    • RDFモデルsubject-predicate-object トリプル構造を使用し、SPO/POS/OSPインデックス により効率的なクエリ実行が可能
    • RDFはW3C標準準拠で、セマンティックWeb、オントロジー、リンクトデータに適している
  • ベクトル検索機能

    • HNSWベースの類似検索を提供し、スカラー・バイナリ・プロダクト量子化 をサポート
    • グラフ探索と意味的類似検索を組み合わせ可能
  • 組み込みおよびスタンドアロン実行

    • 外部依存なしでアプリケーションに直接組み込むことも、REST APIとWeb UI を備えたスタンドアロンサーバーとして実行することも可能
    • エッジデバイスから大規模な本番クラスタまで拡張可能
  • トランザクションとメモリ安全性

    • MVCCベースのスナップショット分離により完全なACIDトランザクションを保証
    • Rustのメモリ安全性fearless concurrency設計により、安定した並行処理を支援
  • 多言語バインディング

    • Python(PyO3)Node.js/TypeScript(napi-rs)Go(CGO)C(FFI)C#(.NET 8 P/Invoke)Dart(dart:ffi)WebAssembly(wasm-bindgen) をサポート
    • 多様な言語環境で同じGrafeoエンジンを活用可能
  • エコシステムと統合

    • LangChainLlamaIndexMCP などのAIフレームワークと統合
    • インタラクティブなノートブックウィジェットブラウザベースのWebAssemblyグラフ可視化Web UIを含むスタンドアロンサーバーベンチマークツール を提供

インストールと開始

  • インストールコマンド

    • Python: uv add grafeo
    • Node.js: npm install @grafeo-db/js
    • Go: go get github.com/GrafeoDB/grafeo/crates/bindings/go
    • Rust: cargo add grafeo
    • .NET: dotnet add package GrafeoDB
    • Dart: grafeo: ^0.5.21
    • WebAssembly: npm install @grafeo-db/wasm
  • クイックスタート例

    • Pythonの例では、インメモリデータベースを作成した後、INSERT および MATCH 構文でノードとエッジを追加し、関係をクエリ
    • Rustの例では、GrafeoDB::new_in_memory() でデータベースを作成し、セッションを通じて同じクエリを実行

ライセンス

  • GrafeoはApache-2.0ライセンスで配布

1件のコメント

 
GN⁺ 2026-03-23
Hacker Newsのコメント
  • GrafeoがLDBCベンチマークを実装しているのか気になる
    他のグラフデータベースと比較してみたい。特にOLAPクエリの性能が気になる
    関連記事: Neo4j alternatives in 2026

  • 私たちは最近、gfql向けCypher構文を公開した
    これはデータフレーム上でそのまま実行できる、初のOSS CPU/GPUベースCypherクエリエンジン
    DatabricksやSplunkのようなスケーラブルDBと組み合わせて、主にセキュリティ、不正検知、イベント分析、ML+AI埋め込みパイプラインなどに使われている
    DBをインストールせずに単一GPUで毎秒10億本以上のエッジを処理でき、Apache ArrowやParquetデータにもそのまま適用可能だ
    GFQLベンチマーク文書を参照
    ベクトル化コアはすでにTCKの半分以上を満たしており、現在はさらに複雑な部分を追加中だ
    NATO、銀行、米国政府などさまざまな組織ですでに本番運用されており、いまはオープンソースとして公開し、他の開発者やLLMが直接活用できるようにしている

  • このDB(Grafeo)について知っている人がいるのか気になる
    コミット履歴を見ると、ほぼAIが書いたプロジェクトに見える。1人が週あたり10万〜20万行をコミットしていた
    こういう場合、コード品質が弱かったり、過度に複雑だったりすることが多かった
    実際に使っている人がいるのか、それとも単なるAIポートフォリオ実験なのか知りたい

    • 私がGrafeoを作った本人だ。なぜあちこちに広まっているのかは分からないが、質問には答えられる
      初期バージョンは、私が自作したGraphosというローカルグラフDBを再構成したものだ
      エンジンとコア、Pythonバインディング、テストは手作業で書き、ドキュメントと一部の構成はAIが生成した
      AIが作った部分は確認したが、まだ本番レベルではない
      Neo4jへの不満と、DuckDBのHännesとの会話から着想を得て始めた
      LadybugDBのメモリ使用量が高すぎたので自分で作ってみたもので、現在は個人的に満足して使っている
      商用目的はなく、オープンソースとして公開しており、貢献者を歓迎する
    • この程度のコード量は、典型的なグラフDBの構造としては多い
      グラフエンジンは緻密な設計が重要なので、細部の設計品質が気になる
    • LLMが書いたDBを使うのは悪夢になりそうだ。大規模DBですら扱いが難しいのだから
    • ここ3か月でLLMが作ったグラフDBが爆発的に増えた
      私が運営している gdotv.com でも、どれをサポートするか決めるのがますます難しくなっている
    • 週10万行のコミットはレッドフラグだ。大半がコード生成物やフォーマット変更の可能性が高く、設計やテストの信頼性が低いかもしれない
  • グラフDBが多すぎて混乱したので、新しいサイト gdb-engines.com を作った
    各DBを分類して整理している

    • 表に組み込み型かサーバー型かの区分があるとよいと思う
    • ひょっとしてこのリストはLLMで生成したものではないか気になる
  • 実際に本番規模で信頼できるグラフDBがあるのか気になる
    オープンソースやベンダー製品の中で、MetaのTAOのような特殊なものを除いて知りたい

    • 直接の回答は避けたいが、グラフDB選びは本当に難しい問題だ
      私のFOSDEM 2025発表でこのテーマを扱っている
    • オープンソースならJanusGraph, DGraph, Apache AGE, HugeGraph, MemGraph, ArcadeDBが適している
    • 私はTypeDBの開発を率いている。Cypherは使わないが、大規模本番環境でもうまく動く
      ほとんどのOSS DBはある程度オープンコアモデルに従っている
    • FacebookのグラフシステムはTAOだけではなく、より大きなエコシステム
      関連記事: A brief history of graphs at Facebook
    • gdotv.com で数十個のグラフDBを統合してきたが、その大半は本番レベルだ
      特にJanusGraphのように古くても企業で継続して使われている技術もある
  • 最近のAI/LLMブームに便乗したグラフDBが25個もある
    Rustで書けばHNで注目されるが、LadybugDBはそうしないことにした
    その代わり、段階的改善強い型付けのCypherの1点に集中したい
    関連議論: LadybugDB Discussion #141

    • LadybugDBもその25個のプロジェクトの1つではないのか気になる
    • 言語よりも製品自体の完成度が顧客を生むという点で、よい判断だ
    • 言語論争にはうんざりだが、RustはDB開発で並行性・データ破損防止の面で実際の利点がある
      単なる「感情」ではなく、技術的根拠で評価すべきだ
  • Grafeoは確かにAI支援で書かれたプロジェクト
    コード量は多いが、単純なAI生成物には見えず、設計も独特だ
    JSテストは完全にAI生成に見え、一部サブリポジトリの品質にはばらつきがある
    Apache 2.0ライセンスや機能面では興味深いが、より多くのメンテナーが必要そうだ

  • Helix DBと比べて何が違うのか気になる
    そして、なぜわざわざGraphQLでDBをクエリする必要があるのかも疑問だ

  • 「graph-benchでLDBCベンチマークをテストした」という表現は、まるで独立したベンチマークのように聞こえる
    自作ツールならその点を明確にし、他のプロジェクトとも公平に比較できるようフィードバックを受けるのがよさそうだ

    • たぶんその文もAIが自動生成したのだと思う
      最近HNによく上がってくるAI生成コードベースの典型的なパターンだ
      週10万行以上コミットしているなら、人間がコード内容をきちんと理解している可能性は低い
  • Grafeoと関連ライブラリgrafeo_langchainをローカルのOllamaモデルと一緒に使ってみた
    結果は半分成功といったところだった
    依然としてPythonベースのKuzuグラフDBが好きで使っている

    • gdotv.com でKuzuを使ったことがあるか気になる
      Kuzuはもう開発されていないが安定しているので、サポートは維持している
      LadybugDB(メインフォーク)への移行も簡単なので、検討する価値はある