De flesta mjukvaruapplikationer innefattar nuförtiden viss dynamisk datalagring för omfattande framtida referens i själva applikationen. Vi vet alla att data lagras i en databas som delas in i två kategorier som är:Relationell och icke-relationell DBMS.
Ditt val av dessa två kommer helt att bero på din datastruktur, mängd data involverad, databasprestanda och skalbarhet.
Relationell DBMS lagrar data i tabeller i termer av rader så att de använder Structured Querying Language (SQL) vilket gör dem till ett bra val för applikationer som involverar flera transaktioner. De inkluderar MySQL, SQLite och PostgreSQL.
Å andra sidan är NoSQL DBMS som MongoDB dokumentorienterade så att data lagras i samlingar när det gäller dokument. Detta ger en större lagringskapacitet för en stor uppsättning data och därmed en ytterligare fördel i skalbarhet.
I den här bloggen antar vi att du har bättre kunskap om antingen MongoDB eller MySQL och därför skulle vilja veta korrelationen mellan de två när det gäller frågor och databasstruktur.
Nedan finns ett fuskblad för att ytterligare bekanta dig med frågan om MySQL till MongoDB.
MySQL till MongoDB Cheat Sheet - Villkor
MySQL-villkor | MongoDB-villkor | Förklaring |
---|---|---|
Tabell | Samling | Detta är lagringsbehållaren för data som tenderar att vara liknande i de inneslutna objekten. |
Rad | Dokument | Definierar entitetsobjektet i tabellen för MySQL och samling i fallet MongoDB. |
Kolumn | Fält | För varje lagrat objekt har det egenskaper som definieras av olika värden och datatyper. I MongoDB kan dokument i samma samling ha olika fält från varandra. I MySQL måste varje rad definieras med samma kolumner som de befintliga. |
Primär nyckel | Primär nyckel | Varje lagrat objekt identifieras med ett unikt fältvärde när det gäller MongoDB. Vi har _id-fältet inställt automatiskt medan du i MySQL kan definiera din egen primärnyckel som är inkrementell när du skapar nya rader. |
Bordanslutningar | Bädda in och länka dokument | Anslutning associerad med ett objekt i en annan samling/tabell till data i en annan samling/tabell. |
var | $match | Välja data som matchar kriterier. |
grupp | $group | Gruppera data enligt vissa kriterier. |
släpp | $unset | Ta bort en kolumn/fält från en rad/dokument/ |
set | $set | Ställa in värdet för en befintlig kolumn/fält till ett nytt värde. |
Schemauttalanden
MySQL-tabellutlåtanden | MongoDB Collection Statements | Förklaring |
---|---|---|
Databasen och tabellerna skapas explicit via PHP-adminpanelen eller definieras i ett skript, dvs. Skapa en databas Skapa en tabell | Databasen kan skapas implicit eller explicit. Implicit under den första dokumentinsättningen skapas databasen och samlingen samt ett automatiskt _id-fält läggs till i detta dokument. Du kan också skapa databasen uttryckligen genom att köra den här kommentaren i Mongo Shell | I MySQL måste du ange kolumnerna i tabellen du skapar samt ställa in några valideringsregler som i det här exemplet vilken typ av data och längd som går till en specifik kolumn. När det gäller MongoDB är det inte ett måste att definiera varken fälten varje dokument ska innehålla eller valideringsreglerna som de angivna fälten ska innehålla. Men i MongoDB för dataintegritet och konsistens kan du ställa in valideringsreglerna med JSON SCHEMA VALIDATOR |
Släpp ett bord | | Detta är uttalanden för att ta bort en tabell för MySQL och samling i fallet MongoDB. |
Lägger till en ny kolumn som heter join_date Tar bort kolumnen join_date om den redan har definierats | Lägger till ett nytt fält som heter join_date Detta kommer att uppdatera alla dokument i samlingen så att anslutningsdatumet är aktuellt. Ta bort join_date-fältet om det redan har definierats Detta tar bort join_date-fältet från alla insamlingsdokument. | Ändra schemats struktur genom att antingen lägga till eller släppa en kolumn/fält. Eftersom MongoDB-arkitekturen inte strikt tillämpar dokumentstrukturen, kan dokument ha fält som skiljer sig från varandra. |
Skapa ett index med användar-ID-kolumnen stigande och ålder fallande | Skapa ett index som involverar fälten UserId och Age. | Index skapas vanligtvis för att underlätta frågeprocessen. |
| | Infogar nya poster. |
| | Ta bort poster från tabellen/samlingen vars ålder är lika med 25. |
| | Raderar alla poster från tabellen/samlingen. |
| | Returnerar alla poster från användartabellen/samlingen med alla kolumner/fält. |
| | Returnerar alla poster från användartabellen/samlingen med kolumner/fält för ålder, kön och primärnyckel. |
| | Returnerar alla poster från användartabellen/samlingen med kolumner/fält för ålder och kön. Den primära nyckeln utelämnas. |
| | Returnerar alla poster från användartabellen/samlingen vars könsvärde är satt till M. |
| | Returnerar alla poster från användartabellen/samlingen med endast Gender-värdet men vars åldersvärde är lika med 25. |
| | Returnerar alla poster från användartabellen/samlingen vars könsvärde är satt till F och ålder är 25. |
| | Returnerar alla poster från användartabellen/samlingen vars åldersvärde inte är lika med 25. |
| | Returnerar alla poster från användartabellen/samlingen vars könsvärde är satt till F eller ålder är 25. |
| | Returnerar alla poster från användartabellen/samlingen vars åldersvärde är större än 25. |
| | Returnerar alla poster från användartabellen/samlingen vars åldersvärde är mindre än eller lika med 25. |
| | Returnerar alla poster från användartabellen/samlingen vars namnvärde råkar ha He-bokstäver. |
| | Returnerar alla poster från användartabellen/samlingen vars Gender-värde är satt till F och sorterar detta resultat i stigande ordning i id-kolumnen i fallet MySQL och tid infogat i fallet MongoDB. |
| | Returnerar alla poster från användartabellen/samlingen vars Gender-värde är satt till F och sorterar detta resultat i fallande ordning för id-kolumnen i fallet MySQL och tid infogat i fallet MongoDB. |
| eller | Räknar alla poster i användartabellen/samlingen. |
| eller | Räknar alla poster i användartabellen/samlingen som råkar ha ett värde för egenskapen Name. |
| eller | Returnerar den första posten i användartabellen/samlingen. |
| | Returnerar den första posten i användartabellen/samlingen som råkar ha ett könsvärde lika med F. |
| | Returnerar de fem posterna i användartabellen/samlingen efter att ha hoppat över de första fem posterna. |
| | Detta ställer in åldern för alla poster i användartabellen/samlingen som har en ålder över 25 till 26. |
| | Detta ökar åldern på alla poster i användartabellen/samlingen med 1. |
| | Detta minskar åldern på den första posten i användartabellen/samlingen med 1. |
För att hantera MySQL och/eller MongoDB centralt och från en enda punkt, besök:https://severalnines.com/product/clustercontrol.