Wanneer te gebruiken MongoDB: Voordelen en Use Cases

nov 20, 2021
admin

Het is gemakkelijk om verstrikt te raken in de nieuwste modewoorden en innovatieve technologie te gebruiken, maar dat kan leiden tot hoofdpijn als u de verkeerde tool voor uw taak. MongoDB kwam in het heetst van de strijd en vestigde de dominantie in de NoSQL Database wereld toen ze IPO’d in 2018. In dit artikel zullen we bespreken wat NoSQL-databases zijn en hoe ze verschillen van SQL-databases. Daarna zullen we raken op wat MongoDB onderscheidt in de NoSQL landschap. We zullen eindigen met een aantal use cases voor MongoDB en bespreken veel voorkomende valkuilen bij het gebruik van deze database technologie.

Voor meer informatie over Xplenty’s native MongoDB connector, bezoek onze Integratie pagina.

Table of Contents

  1. NoSQL vs SQL Databases
  2. MongoDB: A Big Fish In a Small Pond
  3. MongoDB Use Cases
Customer Story

Customer Story

Keith verbond meerdere gegevensbronnen met Amazon Redshift om hun klantgegevens te transformeren, te organiseren en te analyseren.

MongoDB MongoDB
Amazon Redshift Amazon Redshift
David Schuman

Dave Schuman
CTO en Co-Founder bij Raise.me

Ze hebben echt een interface gemaakt voor deze wereld van data transformatie die werkt. Het is intuïtief, het is gemakkelijk om mee om te gaan en als het een beetje te verwarrend voor ons wordt, werken ze soms een hele dag aan alleen maar proberen om ons te helpen ons probleem op te lossen, en ze geven nooit op totdat het is opgelost.

ONTDEK OF WIJ UW DATA KUNNEN INTEGREREN

VERTROUWD DOOR BEDRIJVEN WERELDWIJD

Vindt u dit artikel leuk?

Wekelijks ontvangt u geweldige content met de Xplenty Nieuwsbrief!

NoSQL vs. SQL Databases

MongoDB is een NoSQL database. Dit betekent dat u geen SQL gebruikt om te communiceren met gegevens in de database. In plaats daarvan gebruik je NoSQL.

Het eerste verschil dat we moeten bespreken is vocabulaire. In SQL, gebruiken we tabellen. In NoSQL, gebruiken we collecties. In SQL, tabellen bestaan uit records /rows, in NoSQL, collecties zijn documenten.

Om query MongoDB, moet je NoSQL syntaxis te gebruiken. Hier is een voorbeeld van een SQL query en de bijbehorende NoSQL query:

SQL:

SELECT * FROM users WHERE age > 65;

NoSQL:

users.find({age: {$gt: 65} });

Je zult merken dat de querytaal de collectie behandelt als een object waar je acties op toepast. Dit komt omdat MongoDB is een schemaloze database, en het gaat ervan uit dat er geen noodzaak om te communiceren met andere collecties. SQL syntaxis verwacht dat gebruikers JOIN op andere relaties in de database, en dus de syntaxis maakt dat mogelijk. Er is een vergelijkbaar patroon bij het proberen te INSERT:

SQL:

INSERT INTO users (id, age) VALUES (1, 70);

NoSQL:

users.insert({id: 1, age: 70});

De prominentie van een gedefinieerd schema is duidelijk in de SQL INSERT omdat de kolommen die je kiest moeten bestaan in de gebruikers tabel. Bij het NoSQL statement hoeven de kolommen id en leeftijd niet van tevoren in de verzameling te bestaan. In feite kan je een andere INSERT maken in die collectie met andere velden. We kunnen bijvoorbeeld het volgende commando uitvoeren op dezelfde gebruikersverzameling die we hierboven hebben gebruikt:

users.insert({first_name: "Annie", zip_code: "10005"})

MongoDB, en andere NoSQL-databases, zijn schemaloze databases. Dit betekent dat gebruikers ongestructureerde gegevens kunnen opslaan. Deze functionaliteit is zowel een zegen als een vloek – de flexibiliteit maakt het gemakkelijker om gegevens op te slaan, maar maakt het ook moeilijker om uw gegevens te organiseren.

Voor een diepgaande analyse van de kritieke verschillen tussen SQL en NoSQL, bekijk dit blogbericht.

Customer Story

Customer Story

Keith verbond meerdere gegevensbronnen met Amazon Redshift om hun klantgegevens te transformeren, te organiseren en te analyseren.

Amazon Redshift Amazon Redshift

David Schuman

Keith Slater
Senior Developer bij Creative Anvil

Voordat we met Xplenty begonnen, probeerden we gegevens uit veel verschillende gegevensbronnen over te brengen naar Redshift. Xplenty heeft ons geholpen om dat snel en gemakkelijk te doen. De beste eigenschap van het platform is de mogelijkheid om data naar behoefte te manipuleren zonder dat het proces al te complex is. Ook de ondersteuning is geweldig – ze zijn altijd responsief en bereid om te helpen.

ONTDEK OF WIJ UW GEGEVENS KUNNEN INTEGREREN

VERTROUWD DOOR BEDRIJVEN WERELDWIJD

Vindt u dit artikel leuk?

Wekelijks ontvangt u geweldige content met de Xplenty Nieuwsbrief!

Wie zou MongoDB moeten gebruiken

Voor een paar jaar, MongoDB was synoniem met NoSQL in veel kringen. Tussen hun agressieve marketing campagnes en de mogelijkheid om in te breken met een aantal technologie beïnvloeders, konden ze vastleggen van een grote strook van deze “nieuwe” markt. Toen het meer wijdverspreid werd, begonnen mensen gaten te prikken in de levensvatbaarheid voor bepaalde toepassingen. Het werd een nuttig instrument voor mensen die “alleen maar hun applicatie aan de praat wilden krijgen” en zich later druk wilden maken over het analyseren van de gegevens.

Dit was een acceptabele aanpak en zinvol voor veel software-ontwikkelaars. Uiteindelijk, de kippen thuis kwam om te hanenbalken, en het bleek dat MongoDB was niet de beste optie voor iedereen. Sommige ingenieurs die MongoDB vroeg aangenomen kon leunen in de technologie en aan te passen aan de verbeteringen, terwijl vele anderen enorme inspanningen om te migreren uit van het ondergaan. Zoals met elk stuk software, Your Mileage May Vary (YMMV), dus het is noodzakelijk om kritisch na te denken over de diensten die u gebruikt.

Er zijn andere opties opgedoken in de document-database wereld. Postgres, bijvoorbeeld, onthulde een JSON kolomtype. Hierdoor kunnen Postgres-gebruikers ongestructureerde gegevens opslaan in een relationele database. Redis kwam ook naar voren als een nuttig alternatief voor gebruikers die een key-value store nodig hadden. U kunt meer leren over de verschillen tussen MongoDB en Redis hier. En, zoals gebeurt met de meeste succesvolle software projecten, AWS vrijgegeven hun eigen document-database genaamd DocumentDB, die nuttig is voor mensen die willen vasthouden aan native AWS-toepassingen.

Ondanks de groeiende concurrentie, MongoDB nog steeds heerst oppermachtig in de NoSQL / Document-database wereld en houdt het verbeteren van hun diensten, zoals het maken van het ACID-compliant. Ook in de ondersteuning van cloud-toepassingen, heeft MongoDB inspanningen geleverd om gedistribueerde databases en data lakes ondersteunen.

MongoDB Use Cases

MongoDB is een geweldige database voor webapplicaties, vooral als de toepassing diensten veel gebruikers die niet met elkaar communiceren. Denk aan applicaties voor financiële diensten, waar gebruikers alleen toegang tot hun eigen gegevens nodig hebben. Of een blogging applicatie, waar gebruikers willen inloggen en hun eigen blogs willen maken/bewerken. Gebruikers die niet met elkaar interageren is de belangrijkste conclusie. Met een relationele database zou je informatie over een gebruiker moeten opslaan in verschillende tabellen. Wanneer die gebruiker zich aanmeldt, zou de toepassing moeten verschillende query’s te maken, of complexe JOIN query’s, om alle informatie voor die gebruiker te openen. Met Schemaless document-database MongoDB’s, kunt u alle informatie van een gebruiker samen op te slaan. Dit zou zorgen voor een enkele query naar een enkele collectie, en de front-end kan omgaan met het weergeven / bewerken van de gegevens.

Een andere uitstekende use-case voor MongoDB is het proberen om veel datasets op te nemen. Het schemaloos ontwerp zorgt voor flexibiliteit in hoe u uw gegevens op te slaan. Zo kunt u gegevens uit verschillende gegevensbronnen (websites, databases, RSS-feeds, enz.) op te slaan op een plaats, en vervolgens diensten op de top van uw nieuwe database om het te analyseren allemaal. Xplenty biedt bijvoorbeeld deze integratie voor MongoDB.

MongoDB is een geweldige database voor het integreren van geospatiale gegevens met andere soorten van gegevens. Bijvoorbeeld, als “locatie” is een stuk van metadata die u werkt met, MongoDB ondersteunt GeoJSON types, zodat u efficiënt kunt opslaan lengte-en breedtegraden. Bovendien, MongoDB ondersteunt 2DSphere Indexes, die geometrische berekeningen te optimaliseren op sphere.

Conclusie

MongoDB is een krachtige database met vele mogelijkheden. Als bedrijf hebben ze het voortouw genomen in het populariseren van NoSQL en Document databases. Als database hebben ze ons begrip van beste praktijken voor gegevensopslag uitgebreid en hebben ze hun weg gevonden naar vele toepassingen over de hele wereld.

MongoDB biedt ook een gratis, open-source versie, wat een uitstekende optie is voor teams met een budget die een databaseserver on-premises of in de cloud kunnen opzetten. Indien u hierbij ondersteuning wenst, kan Xplenty u helpen. Wij kennen de uitdagingen die gepaard gaan met dataopslag, -integratie en -analyse. Of u nu advies nodig hebt bij het kiezen van de juiste tools voor gegevensopslag of hulp nodig hebt bij het migreren van uw gegevens naar uw nieuwe oplossing, plan een gesprek met Xplenty en ontdek hoe onze gebruiksvriendelijke ETL-oplossing voor u kan werken.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.