Työskentely MongoDB Capped kokoelmat Java

Johdanto

Mongodbissa kokoelman kokoa ei yleensä ole rajoitettu. Mitä enemmän asiakirjoja indeksoi, sitä suuremmaksi kokoelma kasvaa. Lokitallennukseen tai suuritehoisiin sovelluksiin rajoittamattoman kokoinen kokoelma ei kuitenkaan aina ole ihanteellinen rakenne. Näissä tapauksissa, se on usein parempi käyttää erilaista kokoelmaa kutsutaan rajattu kokoelma. Tässä artikkelissa, opimme lisää tästä erityinen kokoelma tyyppi ja keskustella eduista ja haitoista työskennellä MongoDB capped kokoelmat Java.

Edeltävät opinnot

ennen kuin tarkastelemme tarkemmin rajattuja kokoelmia ja niiden toimintaa, on tärkeää tarkistaa järjestelmävaatimukset. Tähän tehtävään on vain yksi edellytys: sinun on varmistettava, että sekä MongoDB että MongoDB Java-ajuri on määritetty oikein etukäteen.

Mitä ovat MongoDB-rajatut kokoelmat?

kuten johdannossa totesimme, useimpien MongoDB-kokoelmien kokoa ei ole rajoitettu. Rajatut kokoelmat taas ovat kiinteäkokoisia pyöreitä kokoelmia, jotka noudattavat lisäysjärjestystä. Termi ”Pyöreä” viittaa siihen, että kun rajatun kokoelman kiinteä koko on saavutettu, se alkaa automaattisesti poistaa kokoelman vanhimpia asiakirjoja ja korvata niitä uusien asiakirjojen mukaiseksi– aivan kuten ympyränmuotoinen puskuri. Toinen rajattujen kokoelmien keskeinen ominaisuus on lisäysjärjestyksen säilyminen; tämä poistaa hakemiston tarpeen asiakirjojen palauttamiseksi lisäysjärjestyksessä. Kaiken kaikkiaan rajatun kokoelman rakenne ja toiminnallisuus tukee korkeaa suorituskykyä toimintojen luomiseen, lukemiseen ja poistamiseen.

MongoDB Capped Collection

vaikka tavallinen MongoDB collection toimii hyvin useimmissa olosuhteissa, on olemassa tiettyjä käyttötapauksia, joissa suorituskykyä voidaan optimoida käyttämällä sen sijaan rajattua kokoelmaa. Muutamia yleisiä käyttötapauksia ovat:

  1. lokitiedot
  2. välimuistitiedot
  3. tarkastustiedot

kaikissa näissä käyttötapauksissa suorituskykyä optimoi indeksin poistaminen sekä kokoelman kiertomuotoinen (first-in-first-out) luonne, joka ylläpitää järjestystä ja pitää tallennuskäytön kurissa.

Kuinka luoda MongoDB-rajattu kokoelma Java

nyt kun ymmärrämme, miten rajatut kokoelmat toimivat, katsotaan jotain koodia, joka hyödyntää niitä. Alla oleva koodi näyttää esimerkin MongoDB-rajatun kokoelman luomisesta:

näissä muutamissa koodiriveissä tapahtuu paljon, joten katsotaan tarkemmin ja kerrataan, mitä tapahtuu, rivi riviltä:

  1. ensin yhdistämme MongoDB: n, joka toimii paikallisesti.
  2. kun MongoDB-asiakasinstanssi on yhdistetty MongoDB-käyttöönottoon, käytämme getDatabase() – menetelmää tietokantaan pääsemiseksi.
  3. lopuksi käytetään createCollection() – menetelmää kokoelman eksplisiittiseen luomiseen. Tämän menetelmän avulla käyttäjä voi antaa erilaisia vaihtoehtoja käyttäen CreateCollectionOptions(). Tässä esimerkissä osoitimme, että kokoelma olisi rajattu ja että sen koko tavuina olisi 256.

koodin suorittamisen jälkeen heroDB tietokannassa on uusi heroColl kokoelma, jonka koko on rajoitettu 256 tavuun.

huomautus : MongoDB luo automaattisesti indeksin _id-kenttään, mutta tämä autoindeksi voidaan kytkeä pois päältä, jotta lisäosien suorituskyky paranee.

jos päätät poistaa auto-indeksin käytöstä, koodi näyttää jokseenkin tältä:

1
2
3
4
db.createCollection (”heroColl”, new CreateCollectionOptions ()
.capped (true)
.autoIndex (false)
.kokobyteet(256));

kuinka lisätä MongoDB-dokumentti MongoDB-rajattuun kokoelmaan Java

seuraavaksi, tarkastelemme esimerkkiä, jossa lisäämme dokumentin rajattuun kokoelmaamme:

tämän koodin suorittamisen jälkeen voimme tarkistaa insert-toiminnon MongoDB-komentotulkin avulla.

  • ensin pääsy ”heroDB” – tietokantaan:
1
2
käytä heroDB: tä
vaihdettu dB heroDB: hen
  • sitten, löytää asiakirjat sisällä ”heroCall” kokoelma:
1
db.heroColl.löytää().nätti()
  • palautettujen tulosten pitäisi näyttää seuraavilta:
1
2
3
4
5
6
7
{
”_tyhjennä” : ObjectId(”5ce4dc71a7986c1842433d0f”),
”heroName” : ”Ethan”,
”age” : 25,
”nationality” : ”American”,
”movie” : ”mission impossible”
}

MongoDB Capped Collectionin edut

MongoDB capped Collectionin kanssa työskentelyssä on muutamia keskeisiä etuja:

  1. MongoDB-rajatut kokoelmat tarjoavat suuremman suoritustehon, koska kyselyt eivät tarvitse indeksiä asiakirjojen palauttamiseen insignaatiojärjestyksessä.

  2. rajattu kokoelma tekee päivityksen vain, jos Päivitetty asiakirja sopii alkuperäiseen asiakirjan kokoon. Näin varmistetaan, että asiakirjat eivät muuta sijaintiaan levyllä.

  3. rajatun kokoelman kiinteä koko ja Pyöreä luonne tekevät siitä ihanteellisen valinnan lokitiedostojen tallentamiseen.

MongoDB-rajatun kokoelman haitat

vaikka rajatun kokoelman käytöstä on useita etuja, on muutamia haittoja pidettävä mielessä:

  1. päivitysoperaatio epäonnistuu, jos päivitys kasvattaa MongoDB-rajatun kokoelman alkuperäistä kokoa.

  2. rajatun kokoelman asiakirjoja ei voi poistaa. Poistaminen tapahtuu automaattisesti, kun kiinteä koko on saavutettu ja vanhin asiakirja poistetaan, jotta tilaa uudelle asiakirjalle. Voit kuitenkin käyttää {emptycapped: theCollection}: ää kaikkien rajatun kokoelman dokumenttien poistamiseen.

  3. et voi sirpaloida MongoDB-rajattua kokoelmaa.

johtopäätös

jos vasta tutustuu MongoDB: n rajattuihin kokoelmiin, huomaa, että ne ovat aivan erilaisia kuin tavalliset kokoelmat. Rajatut kokoelmat tarjoavat monia etuja suuritehoisille lokitallennuksille ja suuritehoisille sovelluksille, joten on tärkeää ymmärtää, miten ne toimivat ja osata käyttää niitä. Tässä opetusohjelmassa annetuilla ohjeilla sinulla ei ole vaikeuksia työskennellä MongoDB-rajattujen kokoelmien kanssa omissa sovelluksissasi.

Vastaa

Sähköpostiosoitettasi ei julkaista.