Organisationer står hver dag over for nye udfordringer for løbende at kunne levere ny forretningsfunktionalitet ved at implementere nye It-processer som Agile og DevOps og tage nye arkitekturer som cloud og mikrotjenester i brug. For at tilpasse os alle disse har vi brug for et nyt databasekoncept, der er i stand til at håndtere massive stigninger i hurtigt skiftende datatyper og i stand til at arbejde med data, uanset hvor det lagrer på klientsiden og på datalagssiden.
Så NoSQL-databaserne "Ikke kun SQL" er designet til at reagere på disse udfordringer. MongoDB er den førende NoSQL-database og en open source-dokumentdatabase.
I denne artikel vil vi forklare MongoDB-koncepter, give en idé om dets fordele og terminologi, og hvor vi kan implementere det.
MongoDBs fordele:
MongoDBs dataplatform er baseret på to principielle koncepter:
- Dokumentdatabase :MongoDB bruger dokumentet som datamodel, der ligner JSON-objekter. Det er en datastruktur sammensat af felt- og værdipar. Værdierne kan omfatte underdokumenter, arrays og arrays af dokumenter; som reducerer behovet for dyre sammenføjninger. Ved at bruge denne datamodel vil det være hurtigere og nemmere at modellere, hvordan applikationsobjekter vil blive knyttet til data, da det svarer til oprindelige datatyper. Ud over brugervenligheden er dokumenter fleksible, da vi kan ændre vores skema til enhver tid, det er polymorf, fordi dokumenter kan have forskellige strukturer sammenlignet med andre dokumenter i samme samling, og det er udvidelsesbart:vi modellerer data på enhver måde applikationen kræver det.
- Distribuerede data: MongoDB tilbyder muligheden for at skalere systemet ud og distribuere data til brugeradgang med lav latenstid. Implementering af "Sharding"- og "Replikasæt"-teknikker gør det nemt at distribuere data og udvide vores implementering over billig hardware.
Grundlæggende terminologi:
MongoDB gemmer BSON-dokumenter i samlinger; samlingerne i databasen. En enkelt MongoDB-server har typisk flere databaser. Hver database får sit eget sæt filer på filsystemet som format for samlinger. Hver samling er et sæt dokumenter. En af samlingens store fordele er ingen håndhævelse af skemaer og samtidig har vi et dynamisk skema. Dynamisk skema betyder, at dokumenter i samme samling ikke behøver at have det samme sæt felter eller struktur, og fælles felter i en samlings dokumenter kan indeholde forskellige typer data.
Følgende figur viser korrespondanceterminologien for relationel database med MongoDB:
Forespørgselssprog:
Både RDBMS (Oracle og MySQL) og MongoDB har et rigt forespørgselssprog.
Følgende figur viser forespørgselssprogets korrespondance mellem RDBMS og MongoDb:
Implementering:
For at drage fordel af MongoDB kan vi vælge at implementere MongoDB i disse felter:
- E-handelsproduktkatalog
- Blogs, indholdsstyring og levering
- Mobil og social infrastruktur
- Big Data
- Brugerdatastyring
- Data Hub