2013-06-24 42 views
60

Czy ktoś może podać lub wskazać na dobre porównanie Neo4j i Titan? Jedna rzecz, którą widzę, to kwestia skali - Titan jest skalowalny i wymaga bazowego skalowalnego magazynu danych, takiego jak kassandra. Neo4j dotyczy tylko HA i ma własną osadzoną bazę danych. Jakieś inne za i przeciw? Dowolne konkretne zastosowania. (Czy Titan jest obecnie używany w dowolnym miejscu?)ktoś próbował Neo4J vs Titan - plusy i minusy

Mam również następujący link: http://architects.dzone.com/articles/16-graph-databases-compared, który daje obiektywne porównanie dla baz danych wykresów, ale nie za wiele o zaletach i wadach między Neo4j i Tytanem.

+0

Możesz mieć wygląd @ [Titan vs Neo4j] (https://groups.google.com/d/msg/aureliusgraphs/vkQkzjN8fo0/9YYgqI4TA0QJ), może ci pomóc .. –

Odpowiedz

16

Wspaniale widzieć, jak eksplorujesz bazy danych wykresów. Porozmawiam z częścią pytania Neo4j:

Ponad 30 z Global 2000 używa teraz Neo4j w produkcji dla szerokiego zakresu przypadków użycia, wiele z nich zaskakuje, nawet dla nas! (I wynalazł wykres własność!)

Częściowa lista klientów można znaleźć poniżej: www.neotechnology.com/customers

Neo4j został w produkcji 24x7 przez 10 lat, podczas gdy produkt ma oczywiście ewoluowała znacząco od tego czasu , jest zbudowany na bardzo solidnym fundamencie.

Większość firm, które przenoszą się do baz danych zawierających wykresy - mówiąc w imieniu Neo4j, o czym wiem - robią to, ponieważ albo: a) ich RDBMS nie były w stanie obsłużyć skali ich wymagań związanych z zapytaniami, i/lub b) ogromną wygodę i szybkość wynikającą z modelowania domen, które są wykresami (zarządzanie siecią społeczną, siecią &, oszustwa, portfolia, tożsamość itp.) jako wykres, a nie tabele.

dla zabawy, można znaleźć szereg rozmów z klientami tu od czterech (wkrótce pięciu) konferencji GraphConnect, które odbyły się w tym roku w największych miastach na całym świecie:

http://watch.neo4j.org/

Jeśli” Ponownie w Londynie, ostatni odbędzie się w przyszłym tygodniu: http://www.graphconnect.com

Poniżej znajduje się podsumowanie niektórych technologii kryjących się za Neo4j, z przykładami niektórych klientów. Aby odpowiedzieć bardzo bezpośrednio na twoje pytanie dotyczące skalowania: Neo4j ma unikalną architekturę zaprojektowaną w celu maksymalizacji czasu odpowiedzi na zapytanie, pozwalając na przewidywalność zapytania, umożliwiając skalowanie w poziomie w taki sposób, aby każda instancja mogła uzyskać dostęp do wykresu bez konieczności przeskakiwania przez sieć. (Potrzebujesz większej przepustowości odczytu, po prostu dodaj instancje.) Okazuje się, że to podejście sprawdza się dobrze w przypadku 95 +% wykresów tam, w tym niektórych klientów produkcyjnych, którzy mają więcej niż połowę wykresu społecznościowego Facebook działającego w jednym klastrze Neo4j, wspieranie "zawsze włączonej" strony internetowej 24x7.

www.neotechnology.com/neo4j-scales-for-the-enterprise/

Jednym z największych pocztowych usług dostawczych robi wszystko ich pakietu w czasie rzeczywistym routingu z Neo4j. Linie kolejowe budują systemy trasowania na Neo4j. Niektóre z największych klientów na całym świecie używają ich dla HR i danych zarządzania, routingu alternate-path, & zarządzania danymi centrum sieci, wykrywanie nadużyć w czasie rzeczywistym, bioinformatyki, itp

Cypher język zapytań Neo4j jest tylko deklaratywny język zapytań zbudowany bezpośrednio dla wykresów właściwości.Wymaga to wszystkich lekcji wyniesionych z naszego 13-letniego natywnego interfejsu API języka Java (który był podstawą Blueprints, które zostały przyjęte przez inne bazowe bazy danych) i przekształca je w język nowej generacji. Cypher to świetny sposób na uczenie się wykresów i rozwijania aplikacji; i zawsze istnieje natywny interfejs API Java, jeśli masz specjalne potrzeby lub osiągasz wydajność "bare metal" (tj. poniżej milisekundy w porównaniu do jednocyfrowej milisekundy) powyżej wygody. Neo4j jest zbudowany od podstaw do obsługi wykresów i posiada silnik do przechowywania wykresów, który jest zbudowany do przechowywania wykresów; w przeciwieństwie do niektórych nowszych dodatków do graficznego ekosystemu baz danych, które są zaprojektowane jako biblioteki grafów na bazach danych innych niż graficzne i podlegają pewnym nieodłącznym ograniczeniom. (np. FlockDB, ponieważ bazuje na MySQL, nadal będzie bardzo wolny dla wszystkiego, co jest większe niż jeden skok.)

Zdecydowanie nie wahaj się skontaktować z zespołem Neo, jeśli potrzebujesz czegoś bardziej konkretnego. Z chęcią Ci pomożemy! http://info.neotechnology.com/ContactUs.html

Powodzenia!

+1

Dzięki Philip! Neo4j jest wystarczający dla moich wymagań od teraz i tak już go przekroczyłem. Uważam również, że powinien on być w stanie ładnie się skalować i skalować w swoim własnym sensie. Poza tym zauważyłem, że tworzenie i tworzenie kopii zapasowych neo4j jest bezpłatne dla małych gwiazdozbiorów (mniej niż 3 pracowników lub 100 000 $ przychodów), co jest dla mnie naprawdę świetne. Również zdaję sobie sprawę, że Neo4j ma znacznie większy ślad i więcej fanów. Przechodziłem przez Titan i wydaje mi się, że naprawdę nadaje się do ultra dużych wykresów, więc podniosłem ten post. Wierzę, że z ogromnymi organizacjami takimi jak .... – DevD

+1

.... facebook i linkedin o odpowiedniej architekturze poziomej skalowalności będą konieczne. Ale jak powiedziałem, nie jestem tak duży jak inni i zacząłem pracować nad Neo4j kilka miesięcy temu, więc nie odważyłbym się wykluczyć możliwości Neo4j w zakresie skalowania i naprawdę kocham pracę nad Neo4j. – DevD

24

Mamy wykres społeczny, w którym w ciągu jednego dnia dodajemy prawie 1 milion węzła i dwa razy więcej krawędzi. Zaczęliśmy od wykresu neo4j, ponieważ tak, jest on bardzo szybki, ponieważ jego pamięć znajduje się na tej samej maszynie, na której działa silnik graficzny. Poniżej przedstawiamy doświadczenia, które chcielibyśmy podzielić się z wami na temat neo4j.

  1. Nie nadaje się do zapytania w czasie rzeczywistym. Mamy strukturę społeczną, taką jak twitter. Musimy pokazać ostatnie 20 działań (i związanych z nimi działań) wszystkich użytkowników, którzy podążają za linią czasu. Mamy kilku użytkowników, którzy obserwują ponad 1000 użytkowników. Zapytanie gremlin, które napisaliśmy na ten temat (jeśli jesteś zainteresowany, to możemy udostępnić zapytanie Gremlin) naprawdę wyprodukowało tyle GC, że serwer z 8 procesorem i 48-bitowym RAM-em użył do zamrożenia i musieliśmy zrestartować serwer, aby ponownie połączyć się z Internetem .
  2. Obserwowana jest duża liczba partycji sieci czasu.
  3. Nie ma centrycznego indeksu wierzchołków, który jest bardzo potrzebny w bazie danych Graoh.

Ostatecznie jesteśmy tak bardzo bliscy wydajności serwera z zapytaniem gremlin, że musieliśmy zmienić bazę danych na tytan.

Na tytanie uzyskujemy rozsądną wydajność, a także skalowanie jest bardzo łatwe, ponieważ używamy kassandra jako pamięci wewnętrznej. Ale pamiętajcie, że ... używanie gremlin tutaj również nie jest dobrym pomysłem, ponieważ zapytanie multigetowe jest bardzo brzydkie w pisaniu i bez multigetu jego zapytanie staje się bardzo powolne.

+2

Witam. Byłbym bardzo zainteresowany poznaniem twojej konfiguracji. Byłoby fajnie, gdybyś mógł napisać blog. Jeśli wolisz porozmawiać prywatnie z im sorenbs na Twitterze lub Gmailu. – sorenbs

+2

Dlaczego Gremlin, a nie szyfr? A czy było to na Neo 1.9 lub 2? Po prostu ciekawy. –

+0

Witam, od tego czasu minęło już ponad rok. Z pewnością nie było 2, ani 1.6 ani 1.7. Nie pamiętam dokładnie. W tym czasie cypher nie był tak popularny, że wciąż był w formie rodzącej. Główną zaletą Titan w stosunku do neo4j, jak obecnie postrzegam, jest jego zdolność do skalowania i dostarczania więcej niż jednego centrycznego indeksu wierzchołków (VCI), który w naszym przypadku staje się bardzo ważny, ponieważ mamy generalnie bardzo duży zestaw dzieci i bez VCI staje się bardzo ospały. – user2772346