2012-02-07 12 views
7

Birkaç bin düğüm ve birkaç bin ilişki ile çalışırken hangi grafik veritabanını kullanmalıyım? Herhangi bir veritabanı için bu büyük sayılar mı değil mi? Hangi grafik veritabanı okuma işlemlerinde en hızlıdır (tüm veriler bir kere başlangıçta yüklenir). Neo4j ve görselleştirme aracına bir baktım. Başvurumda böyle bir görselleştirme aracına sahip olacağım mı?Hangi grafik veritabanı

cevap

12

Grafik veritabanı için soru sormanız ve yanıtlamanız gereken sorular diğer veritabanlarına benzer. Ne kadar veri? Hafızada mı yoksa kalıcı mı? Bununla nasıl bağlantı kuracaksınız? Gömülü veya sunucu işlemi? Dağıtılmış veya yerelleştirilmiş? Lisanslama?

Grafik veritabanında birkaç düğüm ve ilişki küçüktür ve çoğu grafik veritabanı çözümü çalışır. Çoğu insan için Neo4j iyi bir seçimdir, ancak bazı uyarılar vardır. İlk olarak, Neo4j lisansı birçok durumda sorunlu olabilir. İkincisi, görselleştirici Neo4j sunucu işleminin bir parçasıdır - yani başka bir sunucu işlemine sahip olursunuz. Lisansla ilgili endişeleriniz varsa, Apache lisansının altında olan OrientDB adresine göz atmak isteyebilirsiniz ve bu nedenle çok esnektir.

Seslerinizden oldukça küçük bir sisteminiz var ve Marko Rodriguez ve Tinkerpop bilgisayar korsanlarından oluşan bir bellek grafik veritabanı olan TinkerGraph'u kullanarak elde edebilirsiniz. Gerekirse, verilerinizi bir dosyaya kalıcı hale getirme seçeneğine sahiptir, inanılmaz derecede hafiftir ve Neo4j ve OrientDB gibi, size istediğiniz görselleştirmeleri sağlayan Jung Ouplemntation da dahil olmak üzere Tinkerpop yığınının tüm grafik araçlarını desteklemektedir.

+1

Çocuklar, daha esnek bir başlangıç ​​lisansına bakıyoruz, Neo4j'e gitmeniz gerekiyorsa bana ulaşın (Neo4j ekibinin bir parçasıyım). Ayrıca, Tinkerpop Neo4j ile uyumludur ve uyumludur, Neo4j Sunucu bileşenindeki görselleştirici sadece REST API'sine karşı çalışan ve tarayıcı iş parçacıkları tarafından (sunucuyla işlem yapılmayan) çalışan Arbor.js tabanlı bir görselleştirmedir. Küçük grafikler için Tinkergraph gibi bir bellek modelinin tamamen iyi olduğunu düşünüyorum. –

+0

@Pridkett Neo4j lisansı hakkında: Neo4j'in GPL ve AGPL lisansı ile geldiğini gördüm. Bu, Apache lisansını hangi problemlerle karşı karşıya getiriyor? ... TinkerGraph'a bir göz atacağım .. Veri miktarı, pek çok mülk ve birkaç bin ilişki içeren birkaç bin düğüm dediğim gibi. Bir web arayüzü ön ucu ile yerelleştirilmiş bir sunucu işlemi olacaktır. Onun hafızada mı yoksa kalıcı mı olacağını bilmiyorum. Artıları ve eksileri nelerdir? Db'nin boyutu bunu belirler mi? – user579674

+0

@PeterNeubauer Neo4j'in aklımda olanı yapıp yapamayacağına karar vermede yardıma ihtiyacım var. Sizinle özel olarak iletişim kurabileceğim bir yol var mı? Sorularım temel olarak neo4j'yi bir web sayfasında arka uç veritabanı olarak kullanmaya nasıl başlayacağınız ile ilgili. – user579674