„MongoDB“ sauga, stebėjimas ir Atsarginė kopija („Mongodump“)

Turinys:

Anonim

Viena iš pagrindinių „MongoDB“ sąvokų yra duomenų bazių valdymas. Svarbūs duomenų bazės administravimo aspektai yra tokie svarbūs aspektai kaip saugumas, atsarginė kopija, prieiga prie duomenų bazių.

Šioje pamokoje sužinosite -

  • Duomenų bazių saugumo apžvalga
  • Atsarginės kopijos procedūros - mongodumpas
  • „Mongodb“ stebėjimas
  • Indeksavimas ir našumas

„MongoDB“ saugumo apžvalga

„MongoDB“ gali apibrėžti duomenų bazių saugumo mechanizmus. Pagal numatytuosius nustatymus nenorėtumėte, kad visi turėtų atvirą prieigą prie kiekvienos „MongoDB“ duomenų bazės, todėl svarbus reikalavimas turėti kažkokį saugumo mechanizmą „MongoDB“.

Toliau pateikiama geriausia praktika diegiant saugumą duomenų bazėse

  1. Įgalinti prieigos kontrolę - sukurkite vartotojus, kad visos programos ir vartotojai būtų priversti turėti tam tikrą autentifikavimo mechanizmą, kai pasiekia „MongoDB“ duomenų bazes.

  2. Konfigūruoti vaidmenimis pagrįstą prieigos valdymą - kartais gali būti logiškas leidimų, kurių gali prireikti, grupavimas, kuriuos galima suskirstyti į vaidmenis. Tada vartotojai gali būti priskirti šiems vaidmenims.

  3. Pabandykite sukonfigūruoti „MongoDB“ naudoti tam tikrą šifravimo protokolą, pvz., TLS ar SSL. Šie protokolai gali būti naudojami srautui, kuris teka tarp kliento ir „mongo DB“ aplinkos, užšifruoti.

  4. Konfigūruoti auditą - administratoriai paprastai turi žinoti, kas ką daro, o tai vėliau padeda analizuoti problemas. Geriausias būdas yra įgalinti auditą „MongoDB“.

  5. Paleiskite „MongDB“ serverio egzempliorių su atskiru vartotojo ID, kuris turi prieigą prie reikiamų išteklių serverio aplinkoje.

„Mongodb“ atsarginės kopijos procedūros - „mongodump“

Dirbant su „MongDB“, svarbu visada užtikrinti atsarginės kopijos procedūrą, jei „MongoDB“ duomenys būtų sugadinti dėl kokių nors priežasčių.

Žemiau pateikiami atsarginės kopijos mechanizmai, kuriuos galima įsigyti iš „MongoDB“

  1. Atsarginė kopijavimas pagrindiniuose duomenų rinkmenose - tai tikriausiai paprasčiausias mechanizmas, tereikia nukopijuoti duomenų failus, kuriuose gyvena „MongoDB“, ir nukopijuoti juos į kitą vietą, kuri idealiu atveju turėtų būti kitas serveris.
  2. Kurti atsarginę duomenų bazės kopiją naudojant „mongodump“ - „mongodump“ įrankis nuskaito duomenis iš „MongoDB“ duomenų bazės ir sukuria aukštos kokybės BSON failus. Reikia atsižvelgti į tai, kad jei duomenų rinkinys yra didelis, tada „mongodump“ gali reikalauti daug išteklių, todėl norint sušvelninti šią problemą, įrankis turėtų būti vykdomas antriniame serveryje.
  3. „MongoDB Cloud Manager“ atsarginė kopija - „MongoDB Cloud Manager“ nuolat sukuria „MongoDB“ replikų rinkinių ir suskaidytų grupių atsargines kopijas , skaitydama „Oplog“ duomenis iš „MongoDB“ aplinkos. „MongoDB Cloud Manager“ gali sukurti laiko atkūrimo tašką saugodamas „oplog“ duomenis, kad bet kuriuo metu galėtų sukurti atkūrimą konkrečiam replikų rinkiniui arba suskaidytai grupei.

„Mongodb“ stebėjimas

Stebėjimas yra viena iš svarbiausių MongoDB administracinių veiklų. Taip yra todėl, kad galite būti iniciatyvesni stebėdami aplinką, ar nėra galimų problemų.

Toliau pateikiami keli stebėjimo įgyvendinimo pavyzdžiai

  1. „mongostat“ jums pasakys, kiek laiko duomenų bazės operacijos, tokios kaip įterpimas, užklausa, atnaujinimas, ištrynimas ir kt. Tai suteiks gerą idėją, kiek apkrovos serveris apdoroja, ir nurodys, ar jums reikia papildomų išteklių serveryje, o gal papildomų serverių, kad paskirstytumėte apkrovą.
  2. „mongotop“ stebi ir praneša apie dabartinę „MongoDB“ egzemplioriaus skaitymo ir rašymo veiklą ir pateikia šią statistiką kiekvienai kolekcijai.
  3. „MongoDB“ teikia žiniatinklio sąsają, kuri pateikia diagnostikos ir stebėjimo informaciją paprastame tinklalapyje. Galima naršyti žemiau esančiame URL jūsų vietiniame serveryje, kad atidarytumėte žiniatinklio administravimo įrankį http: // localhost: 28017
  4. „ServerStatus“ komanda arba db.serverStatus () iš apvalkalo pateikia duomenų bazės būsenos apžvalgą, kurioje pateikiama išsami informacija apie disko naudojimą, atminties naudojimą, užmegztus ryšius su „MongoDB“ aplinka ir kt.

„MongoDB“ indeksavimas ir našumas

  1. Indeksai yra labai svarbūs bet kurioje duomenų bazėje ir gali būti naudojami siekiant pagerinti paieškos užklausų efektyvumą „MongoDB“. Jei dokumente nuolat atliekate paiešką, dokumento laukuose geriau pridėti indeksus, kurie naudojami pagal paieškos kriterijus.
  2. Stenkitės visada apriboti grąžintų užklausos rezultatų skaičių. Tarkime, kad dokumente turite 2 laukų pavadinimus, bet jūs tiesiog norite pamatyti 2 laukus iš dokumento. Tada įsitikinkite, kad jūsų užklausa taikoma tik norint rodyti 2 reikalingus laukus, o ne visus laukus.
  3. Jei norite peržiūrėti tam tikras lauko reikšmes, naudokite tik tuos laukus užklausoje. Neklauskite visų kolekcijos laukų, jei jų nereikia.

Santrauka:

  • Labai svarbu įdiegti saugumą duomenų bazėse, siekiant užtikrinti duomenų bazės duomenų saugumą.
  • Vartotojai gali būti sukurti duomenų bazėje naudodami komandą createUser. Vartotojams gali būti priskirti konkretūs vaidmenys, suteikiant jiems konkrečius leidimus pačiai duomenų bazei.
  • Administratorius galima pridėti, nes visos duomenų bazės yra skirtos tik konkrečioms duomenų bazėms. Tai pasiekiama suteikiant vaidmenį „userAdmin“ arba „userAdminAnyDatabase“.
  • Visada sukurkite atsarginę „MongoDB“ aplinkos atsarginę kopiją, kad nelaimės atveju duomenis būtų lengva atkurti.
  • Visada stebėkite savo „MongoDB“ aplinką, kad ji būtų aktyvesnė, ir pamatykite problemas, kol jos dar neatsiranda.