- Rust ile geliştirilmiş yüksek performanslı bir grafik veritabanıdır; hem gömülü hem de sunucu modunda çalışır ve düşük bellek kullanımını korur
- Labeled Property Graph (LPG) ve RDF triple modellerinin ikisini de destekleyerek sosyal ağlardan semantik web'e kadar geniş bir kullanım alanı sunar
- GQL, Cypher, Gremlin, GraphQL, SPARQL, SQL/PGQ gibi çeşitli sorgu dillerini destekler; bu da geliştiricilere geniş bir seçim alanı sağlar
- HNSW tabanlı vektör arama, ACID transaction'lar, MVCC snapshot isolation, çoklu dil binding'leri gibi eksiksiz bir özellik seti sunar
- LangChain, LlamaIndex, MCP gibi yapay zeka framework'leriyle entegre olarak grafik verileri ile yapay zeka uygulamalarının birleştirilmesini destekler
Grafeo'ya genel bakış
- Grafeo, Rust ile geliştirilmiş yüksek performanslı bir grafik veritabanıdır; hem gömülü hem de sunucu modunda çalışır ve düşük bellek kullanımını korur
- LDBC Social Network Benchmark'ta en yüksek performansı kaydetmiş olup vektörleştirilmiş yürütme, uyarlanabilir chunking, SIMD ile optimize edilmiş işlemler destekler
- Labeled Property Graph (LPG) ve RDF triple olmak üzere iki veri modelini de desteklediğinden, sosyal ağlardan semantik web'e kadar farklı alanlara uygundur
- ACID transaction'lar, MVCC tabanlı snapshot isolation, çoklu dil binding'leri, yapay zeka entegrasyon ekosistemi içeren eksiksiz bir özellik seti sunar
Temel özellikler
-
Yüksek performanslı mimari
- Rust tabanlı çekirdek motor ile yazılmıştır, C bağımlılığı yoktur; isteğe bağlı olarak jemalloc/mimalloc ve TLS C kütüphaneleri kullanılabilir
- Push tabanlı yürütme motoru, morsel düzeyinde paralel işleme, kolon tipi depolama, türe göre sıkıştırma, maliyet tabanlı sorgu optimizer'ı içerir
- Zone map kullanan data skipping ile verimli sorgu yürütmeyi destekler
-
Çoklu sorgu dili desteği
- GQL, Cypher, Gremlin, GraphQL, SPARQL, SQL/PGQ desteği sunar
- Projenin niteliğine ve geliştirici uzmanlığına göre uygun dil seçilebilir
- GQL, ISO standartlı deklaratif pattern matching sunar; Cypher, Neo4j uyumlu ASCII-art pattern'leri kullanır; Gremlin ise Apache TinkerPop tabanlı traversal stiline sahiptir
- GraphQL hem LPG hem RDF'yi destekler; SPARQL, W3C standartlı RDF sorgu dilidir; SQL/PGQ ise SQL:2023
GRAPH_TABLE sözdizimini destekler
-
Veri modelleri
- LPG modeli, etiket ve özelliklere sahip düğüm ve kenar yapısını kullanır; çeşitli veri türlerinde özellikleri destekler
- RDF modeli, subject-predicate-object triple yapısını kullanır ve SPO/POS/OSP index'leri ile verimli sorgulama sağlar
- RDF, W3C standartlarıyla uyumlu olduğu için semantik web, ontoloji ve linked data için uygundur
-
Vektör arama özellikleri
- HNSW tabanlı benzerlik araması sunar ve scalar, binary, product quantization destekler
- Grafik gezintisi ile anlamsal benzerlik aramasını birleştirebilir
-
Gömülü ve bağımsız çalışma
- Harici bağımlılık olmadan doğrudan uygulamaya gömülebilir veya REST API ve web UI içeren bağımsız bir sunucu olarak çalıştırılabilir
- Edge cihazlardan büyük ölçekli production cluster'lara kadar ölçeklenebilir
-
Transaction ve bellek güvenliği
- MVCC tabanlı snapshot isolation ile tam ACID transaction garantisi sağlar
- Rust'ın bellek güvenliği ve fearless concurrency tasarımı sayesinde güvenilir eşzamanlılık işlemlerini destekler
-
Çoklu dil binding'leri
- Python(PyO3), Node.js/TypeScript(napi-rs), Go(CGO), C(FFI), C#(.NET 8 P/Invoke), Dart(dart:ffi), WebAssembly(wasm-bindgen) desteği sunar
- Aynı Grafeo motoru farklı dil ortamlarında kullanılabilir
-
Ekosistem ve entegrasyon
- LangChain, LlamaIndex, MCP gibi yapay zeka framework'leriyle entegredir
- Etkileşimli notebook widget'ları, tarayıcı tabanlı WebAssembly grafik görselleştirme, web UI içeren bağımsız sunucu, benchmarking araçları sunar
Kurulum ve başlangıç
-
Kurulum komutları
- 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
-
Hızlı başlangıç örneği
- Python örneğinde, in-memory veritabanı oluşturulduktan sonra
INSERT ve MATCH sözdizimiyle düğüm ve kenarlar eklenir, ardından ilişkiler sorgulanır
- Rust örneğinde,
GrafeoDB::new_in_memory() ile veritabanı oluşturulur ve bir session üzerinden aynı sorgular çalıştırılır
Lisans
- Grafeo, Apache-2.0 lisansı ile dağıtılır
1 yorum
Hacker News yorumları
Grafeo'nun LDBC benchmark'ını uygulayıp uygulamadığını merak ediyorum
Diğer grafik veritabanlarıyla karşılaştırmak isterim. Özellikle OLAP sorgu performansı ilgimi çekiyor
İlgili yazı: Neo4j alternatives in 2026
Yakın zamanda gfql için cypher sözdizimini yayımladık
Bu, doğrudan veri çerçeveleri üzerinde çalışabilen ilk OSS CPU/GPU tabanlı cypher sorgu motoru
Databricks veya Splunk gibi ölçeklenebilir DB'lerle birlikte çoğunlukla güvenlik, dolandırıcılık tespiti, olay analizi ve ML+AI embedding pipeline'ları için kullanılıyor
Veritabanı kurulumu olmadan tek bir GPU ile saniyede 1 milyardan fazla edge işleyebiliyor ve Apache Arrow veya Parquet verilerine de doğrudan uygulanabiliyor
Ayrıntılar için GFQL benchmark dokümanına bakın
Vektörleştirilmiş çekirdek şimdiden TCK'nin yarısından fazlasını karşılıyor ve şu anda daha karmaşık kısımlar ekleniyor
NATO, bankalar, ABD hükümeti gibi çeşitli kurumlarda zaten production'da kullanılıyor ve artık open source olarak yayımlandığı için diğer geliştiriciler veya LLM'ler de doğrudan kullanabiliyor
Bu DB'yi (Grafeo) bilen biri var mı diye merak ediyorum
Commit geçmişine bakınca neredeyse tamamen AI tarafından yazılmış bir proje gibi görünüyor. Tek kişi haftada 100 bin ila 200 bin satır commit etmiş
Böyle durumlarda kod kalitesi zayıf ya da gereğinden fazla karmaşık olabiliyor
Bunu gerçekten kullanan biri var mı, yoksa sadece bir AI portföy deneyi mi, öğrenmek istiyorum
İlk sürüm, daha önce yaptığım Graphos adlı yerel grafik DB'nin yeniden kurgulanmış haliydi
Motor, çekirdek, Python binding'leri ve testleri elle yazdım; dokümantasyon ve bazı yapılandırmalar AI tarafından üretildi
AI tarafından üretilen kısımları gözden geçirdim ama henüz production seviyesinde değil
Neo4j'e duyduğum memnuniyetsizlikten ve DuckDB'den Hännes ile yaptığım bir konuşmadan ilham alarak başladım
LadybugDB'nin bellek kullanımı çok yüksekti, ben de kendim yapmayı denedim; şu anda kişisel olarak memnun şekilde kullanıyorum
Ticari bir amacı yok, open source olarak yayımlandı ve katkıda bulunanları memnuniyetle karşılıyorum
Grafik motorlarında ince tasarım çok önemli olduğundan, tasarım kalitesi açısından endişeliyim
Benim işlettiğim gdotv.com'da da hangilerini destekleyeceğime karar vermek giderek zorlaşıyor
Grafik DB sayısı o kadar arttı ki kafa karıştırıcı hale geldi, bu yüzden yeni site gdb-engines.com'u yaptım
Her DB'yi sınıflandırıp düzenliyorum
Gerçekten production ölçeğinde güvenilir grafik DB var mı, merak ediyorum
Open source veya vendor ürünleri arasında, Meta'nın TAO'su gibi özel sistemler hariç neleri bilmek gerekir?
Bu konuyu FOSDEM 2025 konuşmamda ele alıyorum
Çoğu OSS DB bir ölçüde open-core modelini izliyor
İlgili yazı: A brief history of graphs at Facebook
Özellikle JanusGraph gibi eski ama şirketlerde istikrarlı biçimde kullanılan teknolojiler var
Bu aralar AI/LLM patlaması sayesinde ortaya çıkan 25 grafik DB var
Rust ile yazınca HN'de ilgi çekiyor ama LadybugDB bunu yapmamayı seçti
Bunun yerine kademeli iyileştirme ve güçlü tipli Cypher üzerine odaklanmak istiyor
İlgili tartışma: LadybugDB Discussion #141
Bunu sadece bir "hissiyat" olarak değil, teknik gerekçelerle değerlendirmek gerekir
Grafeo açıkça AI destekli yazılmış bir proje
Kod miktarı çok ama basit bir AI üretimi gibi görünmüyor; tasarımı da özgün
JS testleri tamamen AI tarafından üretilmiş gibi duruyor ve bazı alt repo'ların kalitesi tutarsız
Apache 2.0 lisansı ve özellikleri açısından ilginç, ama daha fazla maintainer'a ihtiyacı var gibi görünüyor
Helix DB ile karşılaştırıldığında farkları neler, merak ediyorum
Ayrıca neden illa GraphQL ile DB sorgulamak gerektiği de bana pek net gelmiyor
"graph-bench ile LDBC benchmark test edildi" ifadesi sanki bağımsız bir benchmark'mış gibi anlaşılıyor
Eğer kendi yaptığınız bir araçsa bunu açıkça belirtmek ve diğer projeleri de adil biçimde karşılaştırabilmek için geri bildirim almak iyi olur
Son dönemde HN'de sık görülen AI üretimi codebase'lerin tipik bir kalıbı
Haftada 100 bin satırdan fazla commit varsa, bir insanın kodun içeriğini gerçekten anlamış olma ihtimali düşüktür
Grafeo ve ilgili grafeo_langchain kütüphanesini yerel Ollama modeliyle birlikte denedim
Sonuç yarım başarı gibiydi
Hâlâ Python tabanlı Kuzu grafik DB'yi seviyor ve kullanıyorum
Kuzu artık geliştirilmiyor ama kararlı olduğu için desteğini sürdürüyorsunuz
LadybugDB'ye (ana fork) geçiş de kolay, bu yüzden değerlendirmeye değer