2012-02-07 28 views
7

Którą bazę danych wykresów należy użyć w przypadku obsługi kilku tysięcy węzłów i kilku tysięcy relacji? Czy są to duże liczby dla dowolnej bazy danych, czy nie? Która baza wykresów jest najszybsza w operacjach odczytu (zakładając, że wszystkie dane zostaną wczytane jeden raz na początku). Spojrzałem na neo4j i jego narzędzie do wizualizacji. Czy będę w stanie mieć takie narzędzie do wizualizacji w mojej aplikacji?Która baza danych wykresów

Odpowiedz

12

Pytania, które należy zadać i odpowiedzieć na potrzeby bazy danych wykresów, są podobne do wszystkich innych baz danych. Ile danych? W pamięci czy trwałe? Jak się z nim połączyć? Wbudowany lub proces serwera? Dystrybucja czy lokalizacja? Koncesjonowanie?

Kilka tysięcy węzłów i relacji jest mała dla bazy danych wykresów i większość rozwiązań baz danych wykresów będzie działać. Dla większości ludzi Neo4j jest dobrym wyborem, ale są pewne zastrzeżenia. Po pierwsze, licencjonowanie Neo4j może być problematyczne w wielu sytuacjach. Po drugie, wizualizator jest częścią procesu serwera Neo4j - co oznacza, że ​​będziesz mieć uruchomiony kolejny proces serwera. Jeśli martwisz się o licencję, możesz sprawdzić numer OrientDB, który jest objęty licencją Apache, a przez to bardzo elastyczny.

Z tego, co słyszałeś, masz dość mały system i może być w stanie uzyskać za pomocą TinkerGraph, bazy danych w pamięci z Marko Rodriguez i hakerów Tinkerpop. Ma opcję utrzymywania danych w pliku, jeśli jest taka potrzeba, jest niesamowicie lekki i, podobnie jak Neo4j i OrientDB, obsługuje wszystkie narzędzia graficzne ze stosu Tinkerpop, w tym Jung Ouplemntation, które mogą dać ci pożądane wizualizacje.

+1

Chłopaki, szukamy bardziej elastycznego licencjonowania startupów, skontaktuj się ze mną (jestem częścią zespołu Neo4j), jeśli chcesz rozpocząć pracę z Neo4j. Ponadto Tinkerpop jest dołączony i kompatybilny z Neo4j, a wizualizator w komponencie Neo4j Server to domyślna wizualizacja Arbor.js, która działa w oparciu o interfejs API REST i jest sterowana przez wątki przeglądarki (nie jest to proces z serwerem). W przypadku małych wykresów, myślę, że model w pamięci, taki jak Tinkergraph, jest całkowicie w porządku. –

+0

@Pridkett O licencjonowaniu Neo4j: Widziałem, że Neo4j ma licencję GPL i AGPL. Jakie problemy powoduje to przeniesienie licencji Apache? ... Spojrzę na TinkerGraph ... Ilość danych jest taka, jak powiedziałem kilka tysięcy węzłów o niezbyt wielu właściwościach i kilku tysiącach relacji. Będzie to zlokalizowany proces serwera z interfejsem sieciowym. Nie wiem, czy ma być w pamięci, czy uporczywy. Jakie są plusy i minusy? Czy powinien to być rozmiar bazy danych? – user579674

+0

@PeterNeubauer Potrzebuję pomocy w podjęciu decyzji, czy neo4j może zrobić to, co mam na myśli. Czy istnieje sposób, w jaki mogę się z tobą skontaktować prywatnie? Moje pytania są zasadniczo związane z tym, jak rozpocząć korzystanie z neo4j jako bazy danych na stronie internetowej. – user579674