- 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
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
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
Engine graf sangat bergantung pada desain yang teliti, jadi saya khawatir soal kualitas desain di detailnya
Di gdotv.com yang saya kelola, semakin sulit menentukan mana yang perlu didukung
Karena jumlah DB graf terlalu banyak dan membingungkan, saya membuat situs baru gdb-engines.com
Tiap DB diklasifikasikan dan dirangkum
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 membahas topik ini di presentasi FOSDEM 2025 saya
Sebagian besar DB OSS mengikuti semacam model open-core
Tulisan terkait: A brief history of graphs at Facebook
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
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
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
Kuzu memang tidak lagi dikembangkan, tetapi tetap stabil sehingga dukungannya masih dipertahankan
Migrasi ke LadybugDB (fork utama) juga mudah, jadi layak dipertimbangkan