De fleste softwareapplikationer involverer i dag en vis dynamisk datalagring til omfattende fremtidig reference i selve applikationen. Vi ved alle, at data er lagret i en database, som falder i to kategorier, som er:Relationel og ikke-relationel DBMS.
Dit valg af udvælgelse af disse to vil helt afhænge af din datastruktur, mængden af involveret data, databasens ydeevne og skalerbarhed.
Relationelle DBMS gemmer data i tabeller i form af rækker, således at de bruger Structured Querying Language (SQL), hvilket gør dem til et godt valg til applikationer, der involverer flere transaktioner. De inkluderer MySQL, SQLite og PostgreSQL.
På den anden side er NoSQL DBMS såsom MongoDB dokumentorienteret, således at data gemmes i samlinger med hensyn til dokumenter. Dette giver en større lagerkapacitet for et stort sæt data og dermed en yderligere fordel i skalerbarhed.
I denne blog antager vi, at du har en bedre viden om enten MongoDB eller MySQL og derfor gerne vil kende sammenhængen mellem de to med hensyn til forespørgsler og databasestruktur.
Nedenfor er et snydeark for yderligere at blive fortrolig med forespørgslen fra MySQL til MongoDB.
MySQL til MongoDB Snydeark - Vilkår
MySQL-vilkår | MongoDB-vilkår | Forklaring |
---|---|---|
Tabel | Samling | Dette er lagerbeholderen til data, der har tendens til at være ens i de indeholdte objekter. |
Række | Dokument | Definerer den enkelte objekt-entitet i tabellen for MySQL og samling i tilfælde af MongoDB. |
Kolonne | Felt | For hvert lagret element har det egenskaber, som er defineret af forskellige værdier og datatyper. I MongoDB kan dokumenter i samme samling have forskellige felter fra hinanden. I MySQL skal hver række defineres med de samme kolonner fra de eksisterende. |
Primær nøgle | Primær nøgle | Hvert lagret objekt er identificeret med en unik feltværdi i tilfælde af MongoDB, vi har _id-felt indstillet automatisk, mens du i MySQL kan definere din egen primære nøgle, som er inkrementel, når du opretter nye rækker. |
Tabelforbindelser | Indlejring og sammenkædning af dokumenter | Forbindelse knyttet til et objekt i en anden samling/tabel til data i en anden samling/tabel. |
hvor | $match | Valg af data, der matcher kriterier. |
gruppe | $group | Grupper data i henhold til nogle kriterier. |
slip | $unset | Fjernelse af en kolonne/felt fra en række/dokument/ |
sæt | $set | Indstilling af værdien af en eksisterende kolonne/felt til en ny værdi. |
Skemaerklæringer
MySQL-tabelerklæringer | MongoDB-indsamlingserklæringer | Forklaring |
---|---|---|
Databasen og tabellerne oprettes eksplicit gennem PHP-adminpanelet eller defineret i et script, dvs. Oprettelse af en database Oprettelse af en tabel | Databasen kan oprettes implicit eller eksplicit. Implicit under den første dokumentindsættelse oprettes databasen og samlingen, ligesom der tilføjes et automatisk _id-felt til dette dokument. Du kan også oprette databasen eksplicit ved at køre denne kommentar i Mongo Shell | I MySQL skal du angive kolonnerne i den tabel, du opretter, samt angive nogle valideringsregler som i dette eksempel typen af data og længden, der går til en specifik kolonne. I tilfælde af MongoDB er det ikke et must at definere hverken de felter, hvert dokument skal indeholde, eller de valideringsregler, de angivne felter skal indeholde. Men i MongoDB for dataintegritet og konsistens kan du indstille valideringsreglerne ved hjælp af JSON SCHEMA VALIDATOR |
Dropper et bord | | Dette er sætninger til sletning af en tabel til MySQL og samling i tilfælde af MongoDB. |
Tilføjelse af en ny kolonne kaldet join_date Fjerner kolonnen join_date, hvis den allerede er defineret | Tilføjelse af et nyt felt kaldet join_date Dette vil opdatere alle dokumenter i samlingen, så tilslutningsdatoen er den aktuelle dato. Fjernelse af join_date-feltet, hvis det allerede er defineret Dette vil fjerne join_date-feltet fra alle indsamlingsdokumenter. | Ændring af skemaets struktur ved enten at tilføje eller slette en kolonne/felt. Da MongoDB-arkitekturen ikke strengt håndhæver dokumentstrukturen, kan dokumenter have felter, der er forskellige fra hinanden. |
Oprettelse af et indeks med UserId-kolonnen stigende og Alder faldende | Oprettelse af et indeks, der involverer felterne UserId og Age. | Indeks oprettes generelt for at lette forespørgselsprocessen. |
| | Indsætter nye poster. |
| | Sletning af poster fra bordet/samlingen, hvis alder er lig med 25. |
| | Sletning af alle poster fra tabellen/samlingen. |
| | Returnerer alle poster fra brugertabellen/samlingen med alle kolonner/felter. |
| | Returnerer alle poster fra brugertabellen/samlingen med Alder, Køn og primære nøglekolonner/felter. |
| | Returnerer alle poster fra brugertabellen/samlingen med kolonner/felter for alder og køn. Den primære nøgle er udeladt. |
| | Returnerer alle poster fra brugertabellen/samlingen, hvis kønsværdi er sat til M. |
| | Returnerer alle poster fra brugertabellen/samlingen med kun kønsværdien, men hvis aldersværdi er lig med 25. |
| | Returnerer alle poster fra brugertabellen/samlingen, hvis kønsværdi er sat til F og alder er 25. |
| | Returnerer alle poster fra brugertabellen/samlingen, hvis aldersværdi ikke er lig med 25. |
| | Returnerer alle poster fra brugertabellen/samlingen, hvis kønsværdi er sat til F eller alder er 25. |
| | Returnerer alle poster fra brugertabellen/samlingen, hvis aldersværdi er større end 25. |
| | Returnerer alle poster fra brugertabellen/samlingen, hvis aldersværdi er mindre end eller lig med 25. |
| | Returnerer alle poster fra brugertabellen/samlingen, hvis navneværdi tilfældigvis har He-bogstaver. |
| | Returnerer alle poster fra brugertabellen/samlingen, hvis kønsværdi er sat til F og sorterer dette resultat i stigende rækkefølge af id-kolonnen i tilfælde af MySQL og tid indsat i tilfælde af MongoDB. |
| | Returnerer alle poster fra brugertabellen/samlingen, hvis kønsværdi er sat til F og sorterer dette resultat i faldende rækkefølge af id-kolonnen i tilfælde af MySQL og tid indsat i tilfælde af MongoDB. |
| eller | Tæller alle poster i brugertabellen/samlingen. |
| eller | Tæller alle poster i brugertabellen/samlingen, som tilfældigvis har en værdi for egenskaben Navn. |
| eller | Returnerer den første post i brugertabellen/samlingen. |
| | Returnerer den første post i brugertabellen/samlingen, der tilfældigvis har kønsværdi lig med F. |
| | Returnerer de fem poster i brugertabellen/samlingen efter at have sprunget de første fem poster over. |
| | Dette indstiller alderen for alle poster i brugertabellen/samlingen, som har en alder på over 25 til 26. |
| | Dette øger alderen på alle poster i brugertabellen/samlingen med 1. |
| | Dette reducerer alderen på den første post i brugertabellen/samlingen med 1. |
For at administrere MySQL og/eller MongoDB centralt og fra et enkelt punkt, besøg:https://severalnines.com/product/clustercontrol.