Mikä on MongoDB? Architecture, ominaisuudet ja esimerkki

⚡ Älykäs yhteenveto

MongoDB on dokumenttipohjainen NoSQL-tietokanta, jota käytetään suurten tietomäärien tallennukseen ja joka käyttää kokoelmia ja dokumentteja taulukoiden ja rivien sijaan. Tämä resurssi selittää MongoDB ominaisuudet, esimerkkidokumentti, keskeiset arkkitehtuurikomponentit, käyttötarkoitukset, datamallinnus ja miten se eroaa relaatiotietokannasta.

  • 📄 Asiakirjamalli: Data tallennetaan avain-arvo-dokumentteina kokoelmiin, ei taulukoihin.
  • 🧩 Joustava kaava: Kentät luodaan lennossa ilman ennalta määritettyä rakennetta.
  • 🏗️ Ydinkomponentit: _id, kokoelma, dokumentti, kenttä, kursori, tietokanta ja JSON.
  • ⚙️ Miksi käyttää sitä: Ad hoc -kyselyt, indeksointi, replikointi ja skaalautuvuus.
  • 🔄 Verrattuna RDBMS:ään: Kokoelmat korvaavat taulukot ja upotetut dokumentit korvaavat liitokset.

Mikä on MongoDB

Mikä on MongoDB?

MongoDB on dokumenttisuuntautunut NoSQL-tietokanta, jota käytetään suuren volyymin tietojen tallentamiseen. Sen sijaan, että käyttäisit taulukoita ja rivejä kuten perinteisissä relaatiotietokantoissa, MongoDB käyttää kokoelmia ja asiakirjoja. Asiakirjat koostuvat avain-arvo-pareista, jotka ovat tietojen perusyksikkö MongoDBKokoelmat sisältävät joukkoja dokumentteja ja funktioita, mikä vastaa relaatiotietokannan taulukoita. MongoDB on tietokanta, joka tuli julkisuuteen 2000-luvun puolivälissä.

MongoDB Ominaisuudet

  1. Jokainen tietokanta sisältää kokoelmia, jotka puolestaan ​​sisältävät dokumentteja. Jokainen dokumentti voi olla erilainen ja siinä voi olla vaihteleva määrä kenttiä. Kunkin dokumentin koko ja sisältö voivat vaihdella toisistaan.
  2. Asiakirjan rakenne vastaa paremmin sitä, kuinka kehittäjät rakentavat luokkansa ja objektinsa vastaavilla ohjelmointikielillään. Kehittäjät sanovat usein, että heidän luokkansa eivät ole rivejä ja sarakkeita, vaan niillä on selkeä rakenne avain-arvoparien kanssa.
  3. Rivit (tai asiakirjat kutsutulla tavalla MongoDB) ei tarvitse määrittää kaavaa etukäteen. Sen sijaan kentät voidaan luoda lennossa.
  4. Tietomalli saatavilla sisällä MongoDB mahdollistaa hierarkkisten suhteiden esittämisen, taulukoiden tallentamisen ja muiden monimutkaisempien rakenteiden tallentamisen helpommin.
  5. skaalautuvuus - MongoDB Ympäristöt ovat erittäin skaalautuvia. Yrityksillä ympäri maailmaa on määriteltyjä klustereita, ja jotkut niistä käyttävät yli sataa solmua ja noin miljoonia dokumentteja tietokannassa.

MongoDB esimerkki

Alla oleva esimerkki näyttää, kuinka asiakirja voidaan mallintaa MongoDB.

  1. _id-kentän lisää MongoDB tunnistaaksesi kokoelman asiakirjan yksilöllisesti.
  2. Huomaathan, että tilaustiedot (tilaustunnus, tuote ja määrä), jotka RDBMS:ssä normaalisti tallennetaan erilliseen taulukkoon, tallennetaan itse asiassa upotettuna dokumenttina itse kokoelmaan MongoDBTämä on yksi keskeisistä eroista siinä, miten dataa mallinnetaan MongoDB.

MongoDB esimerkki

Tärkeimmät komponentit MongoDB Archirakenne

Alla on muutamia yleisiä termejä, joita käytetään MongoDB:

  1. _ID – Tämä on pakollinen kenttä jokaisessa MongoDB asiakirja. _id-kenttä edustaa yksilöllistä arvoa MongoDB asiakirja. _id-kenttä on kuin asiakirjan ensisijainen avain. Jos luot uuden asiakirjan ilman _id-kenttää, MongoDB luo kentän automaattisesti. Jos esimerkiksi näemme yllä olevan asiakastaulukon esimerkin, MongoDB lisää 24-numeroisen yksilöllisen tunnisteen jokaiseen kokoelman dokumenttiin.
_Id Asiakas ID Asiakkaan nimi Tilausnumero
563479cc8a8a4246bd27d784 11 Guru99 111
563479cc7a8a4246bd47d784 22 Trevor Smith 222
563479cc9a8a4246bd57d784 33 Nicole 333
  1. Kokoelma – Tämä on ryhmäping of MongoDB dokumentteja. Kokoelma vastaa taulukkoa, joka on luotu missä tahansa muussa RDBMS:ssä, kuten Oracle tai MS SQL. Kokoelma sijaitsee yhden tietokannan sisällä. Kuten johdannosta käy ilmi, kokoelmat eivät pakota minkäänlaista rakennetta.
  2. Kohdistin – Tämä on osoitin kyselyn tulosjoukkoon. Asiakkaat voivat iteroida kohdistimen kautta hakeakseen tuloksia.
  3. tietokanta – Tämä on kokoelmien säilö, kuten RDBMS:ssä, jossa se on taulukoiden säilö. Jokainen tietokanta saa oman tiedostojoukkonsa tiedostojärjestelmään. A MongoDB palvelin voi tallentaa useita tietokantoja.
  4. Asiakirja – Ennätys vuonna a MongoDB Kokoelmaa kutsutaan pohjimmiltaan dokumentiksi. Dokumentti puolestaan ​​koostuu kenttien nimistä ja arvoista.
  5. Kenttä – Nimi-arvo-pari dokumentissa. Dokumentissa on nolla tai useampia kenttiä. Kentät ovat analogisia relaatiotietokantojen sarakkeiden kanssa. Seuraava kaavio näyttää esimerkin kentistä, joissa on avain-arvo-pareja. Alla olevassa esimerkissä asiakastunnus ja 11 ovat siis yksi dokumentissa määritellyistä avain-arvo-pareista.

Tärkeimmät komponentit MongoDB Archirakenne

  1. JSON – Tämä tunnetaan nimellä JavaKäsikirjoitus Objektin merkintä. Tämä on ihmisen luettavissa oleva pelkkä tekstimuoto strukturoidun tiedon ilmaisemiseen. JSON on tällä hetkellä tuettu monilla ohjelmointikielillä.

Vain lyhyt huomautus _id-kentän ja normaalin kokoelmakentän välisestä keskeisestä erosta. _id-kenttää käytetään yksilöimään kokoelman asiakirjat, ja sen lisää automaattisesti MongoDB kun kokoelma on luotu.

Miksi käyttää MongoDB?

Alla on muutamia syitä, miksi kannattaa alkaa käyttää MongoDB:

  1. Asiakirjasuuntautunut - Siitä asti kun MongoDB on NoSQL tyyppitietokanta, sen sijaan, että tiedot olisivat relaatiotyyppisessä muodossa, se tallentaa tiedot asiakirjoihin. Tämä tekee MongoDB erittäin joustava ja mukautuu todellisiin liike-elämän tilanteisiin ja vaatimuksiin.
  2. Ad hoc -kyselyt - MongoDB tukee kenttähakua, aluekyselyitä ja säännöllisten lausekkeiden hakuja. Asiakirjoissa voidaan palauttaa tiettyjä kenttiä koskevia kyselyitä.
  3. Indeksointi – Hakujen suorituskyvyn parantamiseksi voidaan luoda indeksejä MongoDB. Mikä tahansa kenttä kohdassa a MongoDB asiakirja voidaan indeksoida.
  4. replikointi - MongoDB voi tarjota korkean käytettävyyden replikasarjojen avulla. Replikasarja koostuu kahdesta tai useammasta MongoDB esiintymät. Jokainen replikajoukon jäsen voi toimia ensisijaisen tai toissijaisen replikan roolissa milloin tahansa. Ensisijainen replika on pääpalvelin, joka on vuorovaikutuksessa asiakkaan kanssa ja suorittaa kaikki luku-/kirjoitustoiminnot. Toissijaiset replikat ylläpitävät kopiota ensisijaisen replikan tiedoista sisäänrakennetun replikoinnin avulla. Kun ensisijainen replika vikaantuu, replikajoukko vaihtaa automaattisesti toissijaiseen replikaan, ja siitä tulee sitten ensisijainen palvelin.
  5. Kuormituksen tasapainoittaminen - MongoDB käyttää jakamisen käsitettä vaakasuoraan skaalaamiseen jakamalla tiedot useisiin MongoDB tapauksissa. MongoDB voi toimia useiden palvelimien yli, tasapainottaa kuormitusta ja/tai monistaa tietoja pitääkseen järjestelmän käynnissä laitteistovian sattuessa.

Tietojen mallinnus sisään MongoDB

Kuten johdanto-osiosta olemme nähneet, tiedot kohdassa MongoDB on joustava malli. Toisin kuin sisällä SQL tietokannat, joissa taulukon skeema on ilmoitettava ennen tietojen lisäämistä, MongoDBkokoelmat eivät pakota asiakirjarakennetta. Tällainen joustavuus on mitä tekee MongoDB niin voimakas.

Kun mallinnat tietoja MongoDB, pidä seuraavat asiat mielessä:

  1. Mitkä ovat sovelluksen tarpeet – Tarkastele sovelluksen liiketoimintatarpeita ja selvitä, mitä tietoja ja minkä tyyppisiä tietoja sovellus tarvitsee. Tämän perusteella varmista, että dokumentin rakenne päätetään vastaavasti.
  2. Mitä ovat tiedonhakumallit – Jos ennakoit kyselyiden käyttöä paljon, harkitse indeksien käyttöä tietomallissasi kyselyiden tehokkuuden parantamiseksi.
  3. Tehdäänkö tietokantaan usein lisäyksiä, päivityksiä ja poistoja? Harkitse indeksien käyttöä uudelleen tai sisällytä tarvittaessa sirpalointi tietomallinnussuunnitteluusi parantaaksesi kokonaisvaltaista tehokkuuttasi. MongoDB ympäristöön.

Erotus MongoDB & RDBMS

Alla on joitain keskeisiä termien eroja MongoDB ja RDBMS:

RDBMS MongoDB Ero
Pöytä Kokoelma In RDBMS, taulukko sisältää sarakkeet ja rivit, joita käytetään tietojen tallentamiseen, kun taas MongoDB Samaa rakennetta kutsutaan kokoelmaksi. Kokoelma sisältää dokumentteja, jotka puolestaan ​​sisältävät kenttiä, jotka puolestaan ​​ovat avain-arvo-pareja.
Rivi Asiakirja RDBMS:ssä rivi edustaa yhtä implisiittisesti jäsenneltyä tietokohdetta taulukossa. Sisään MongoDB, tiedot tallennetaan asiakirjoihin.
Sarake Kenttä RDBMS:ssä sarake tarkoittaa joukkoa tietoarvoja. Nämä sisällä MongoDB tunnetaan kentinä.
Liitosten Upotetut asiakirjat Rekisteritietojen hallintajärjestelmissä (RDBMS) data on joskus hajautettu useisiin taulukoihin, ja kaikkien tietojen täydellisen näkymän näyttämiseksi taulukoiden välille muodostetaan joskus liitos (join). MongoDB, tiedot tallennetaan normaalisti yhteen kokoelmaan, mutta erotellaan toisistaan ​​upotettujen dokumenttien avulla. Joten liitosten käsitettä ei ole MongoDB.

Termierojen lisäksi muutamia muita eroja on esitetty alla:

  1. Relaatiotietokannat tunnetaan tietojen eheyden varmistamisesta. Tämä ei ole selkeä vaatimus MongoDB.
  2. RDBMS edellyttää, että tiedot ovat normalisoitu ensinnäkin, jotta se voi estää orpotietueet ja kaksoiskappaleet. Datan normalisointi vaatii sitten useampia taulukoita, mikä puolestaan ​​johtaa useampiin taulukkoliitoksiin ja siten vaatii enemmän avaimia ja indeksejä. Tietokantojen kasvaessa suorituskyky voi alkaa olla ongelma. Jälleen kerran, tämä ei ole eksplisiittinen vaatimus MongoDB. MongoDB on joustava, eikä sitä tarvitse ensin normalisoida.

UKK

MongoDB tallentaa suuria määriä strukturoimatonta ja puolistrukturoitua dataa, mikä tekee siitä hyödyllisen tekoäly- ja koneoppimisputkille. Sen joustavat dokumentit sisältävät harjoitusdataa, ominaisuusjoukkoja ja mallimetatietoja, ja Atlas lisää vektorihaun tekoälysovelluksille.

Kyllä. MongoDB Atlas Vector Searchin avulla voit tallentaa ja hakea vektorien upotuksia dokumenttiesi rinnalla. Tämä tukee semanttista hakua, suosituksia ja haulla täydennettyä generointia tekoälysovelluksille ilman erillistä vektoritietokantaa.

MongoDB Yhteisöversio on ilmainen ja avoimen lähdekoodin. MongoDB tarjoaa myös Atlasin, hallitun pilvipalvelun, jossa on ilmainen versio, sekä Enterprise Editionin, jossa on edistynyt tietoturva ja tuki maksua vastaan.

Monet suuret organisaatiot käyttävät MongoDB suurten tietomäärien ja joustavaan tiedontallennukseen, mukaan lukien verkkokaupan, pelien, esineiden internetin ja sisällönhallinnan yrityksille. Sen skaalautuvuus sirpaloinnin ja replikoinnin avulla sopii sovelluksiin, joissa on miljoonia dokumentteja.

Tiivistä tämä viesti seuraavasti: