MongoDB plafonate Collection-creați, Verificați , și decuplarea plafonate

Hope, te-ai bucurat ultimul nostru tutorial de MongoDB auto Increment secvență. Acum, ne vom uita la MongoDB plafonate de colectare. Acestea sunt colecții fixe, care acceptă operațiuni de mare viteză. Pe baza unei comenzi de inserare, putem insera și prelua un document. Mai mult, vom învăța cum să creăm, să convertim, să verificăm și să interogăm o colecție limitată în MongoDB.

în cele din urmă, vom vedea care sunt argumentele pro și contra cu aplicații de colectare plafonate MongoDB.

ce este colecția MongoDB plafonată

colecția MongoDB plafonată – creați, verificați, convertiți, decuplați capacul

rămâneți la curent cu cele mai recente tendințe tehnologice
Alăturați-vă DataFlair pe telegramă!!

ce este MongoDB plafonate colecții?

acestea sunt fixe de colectare, care acceptă operațiuni de mare debit. Pe baza unei comenzi de inserare, putem insera și prelua un document. Funcționează similar cu tampoanele circulare: odată ce un fișier de colecție este alocat spațiu, face loc pentru documente noi prin suprascrierea celor mai vechi documente din colecție.

înseamnă că începe ștergerea celui mai vechi document din colecție fără a furniza comenzi explicite. Colecția limitată restricționează actualizările dacă actualizările au ca rezultat o dimensiune mai mare a documentului. Stochează documente în ordinea stocării pe disc, deci păstrează o verificare a dimensiunii documentului, deoarece nu ar trebui să crească dimensiunea alocată discului. Este cel mai bine pentru stocarea informațiilor jurnal, date cache sau orice alte date de volum mare.

i. Cum se creează colecția limitată în MongoDB?

pentru a crea o colecție plafonată MongoDB, folosim comanda normal createCollection cu o opțiune plafonată ca true și specificând dimensiunea maximă a colecției în octeți.

>db.createCollection("cappedLogCollection",{capped:true,size:10000})

împreună cu is, putem limita numărul de documente din colecție folosind parametrul max-

>db.createCollection("cappedLogCollection",{capped:true,size:10000,max:1000})

știți cum să creați baze de date în MongoDB?

ii. cum se verifică dacă colecția este limitată sau nu?

dacă doriți să verificați dacă o colecție este limitată sau nu, utilizați următoarea comandă:

>db.cappedLogCollection.isCapped()

iii. Cum se convertește o colecție în plafonată?

dacă există o colecție existentă pe care doriți să o modificați la plafonată, o puteți face utilizând următoarea comandă:

>db.runCommand({"convertToCapped":"posts",size:10000})

iv. Cum de a găsi interogare pe colectare plafonate în MongoDB?

în general, o interogare de căutare dintr-o colecție limitată va afișa rezultatele în ordinea de inserare. Dar dacă doriți documentele în ordine inversă, utilizați comanda de sortare așa cum se arată mai jos:

>db.cappedLogCollection.find().sort({$natural:-1}

fapte despre colecția plafonată MongoDB

următoarele sunt câteva puncte de reținut despre colecțiile plafonate din MongoDB:

  1. nu puteți șterge documente dintr-o colecție limitată. Acesta poate fi șters automat numai la introducerea de noi documente atunci când dimensiunea alocată colecției a fost epuizată.
  2. după citirea documentelor dintr-o colecție limitată, MongoDB returnează același document în ordinea în care au fost prezente pe disc. Din acest motiv, face ca operațiile de citire să fie executate foarte rapid.
  3. operațiunea de actualizare are o restricție cu ea însăși. Dacă actualizarea din colecție are ca rezultat creșterea dimensiunii documentului, atunci nu va actualiza acel document din colecție, deoarece fiecare document are dimensiunea fixă în timpul primei Inserări în colecția plafonată.

Readng recomandat – Cum se actualizează documentul în MongoDB?

cum să desfaceți o colecție de capace MongoDB?

aici vom folosi două comenzi care sunt mongodump și mongorestore.

i. Dump colecția limitată

în primul rând, vom arunca colecția limitată.

PROD [email protected]:/data/uncap # mongodump -d mydb -c myexampleconnected to: 127.0.0.1:27017Sun Feb 5 00:02:28.879 DATABASE: mydb to dump/mydbSun Feb 5 00:02:28.880 mydb.myexample to dump/mydb/myexample.bsonSun Feb 5 00:02:31.004 Collection File Writing Progress: 868400/67569879 1% (objects)...Sun Feb 5 00:24:13.004 Collection File Writing Progress: 67480900/67569879 99% (objects)Sun Feb 5 00:24:14.203 67569879 objectsSun Feb 5 00:24:14.203 Metadata for mydb.myexample to dump/mydb/myexample.metadata.json

ii. Metafișier în format JSON

acum, dump include, de asemenea, un fișier de metadate în format JSON.

cat dump/mydb/myexample.metadata.json { "options": { "capped": true, "size": 107374182400 }, "indexes": }

aruncă o privire – MongoDB Backup & opțiunea de restaurare

iii. eliminați secțiunea „opțiune”

acum, după aceasta, eliminați secțiunea „opțiuni” care afișează dimensiunea colecției plafonate.

PROD [email protected]:/data/uncap # mongorestore -d mydb -c myexample_tmp dump/mydb/myexample.bsonconnected to: 127.0.0.1:27018Sun Feb 5 00:29:41.473 dump/mydb/myexample.bsonSun Feb 5 00:29:41.473 going into namespace Sun Feb 5 00:29:44.060 Progress: 51202216/106169934834 0% (bytes)Sun Feb 5 00:29:47.007 Progress: 106497873/106169934834 0% (bytes)Sun Feb 5 01:57:19.065 Progress: 106159626025/106169934834 99% (bytes)67569879 objects foundSun Feb 5 01:57:19.637 Creating index: { key: { _id: 1 }, ns: "mydb.myexample_tmp", name: "_id_" }

iv. creează indici pentru noi

după aceasta creează automat indici pentru noi. Verifică după asta.

rs-prod:PRIMARY> db.myexample.isCapped()truers-prod:PRIMARY> db.myexample_tmp.isCapped()falsers-prod:PRIMARY> db.myexample.count()9876543210rs-prod:PRIMARY> db.myexample_tmp.count()9876543210

v. aruncați colecția veche și redenumiți

după această picătură colecția veche și Redenumiți noua colecție.

db.myexample.drop()db.myexample_tmp.renameCollection('myexample')db.myexample.count()9876543210

avantajele colecțiilor plafonate

acestea sunt câteva beneficii:

  • interogările nu au nevoie de un index pentru a returna documentele în ordine de inserare, datorită cărora oferă un randament mai mare de inserare.
  • colecțiile plafonate permit actualizări care se potrivesc dimensiunii documentului original, ceea ce ne oferă asigurarea că documentul nu își schimbă locația pe disc.
  • este util să păstrați fișierele jurnal.

dezavantajele colecțiilor limitate

următoarele sunt limitările colecțiilor limitate în MongoDB:

  • dacă actualizarea unui document depășește dimensiunea originală a unei colecții, operația de actualizare eșuează.

de asemenea, relațiile Learn – MongoDB & referința bazei de date

  • nu este posibilă ștergerea documentelor dintr-o colecție limitată. Pentru a elimina toate înregistrările dintr-o colecție limitată, utilizați următoarea comandă:
{ emptycapped: nameOfCollection }
  • nu este posibil să ciobiți o colecție limitată.

aplicarea colecției plafonate

unele dintre aplicațiile unei colecții plafonate sunt următoarele:

  • logare aplicație
  • Istorie
  • informații de Audit

rezumat

prin urmare, am studiat totul despre MongoDB plafonate colecții – cum de a crea, converti, verifica, avantaje, dezavantaje. În cele din urmă am studiat despre mongodump și mongorestore sunt cele două comenzi utilizate pentru decuplarea colecției.

speranță. vi se pare util. Dacă aveți orice întrebare, nu ezitați să împărtășiți cu noi. Cu siguranță, ne vom întoarce la tine!

Subiect Înrudit-MongoDB ObjectId & Operațiuni Atomice

Lasă un răspuns

Adresa ta de email nu va fi publicată.