To naprawdę zależy od Twoich wymagań dotyczących „wizualizacji”. Zazwyczaj najbardziej interesującymi wizualnymi aspektami diagramu dla relacyjnej bazy danych są relacje wysokiego poziomu i ograniczenia integralności (1:1, 1:wiele, klucz podstawowy, klucze obce itp.).
MongoDB jest elastyczny schemat, w tym sensie, że dokumenty w ramach danej kolekcji nie muszą być zgodne z określonym formatem. Nie oznacza to, że bazowe dane nie mogą mieć jakiejś organizacji ... po prostu nie ma jednego schematu narzuconego na kolekcję (jak miałoby to miejsce w tradycyjnej relacyjnej bazie danych).
W MongoDB wiele interesujących szczegółów do wizualizacji będzie wymagało analizy poprzez sprawdzenie niektórych lub wszystkich dokumentów w kolekcji LUB przez przejrzenie kodu.
Przegląd kodu
Jeśli Twoja aplikacja korzysta z ODM (Object Document Mapper), takiego jak Mongoose
(Node.js) lub Morphia
(Java), kod aplikacji może zapewnić szybki i opisowy widok zamierzonego schematu (lub przynajmniej najnowszej wersji zamierzonego schematu). Odpowiednie narzędzie do dokumentacji językowej, takie jak jsdoc
lub javadoc
pomocne może być wygenerowanie rozsądnego przeglądu klas modeli. Prawdopodobnie będziesz musiał dodać adnotacje do dokumentacji, aby uzyskać najlepsze wyniki.
Analiza schematu
Analiza schematu jest podejściem bardziej brutalnym, które polega na patrzeniu na dane w celu wywnioskowania zaobserwowanego schematu. Typowym podejściem do tego jest użycie Map/Reduce .
Istnieje kilka różnych mongo
powłoka
pomocników, które dadzą ci wyobrażenie o ogólnej strukturze zbiorów (np. typy pól/danych i ich pokrycie w dokumentach źródłowych):
Nie są one wizualne (w sensie graficznym), ale wyniki analizy schematu zapewniają wgląd w oczekiwany kształt danych i typowe odmiany.
Relacje
Serwer MongoDB nie obsługuje relacji kluczy obcych, co usuwa wiele potencjalnie interesujących adnotacji wizualnych.
Istnieje kilka różnych podejść do sterowników klienta do tworzenia odniesień do baz danych (DBRefs)
, ale są one zgodne z konwencjami użytkowania, a nie z funkcją serwera. Aby określić relacje między kolekcjami za pomocą DBRefs, niektóre lub wszystkie dokumenty w kolekcji musiałyby zostać zeskanowane. Wnioskowanie o relacjach nie jest obsługiwane przez variety
lub schema.js
jeszcze.
Treść
Aby lepiej zrozumieć rzeczywistą zawartość, możesz wypróbować jeden z interfejsów administratora .