Mis on MongoDB? Architektuur, funktsioonid ja näide

⚡ Nutikas kokkuvõte

MongoDB on dokumendipõhine NoSQL-i andmebaas, mida kasutatakse suuremahuliste andmete salvestamiseks, kasutades tabelite ja ridade asemel kogumeid ja dokumente. See ressurss selgitab MongoDB omadused, dokumendi näide, peamised arhitektuurikomponendid, kasutamise põhjused, andmete modelleerimine ja kuidas see erineb relatsioonandmebaasist.

  • 📄 Dokumendi mudel: Andmeid salvestatakse võtme-väärtuse dokumentidena kollektsioonides, mitte tabelites.
  • 🧩 Paindlik skeem: Väljad luuakse lennult ilma eelnevalt määratletud struktuurita.
  • 🏗️ Põhikomponendid: _id, kollektsioon, dokument, väli, kursor, andmebaas ja JSON.
  • ⚙️ Miks seda kasutada: Ad hoc päringud, indekseerimine, replikatsioon ja skaleerimine.
  • 🔄 Võrreldes RDBMS-iga: Kollektsioonid asendavad tabeleid ja manustatud dokumendid asendavad ühendusi.

Mis on MongoDB

Mis on MongoDB?

MongoDB on dokumendile orienteeritud NoSQL-i andmebaas, mida kasutatakse suure mahuga andmete salvestamiseks. Selle asemel, et kasutada tabeleid ja ridu nagu traditsioonilistes relatsiooniandmebaasides, MongoDB kasutab kogusid ja dokumente. Dokumendid koosnevad võtme-väärtuste paaridest, mis on andmete põhiühikuks MongoDBKollektsioonid sisaldavad dokumentide ja funktsioonide komplekte, mis on samaväärsed relatsioonandmebaasi tabelitega. MongoDB on andmebaas, mis tuli päevavalgele 2000. aastate keskpaiga paiku.

MongoDB FUNKTSIOONID

  1. Iga andmebaas sisaldab kollektsioone, mis omakorda sisaldavad dokumente. Iga dokument võib olla erinev, varieeruva arvu väljadega. Iga dokumendi suurus ja sisu võivad üksteisest erineda.
  2. Dokumendi struktuur on rohkem kooskõlas sellega, kuidas arendajad oma klasse ja objekte oma vastavates programmeerimiskeeltes koostavad. Arendajad ütlevad sageli, et nende klassid ei ole read ja veerud, vaid neil on selge struktuur võtme-väärtuste paaridega.
  3. read (või dokumendid, nagu sisse kutsutud MongoDB) ei pea skeemi eelnevalt defineerima. Selle asemel saab väljad luua lennult.
  4. Sees saadaval olev andmemudel MongoDB võimaldab teil esitada hierarhilisi seoseid, salvestada massiive ja hõlpsamini salvestada muid keerukamaid struktuure.
  5. Skaalautuvus - MongoDB Keskkonnad on väga skaleeritavad. Ettevõtted üle maailma on määratlenud klastrid, millest mõned käitavad üle 100 sõlme ja umbes miljoneid dokumente andmebaasis.

MongoDB Näide

Allolev näide näitab, kuidas saab dokumenti modelleerida MongoDB.

  1. Välja _id lisab MongoDB kogus oleva dokumendi unikaalseks tuvastamiseks.
  2. Märkida võib, et tellimuse andmed (tellimuse ID, toode ja kogus), mis RDBS-is tavaliselt eraldi tabelis salvestatakse, salvestatakse tegelikult kollektsiooni endasse manustatud dokumendina. MongoDBSee on üks peamisi erinevusi andmete modelleerimise viisis. MongoDB.

MongoDB Näide

Peamised komponendid MongoDB Architektuur

Allpool on mõned levinumad terminid, mida kasutatakse MongoDB:

  1. _id – See on igas valdkonnas kohustuslik MongoDB dokument. Väli _id tähistab unikaalset väärtust MongoDB dokument. Väli _id on nagu dokumendi primaarvõti. Kui loote uue dokumendi ilma _id väljata, MongoDB loob välja automaatselt. Näiteks kui näeme ülaltoodud klienditabeli näidet, MongoDB lisab igale kogumikus olevale dokumendile 24-kohalise unikaalse identifikaatori.
_Id Kliendi ID Kliendi nimi Tellimuse ID
563479cc8a8a4246bd27d784 11 Guru99 111
563479cc7a8a4246bd47d784 22 Trevor Smith 222
563479cc9a8a4246bd57d784 33 Nicole 333
  1. kogumine – See on rühmping of MongoDB dokumente. Kogumik on samaväärne tabeliga, mis luuakse mis tahes teises RDBS-is, näiteks Oracle või MS SQL. Kogumik eksisteerib ühes andmebaasis. Nagu sissejuhatusest näha, ei sunni kogumid mingit struktuuri peale.
  2. Kursor – See on kursor päringu tulemuste kogumile. Kliendid saavad tulemuste hankimiseks kursori abil itereerida.
  3. andmebaas – See on kollektsioonide konteiner, nagu näiteks RDBMS-is, kus see on tabelite konteiner. Iga andmebaas saab failisüsteemis oma failide komplekti. A MongoDB server võib salvestada mitut andmebaasi.
  4. Dokument – rekord aastal a MongoDB Kogumikku nimetatakse põhimõtteliselt dokumendiks. Dokument koosneb omakorda väljanimedest ja väärtustest.
  5. Väli – Nime-väärtuse paar dokumendis. Dokumendis on null või rohkem välja. Väljad on analoogsed relatsioonandmebaaside veergudega. Järgmisel diagrammil on näide võtme-väärtuse paaridega väljadest. Seega on allolevas näites kliendiID ja 11 ühed dokumendis määratletud võtme-väärtuse paaridest.

Peamised komponendid MongoDB Architektuur

  1. JSON – Seda tuntakse kui JavaScript Objekti tähistus. See on inimesele loetav lihttekstivorming struktureeritud andmete väljendamiseks. JSON-i toetatakse praegu paljudes programmeerimiskeeltes.

Lihtsalt kiire märkus peamise erinevuse kohta välja _id ja tavalise koguvälja vahel. Välja _id kasutatakse kogus olevate dokumentide unikaalseks tuvastamiseks ja selle lisab automaatselt MongoDB kui kollektsioon luuakse.

Miks kasutada MongoDB?

Allpool on toodud mõned põhjused, miks peaks kasutama hakkama MongoDB:

  1. Dokumendile orienteeritud - Sellest ajast MongoDB on NoSQL tüüpi andmebaasi, selle asemel, et omada andmeid relatsioonitüüpi vormingus, salvestab see andmed dokumentidesse. See teeb MongoDB väga paindlik ja kohandub reaalsete äriolukordade ja nõuetega.
  2. Ad hoc päringud - MongoDB toetab otsingut väljade, vahemiku päringute ja regulaaravaldise otsinguid. Dokumentide konkreetsete väljade tagastamiseks saab teha päringuid.
  3. Indekseerimine – Otsingute toimivuse parandamiseks saab luua indekseid MongoDB. Mis tahes väli a MongoDB dokumenti saab indekseerida.
  4. replikatsioon - MongoDB saab replikakomplektide abil tagada kõrge käideldavuse. Replikakomplekt koosneb kahest või enamast MongoDB eksemplare. Iga koopiakomplekti liige võib igal ajal tegutseda primaarse või sekundaarse koopia rollis. Primaarne koopia on peamine server, mis suhtleb kliendiga ja teostab kõiki lugemis-/kirjutamistoiminguid. Teisesed koopiad säilitavad primaarse andmete koopiat sisseehitatud replikatsiooni abil. Kui primaarne koopia rikki läheb, lülitub koopiakomplekt automaatselt üle sekundaarsele koopiale ja seejärel saab sellest primaarne server.
  5. Koormuse tasakaalustamine - MongoDB kasutab jagamise kontseptsiooni horisontaalseks skaleerimiseks, jagades andmed mitmeks MongoDB juhtumeid. MongoDB võib töötada üle mitme serveri, tasakaalustades koormust ja/või dubleerides andmeid, et riistvara rikke korral süsteem töös hoida.

Andmete modelleerimine sisse MongoDB

Nagu sissejuhatusest nägime, on andmed MongoDB on paindlik skeem. Erinevalt sisse SQL andmebaasid, kus enne andmete sisestamist peab olema deklareeritud tabeli skeem, MongoDBi kogud ei jõusta dokumendistruktuuri. Selline paindlikkus on see, mis teeb MongoDB nii võimas.

Andmete modelleerimisel MongoDB, pidage meeles järgmist:

  1. Millised on rakenduse vajadused? – Vaadake rakenduse ärivajadusi ja vaadake, milliseid andmeid ja andmetüüpi rakendus vajab. Selle põhjal veenduge, et dokumendi struktuur oleks vastavalt valitud.
  2. Millised on andmete hankimise mustrid? – Kui näete ette päringute tihedat kasutamist, siis kaaluge oma andmemudelis indeksite kasutamist päringute tõhususe parandamiseks.
  3. Kas andmebaasis toimub sageli sisestamisi, värskendusi ja eemaldamisi? Vajadusel kaaluge oma andmemodelleerimise kavandis indeksite kasutamist või lisage killustatus, et parandada oma üldist tõhusust. MongoDB keskkond.

Erinevus MongoDB & RDBMS

Allpool on toodud mõned peamised terminite erinevused MongoDB ja RDBMS:

RDBMS MongoDB Erinevus
Tabel kogumine In RDBMS, tabel sisaldab veerge ja ridu, mida kasutatakse andmete salvestamiseks, samas kui MongoDB Sama struktuuri nimetatakse kollektsiooniks. Kogumik sisaldab dokumente, mis omakorda sisaldavad välju, mis omakorda on võtme-väärtuse paarid.
Rida Dokument RDBMS-is tähistab rida ühte kaudselt struktureeritud andmeüksust tabelis. sisse MongoDB, salvestatakse andmed dokumentidesse.
Veerg Väli RDBMS-is tähistab veerg andmeväärtuste komplekti. Need sisse MongoDB on tuntud kui põllud.
Liita Manustatud dokumendid RDBMS-is on andmed mõnikord hajutatud erinevate tabelite vahel ja kõigi andmete täieliku ülevaate saamiseks moodustatakse andmete saamiseks mõnikord tabelite vahel ühendus. MongoDB, andmed salvestatakse tavaliselt ühte kogusse, kuid eraldatakse manusdokumentide abil. Seega puudub liitumise kontseptsioon MongoDB.

Lisaks terminite erinevustele on allpool toodud veel mõned erinevused:

  1. Relatsiooniandmebaasid on tuntud andmete terviklikkuse jõustamise poolest. See ei ole sõnaselge nõue MongoDB.
  2. RDBMS nõuab, et andmed oleksid normaliseeritud esiteks selleks, et vältida orbude ja duplikaatide teket. Andmete normaliseerimine nõuab seejärel rohkem tabeleid, mis omakorda toob kaasa rohkem tabelite liitmisi, seega on vaja rohkem võtmeid ja indekseid. Andmebaaside kasvades võib jõudlus probleemiks muutuda. Jällegi, see ei ole otsene nõue MongoDB. MongoDB on paindlik ega vaja andmeid esmalt normaliseerida.

KKK

MongoDB salvestab suures koguses struktureerimata ja poolstruktureeritud andmeid, muutes selle kasulikuks tehisintellekti ja masinõppe torujuhtmete jaoks. Selle paindlikud dokumendid sisaldavad treeningandmeid, funktsioonide komplekte ja mudeli metaandmeid ning Atlas lisab tehisintellekti rakenduste jaoks vektorotsingu.

Jah. MongoDB Atlas Vector Search võimaldab teil dokumentide kõrval vektoreid salvestada ja päringuid teha. See toetab semantilist otsingut, soovitusi ja otsingu abil laiendatud genereerimist tehisintellekti rakenduste jaoks ilma eraldi vektorandmebaasi vajamata.

MongoDB Kogukonnaväljaanne on tasuta ja avatud lähtekoodiga. MongoDB pakub ka Atlasit, hallatud pilveteenust tasuta astmega, ja Enterprise Editionit täiustatud turvalisuse ja toega tasu eest.

Paljud suured organisatsioonid kasutavad MongoDB suuremahuliste ja paindlike andmesalvestuslahenduste jaoks, sh e-kaubanduse, mängude, asjade interneti ja sisuhalduse ettevõtetele. Selle skaleeritavus killustamise ja replikatsiooni kaudu sobib rakendustele, kus on miljoneid dokumente.

Võta see postitus kokku järgmiselt: