Kraftfulde værktøjer til MongoDB-datavisualisering

Med et utal af tilgængelige visualiseringsværktøjer er det svært at finde den rigtige til MongoDB-data, der har out-of-the-box-funktionalitet.

I dag vil jeg fortælle dig om min erfaring med at udforske sådanne visualiseringsværktøjer.

Mit mål var at analysere et datasæt fra en MongoDB-database. Jeg ville arbejde med en workflow til dataanalyse, der kombinerer databasestyringsanalyse, dataggregation og datavisualisering.

Her er de værktøjer, jeg har valgt:

  • Kompaser en GUI-applikation til dybdegående analyse og visualisering af MongoDB-data og et samlingsskema. Det giver et realtidsbillede af dine data. Den intuitive grænseflade hjalp mig med at fokusere på betydningen af ​​data.
  • Flexmonster Pivot Table er et værktøj til avanceret webrapportering og analyse. Mens Compass er en enkeltstående applikation, har jeg opdaget, at Flexmonster er integreret direkte i webprojektet. Jeg har formået at integrere den i min Angular 4-applikation og brugt den til dataanalyse.

Den første del af visualiseringsprocessen er at oprette en forbindelse til en MongoDB-database med Compass. Derefter kan du undersøge, hvilke funktioner Compass tilbyder, og hvilken analyse du kan udføre ved hjælp af dette værktøj.

Den anden del er dedikeret til yderligere MongoDB-dataanalyse. Vi indlæser data i en pivottabel og udforsker de muligheder, dette giver.

Som datakilde til min forskning har jeg valgt et datasæt om 120 års olympisk historie og resultater.

Dette datasæt har en typisk JSON-struktur, der adskiller sig fra det format, der kræves af MongoDB. For at importere dette til MongoDB har jeg udført følgende kommando i CLI:

mongoimport - db  - collection athletes - type json - file athletes.json  - jsonArray

Forståelse af data med kompas

Først vil jeg nævne nogle databasehåndteringsfunktioner.

Kompas er i stand til at generere histogrammer, der repræsenterer datafrekvensen. Dette hjalp mig med at analysere tilstedeværelsen af ​​dokumenter, datatyper og fordelingen af ​​værdier for specifikke felter i samlingen.

Først og fremmest oprettede jeg forbindelse til MongoDB-forekomsten, der kører på localhost ved hjælp af kompassapplikationen.

På hovedsiden i “atleter” -samlingen har jeg tjekket oplysningerne om samlingen, redigeret dataene i en interaktiv tilstand og afprøvet enkle og komplekse forespørgsler.

Et skemavisualiseringsværktøjhjalp mig med at forstå mine data.

Her har jeg tjekket statistikken over felternes datatyper: procentdelen af ​​datatyper, der bruges til dette felt i alle dokumenterne i samlingen.

Jeg har identificeret, at jeg har blandede datatyper for nogle felter. I mit eksempel har jeg en numerisk type til 'Højde'i 80% af dokumenterne, men en strengtype vises i 20% af tilfældene.

For mig betød det, at der er et hul i mit datasæt. Højden gemmes forskelligt mellem atleter.

Aggregering med kompas

Hvilke funktioner gør MongoDB og Compass så populære blandt dataanalytikere, der ofte arbejder med semistrukturerede og ustrukturerede data?

MongoDB er nyttig til realtidsanalyse, fordi den understøtter aggregeringsrørledninger. Disse kan omfatte sorterings- og filtreringshandlinger og gruppering af dataene.

Mens Compass understøtter realtidsopbygning af forespørgsler til sammenlægning.

For at fokusere på bestemte dele af dataene har jeg filtreret dokumenterne efter feltet 'Alder'.

For kun at vise de atleter under 22 år har jeg valgt det nødvendige område på histogrammet til at konstruere en forespørgsel på feltet 'Alder'. Som et resultat er de matchende dokumenter returneret.

På samme måde har jeg filtreret efter værdiområdet. Så har jeg sorteret dataene efter 'Alder' i stigende rækkefølge:

Men for at opbygge faser i aggregeringsrørledningen og gruppere dataene var jeg nødt til at bruge min viden om MongoDB-forespørgselssprog. Det var lettere at gøre i pivottabellen.

Analyse af dataene med Flexmonster-drejetabel

I mine webprojekter bruger jeg Angular. Så jeg fulgte en Angular tutorial til at integrere drejetabellen. For at hente dataene fra min database har jeg brugt denne tutorial.

Jeg har oprettet forbindelse til MongoDB fra min applikation og hentet data om atleter. Dataene blev komprimeret og derefter sendt til pivottabellen til visualisering.

Efter at have indlæst prøvedataene om atleter i pivottabellen, ønskede jeg at analysere minimums- og maksimumsalderen blandt atleterne. Derudover ønskede jeg at definere de bedste hold i historien baseret på deres samlede antal medaljer.

For at starte dataanalysen valgte jeg felter til kolonner og rækker.

For at arbejde med feltet 'Medalje' har jeg valgt det til mål og opnået følgende resultater:

  1. Filtreret optegnelserne efter værdi for at få vist de 5 bedste hold med den højeste mængde medaljer
  2. Anvendt betinget formatering til min rapport for at fremhæve hold, der har mere end 185 medaljer.

3. Dernæst har jeg valgt 'Alder' og analyseret den maksimale alder blandt atleterne:

4. Så har jeg skiftet til pivot-diagrammerne og analyseret dataene på en mere visuel måde for at lære om de bedste hold i sommersæsonen:

Konklusion

Så i dag har jeg delt min erfaring med at bruge Compass og Flexmonster Pivot Table. Efter min mening er begge værktøjer i stand til at hjælpe med at skabe en kreativ visuel historie og analysere dataene på en smart måde.

Jeg håber, du har fundet læsning om min oplevelse nyttig, og nu er du på den rigtige vej til en vellykket MongoDB-dataanalyse.

Jeg vil med glæde høre enhver feedback om denne oversigt. Giv din mening i kommentarerne. Hvilke værktøjer til MongoDB-datavisualisering kan du anbefale? Håndterer og behandler de dine data godt?