2 poin oleh GN⁺ 29 hari lalu | 1 komentar | Bagikan ke WhatsApp
  • Database graf berperforma tinggi yang dikembangkan dengan Rust, berjalan baik dalam mode embedded maupun server sambil mempertahankan penggunaan memori yang rendah
  • Mendukung baik model Labeled Property Graph (LPG) maupun RDF triple, sehingga dapat digunakan secara luas mulai dari jejaring sosial hingga semantic web
  • Mendukung berbagai bahasa kueri seperti GQL, Cypher, Gremlin, GraphQL, SPARQL, SQL/PGQ, memberi pengembang banyak pilihan
  • Menyediakan set fitur lengkap seperti pencarian vektor berbasis HNSW, transaksi ACID, isolasi snapshot MVCC, dan binding multibahasa
  • Terintegrasi dengan framework AI seperti LangChain, LlamaIndex, MCP, mendukung penggabungan data graf dan aplikasi AI

Ikhtisar Grafeo

  • Grafeo adalah database graf berperforma tinggi yang dikembangkan dengan Rust, berjalan dalam mode embedded maupun server dengan penggunaan memori yang rendah
  • Mencatat performa terbaik di LDBC Social Network Benchmark, serta mendukung eksekusi tervectorisasi, adaptive chunking, dan operasi yang dioptimalkan SIMD
  • Mendukung dua model data, yaitu Labeled Property Graph (LPG) dan RDF triple, sehingga cocok untuk berbagai domain mulai dari jejaring sosial hingga semantic web
  • Menyediakan set fitur lengkap yang mencakup transaksi ACID, isolasi snapshot berbasis MVCC, binding multibahasa, dan ekosistem integrasi AI

Fitur utama

  • Arsitektur berperforma tinggi

    • Ditulis dengan core engine berbasis Rust tanpa dependensi C, dengan opsi penggunaan jemalloc/mimalloc serta library C TLS
    • Mencakup push-based execution engine, pemrosesan paralel per morsel, penyimpanan kolumnar, kompresi per tipe, dan query optimizer berbasis biaya
    • Mendukung eksekusi kueri yang efisien melalui data skipping dengan zone map
  • Dukungan banyak bahasa kueri

    • Mendukung GQL, Cypher, Gremlin, GraphQL, SPARQL, dan SQL/PGQ
    • Pengguna dapat memilih bahasa yang sesuai berdasarkan karakter proyek dan tingkat keahlian pengembang
    • GQL adalah pattern matching deklaratif standar ISO, Cypher menggunakan pola ASCII-art yang kompatibel dengan Neo4j, dan Gremlin memakai gaya traversal berbasis Apache TinkerPop
    • GraphQL mendukung LPG dan RDF, SPARQL adalah bahasa kueri RDF standar W3C, dan SQL/PGQ mendukung sintaks SQL:2023 GRAPH_TABLE
  • Model data

    • Model LPG menggunakan struktur node dan edge dengan label serta properti, dan mendukung properti dengan berbagai tipe data
    • Model RDF menggunakan struktur triple subject-predicate-object, serta memungkinkan kueri efisien melalui indeks SPO/POS/OSP
    • RDF patuh pada standar W3C, sehingga cocok untuk semantic web, ontologi, dan linked data
  • Fitur pencarian vektor

    • Menyediakan pencarian kemiripan berbasis HNSW, serta mendukung scalar, binary, dan product quantization
    • Dapat menggabungkan traversal graf dengan pencarian kemiripan semantik
  • Embedded dan standalone

    • Dapat ditanam langsung ke aplikasi tanpa dependensi eksternal, atau dijalankan sebagai server mandiri dengan REST API dan web UI
    • Dapat diskalakan dari edge device hingga cluster produksi berskala besar
  • Transaksi dan keamanan memori

    • Menjamin transaksi ACID penuh dengan isolasi snapshot berbasis MVCC
    • Mendukung konkurensi yang stabil melalui memory safety Rust dan desain fearless concurrency
  • Binding multibahasa

    • Mendukung Python (PyO3), Node.js/TypeScript (napi-rs), Go (CGO), C (FFI), C# (.NET 8 P/Invoke), Dart (dart:ffi), dan WebAssembly (wasm-bindgen)
    • Memungkinkan penggunaan engine Grafeo yang sama di berbagai lingkungan bahasa
  • Ekosistem dan integrasi

    • Terintegrasi dengan framework AI seperti LangChain, LlamaIndex, dan MCP
    • Menyediakan widget notebook interaktif, visualisasi graf WebAssembly berbasis browser, server mandiri dengan web UI, dan alat benchmarking

Instalasi dan mulai

  • Perintah instalasi

    • 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
  • Contoh mulai cepat

    • Pada contoh Python, setelah membuat database in-memory, node dan edge ditambahkan dengan sintaks INSERT dan MATCH, lalu relasi dikueri
    • Pada contoh Rust, database dibuat dengan GrafeoDB::new_in_memory() dan kueri yang sama dijalankan melalui session

Lisensi

  • Grafeo didistribusikan dengan lisensi Apache-2.0

1 komentar

 
GN⁺ 29 hari lalu
Komentar Hacker News
  • Ingin tahu apakah Grafeo sudah mengimplementasikan benchmark LDBC
    Saya ingin membandingkannya dengan database graf lain. Terutama penasaran dengan performa kueri OLAP
    Tulisan terkait: Neo4j alternatives in 2026

  • Kami baru-baru ini merilis sintaks cypher untuk gfql
    Ini adalah mesin kueri cypher OSS berbasis CPU/GPU pertama yang bisa dijalankan langsung di atas dataframe
    Umumnya dipakai bersama DB skalabel seperti Databricks atau Splunk untuk keamanan, deteksi fraud, analisis event, pipeline embedding ML+AI, dan lain-lain
    Tanpa instalasi DB, satu GPU bisa memproses lebih dari 1 miliar edge per detik, dan bisa langsung diterapkan ke data Apache Arrow atau Parquet
    Lihat dokumentasi benchmark GFQL
    Core yang tervectorisasi sudah memenuhi lebih dari setengah TCK, dan saat ini kami sedang menambahkan bagian yang lebih kompleks
    Sudah dipakai di produksi oleh berbagai institusi seperti NATO, bank, dan pemerintah AS, dan kini telah di-open-source-kan agar developer lain maupun LLM bisa memakainya langsung

  • Ingin tahu apakah ada yang benar-benar mengenal DB ini, Grafeo
    Dari riwayat commit, proyek ini terlihat hampir seperti proyek yang ditulis AI. Satu orang melakukan commit 100 ribu hingga 200 ribu baris per minggu
    Dalam kasus seperti ini, kualitas kode sering rapuh atau terlalu kompleks
    Ingin tahu apakah ada yang benar-benar memakainya, atau ini hanya eksperimen portofolio AI

    • Sayalah orang yang membuat Grafeo. Saya juga tidak tahu kenapa ini mulai tersebar ke mana-mana, tapi saya bisa menjawab pertanyaannya
      Versi awalnya adalah rekonstruksi dari DB graf lokal saya sendiri bernama Graphos
      Engine, core, binding Python, dan test ditulis manual, sementara dokumentasi dan sebagian konfigurasi dibuat AI
      Bagian yang dibuat AI sudah saya tinjau, tetapi memang belum berada pada level produksi
      Ini dimulai dari ketidakpuasan saya terhadap Neo4j dan terinspirasi dari percakapan dengan Hännes dari DuckDB
      Karena penggunaan memori LadybugDB terlalu tinggi, saya mencoba membuatnya sendiri, dan sejauh ini saya puas memakainya secara pribadi
      Tidak ada tujuan komersial, saya merilisnya sebagai open source, dan kontribusi sangat diterima
    • Jumlah kode sebesar ini tergolong banyak untuk struktur DB graf yang tipikal
      Engine graf sangat bergantung pada desain yang teliti, jadi saya khawatir soal kualitas desain di detailnya
    • Menggunakan DB yang ditulis LLM terdengar seperti mimpi buruk. Bahkan DB besar saja sudah sulit ditangani
    • Dalam 3 bulan terakhir, jumlah DB graf buatan LLM meledak
      Di gdotv.com yang saya kelola, semakin sulit menentukan mana yang perlu didukung
    • Commit 100 ribu baris per minggu adalah red flag. Kemungkinan besar itu hasil generasi kode atau formatting, dan bisa berarti reliabilitas desain maupun test-nya rendah
  • Karena jumlah DB graf terlalu banyak dan membingungkan, saya membuat situs baru gdb-engines.com
    Tiap DB diklasifikasikan dan dirangkum

    • Akan bagus kalau tabelnya membedakan embedded atau server-based
    • Saya penasaran apakah daftar ini dibuat dengan LLM atau tidak
  • Saya penasaran apakah ada DB graf yang benar-benar bisa diandalkan pada skala produksi
    Baik open source maupun produk vendor, selain sesuatu yang sangat khusus seperti TAO milik Meta

    • Saya agak enggan memberi jawaban langsung, tetapi memilih DB graf memang masalah yang sangat sulit
      Saya membahas topik ini di presentasi FOSDEM 2025 saya
    • Untuk open source, JanusGraph, DGraph, Apache AGE, HugeGraph, MemGraph, ArcadeDB layak dipertimbangkan
    • Saya memimpin pengembangan TypeDB. Kami tidak memakai Cypher, tetapi tetap berjalan baik di produksi skala besar
      Sebagian besar DB OSS mengikuti semacam model open-core
    • Sistem graf Facebook bukan hanya TAO, tetapi sebuah ekosistem yang lebih besar
      Tulisan terkait: A brief history of graphs at Facebook
    • Saya sudah mengintegrasikan puluhan DB graf di gdotv.com, dan kebanyakan memang siap produksi
      Khususnya teknologi seperti JanusGraph yang sudah lama ada tetapi terus dipakai perusahaan
  • Sekarang sudah ada 25 DB graf yang ikut menunggangi tren AI/LLM boom
    Kalau ditulis dengan Rust biasanya lebih mudah mendapat perhatian di HN, tetapi LadybugDB memilih untuk tidak menempuh jalan itu
    Sebagai gantinya, fokusnya pada perbaikan bertahap dan Cypher bertipe kuat saja
    Diskusi terkait: LadybugDB Discussion #141

    • Saya penasaran apakah LadybugDB sendiri bukan salah satu dari 25 proyek itu
    • Itu keputusan yang bagus, karena yang membuat pelanggan datang adalah kematangan produknya, bukan bahasanya
    • Perdebatan bahasa memang melelahkan, tetapi Rust memang punya keuntungan nyata dalam pengembangan DB dari sisi konkurensi dan pencegahan korupsi data
      Ini sebaiknya dinilai berdasarkan alasan teknis, bukan sekadar “perasaan”
  • Grafeo jelas merupakan proyek yang ditulis dengan bantuan AI
    Jumlah kodenya besar, tetapi tidak terlihat seperti hasil generasi AI yang sepenuhnya dangkal, dan desainnya juga unik
    Test JS tampak sepenuhnya dihasilkan AI, dan kualitas beberapa subrepo tidak konsisten
    Dari sisi lisensi Apache 2.0 dan fitur-fiturnya proyek ini menarik, tetapi tampaknya membutuhkan lebih banyak maintainer

  • Saya penasaran apa perbedaannya dibandingkan Helix DB
    Dan saya juga bertanya-tanya kenapa harus mengueri DB dengan GraphQL

  • Ungkapan “menguji benchmark LDBC dengan graph-bench” terdengar seolah itu benchmark yang independen
    Kalau itu alat buatan sendiri, sebaiknya dijelaskan secara jelas, dan mungkin minta masukan agar proyek lain juga bisa dibandingkan secara adil

    • Mungkin kalimat itu juga ditulis otomatis oleh AI
      Itu pola yang sangat khas dari codebase hasil generasi AI yang belakangan sering muncul di HN
      Jika ada commit lebih dari 100 ribu baris per minggu, kecil kemungkinan manusia benar-benar memahami isi kodenya dengan baik
  • Saya pernah mencoba Grafeo dan library terkait grafeo_langchain bersama model Ollama lokal
    Hasilnya sekitar setengah berhasil
    Saya masih menyukai dan memakai DB graf Kuzu berbasis Python

    • Saya penasaran apakah gdotv.com sudah pernah mencoba Kuzu
      Kuzu memang tidak lagi dikembangkan, tetapi tetap stabil sehingga dukungannya masih dipertahankan
      Migrasi ke LadybugDB (fork utama) juga mudah, jadi layak dipertimbangkan