MongoDB

MongoDB
Tyyppi dokumenttisuuntautunut DBMS
Kehittäjä MongoDB
Sisään kirjoitettu C++ , C ja JavaScript
Käyttöjärjestelmä Linux , macOS , Microsoft Windows ja OpenBSD
Ensimmäinen painos 2009
uusin versio
Osavaltio Aktiivinen
Lisenssi Palvelinpuolen julkinen lisenssi ( SSPL ), entinen GNU AGPL (DBMS) ja Apache-lisenssi (ohjaimet)
Verkkosivusto mongodb.com
 Mediatiedostot Wikimedia Commonsissa

MongoDB  on dokumenttipohjainen tietokannan hallintajärjestelmä, joka ei vaadi taulukkokaavion kuvausta. Sitä pidetään yhtenä klassisista esimerkeistä NoSQL - järjestelmistä, ja se käyttää JSON -tyyppisiä asiakirjoja ja tietokantaskeemaa. Kirjoitettu C++ :lla . Sitä käytetään verkkokehityksessä, erityisesti JavaScript - suuntautuneessa MEAN-pinossa .

Ominaisuudet

Järjestelmä tukee ad-hoc- kyselyitä: ne voivat palauttaa tiettyjä asiakirjakenttiä ja mukautettuja JavaScript - toimintoja. Säännöllisten lausekkeiden haku on tuettu. Voit myös määrittää kyselyn palauttamaan satunnaisen joukon tuloksia [2] .

Indekseille on tuki .

Järjestelmä voi toimia joukon replikoita [3] kanssa, eli sisältää kaksi tai useampia kopioita tiedoista eri solmuissa. Jokainen replikajoukon ilmentymä voi toimia ensisijaisena tai toissijaisena replikana milloin tahansa. Kaikki luku- ja kirjoitustyöt tehdään oletuksena ensisijaiseen replikaan. Apukopiot pitävät tietojen kopiot ajan tasalla. Jos ensisijainen replika epäonnistuu, replikajoukko valitsee, mistä replikoista tulee ensisijainen. Toissijaiset replikat voivat valinnaisesti olla lukutoimintojen lähde.

Järjestelmä skaalautuu vaakasuunnassa käyttämällä tietokantaobjektien jakamistekniikkaa - jakaa niiden osat klusterin eri solmuihin. Järjestelmänvalvoja valitsee jakoavaimen, joka määrittää kriteerit, joilla tiedot jaetaan solmujen kesken (riippuen jakoavaimen hajautusarvoista). Antamalla kunkin klusterisolmun hyväksyä pyyntöjä, kuormituksen tasapainotus saavutetaan .

Järjestelmää voidaan käyttää tiedostovarastona kuormituksen tasapainottamisen ja tietojen replikoinnin kanssa ( Grid File Systemin [4] ominaisuus ; toimitetaan MongoDB-ajureiden mukana). Mukana on ohjelmistotyökaluja tiedostojen ja niiden sisällön käsittelyyn. GridFS:ää käytetään Nginxin [ 5] ja lighttpd :n laajennuksissa . [6] GridFS jakaa tiedoston osiin ja tallentaa jokaisen osan erillisenä asiakirjana. [7] .

Voi toimia MapReduce - paradigman mukaisesti . Tietojen yhdistämistä varten tarjotaan SQL -lausekkeen GROUP BY analogi ; aggregointioperaattorit voidaan ketjuttaa Unix-putkien tapaan . Viitekehyksessä on myös operaattori $lookupsiirtoon liittyvien asiakirjojen ja tilastotoimintojen, kuten keskihajonnan , linkittämistä varten .

JavaScript on tuettu kyselyissä, koontifunktioissa (esimerkiksi MapReducessa).

Kokoelmia, joissa on kiinteä koko, tuetaan. Tällaiset kokoelmat säilyttävät lisäysjärjestyksen ja toimivat kuin rengaspuskuri, kun ne saavuttavat tietyn koon .

Kesäkuussa 2018 (versiossa 4.0) lisättiin tuki tapahtumille, jotka täyttävät ACID :n [8] vaatimukset .

Tärkeimmille ohjelmointikielille ( C , C++ , C# , Go , Java , Node.js , Perl , PHP , Python , Ruby , Rust , Scala , Swift ) on viralliset ajurit. Muille ohjelmointikielille ja kehyksille on myös suuri määrä epävirallisia tai yhteisön tukemia ohjaimia.

Päärajapinta tietokantaan oli mongo -kuori . MongoDB 3.2:sta lähtien "MongoDB Compass" toimitetaan graafisena kuorena. On tuotteita ja kolmansien osapuolien projekteja, jotka tarjoavat GUI-työkaluja hallintaan ja tietojen katseluun.

Lisenssi

MongoDB julkaistiin alun perin GNU Affero General Public License -lisenssin versiolla 3. Kieliohjaimet ovat saatavilla Apache-lisenssillä. MongoDB on saatavilla ilmaiseksi Affero General Public License (AGPL) GNU:lla. Lokakuussa 2018 kehittäjäyhtiö ilmoitti siirtyvänsä tiukempaan SSPL-lisenssiin (Server Side Public License) verrattuna AGPL:ään [ 9] [10] . Tämän jälkeen Open Source Initiativen ja Free Software Foundationin edustajat aloittivat uuden lisenssin tutkimukset avoimen ja ilmaisen ohjelmiston määritelmien noudattamiseksi [11] .

Lisäksi MongoDB julkaisee kaupallisen version DBMS:stä, joka sisältää lisäominaisuuksia (esimerkiksi integroinnin SASL:n, LDAP:n, Kerberosin, SNMP:n kanssa), hallintatyökaluja, valvontaa ja varmuuskopiointia sekä tukea.

Käyttötapaukset

MongoDB sopii seuraaviin käyttötarkoituksiin:

Yritys

10gen aloitti MongoDB:n kehittämisen vuonna 2007 osana suunniteltua alustaa palvelutuotteeksi. Vuonna 2009 yritys siirtyi avoimen lähdekoodin tuotekehitysmalliin, joka tarjoaa kaupallista tukea ja muita palveluita. 27. elokuuta 2013 10gen muutti nimensä MongoDB, Inc:ksi.

20. lokakuuta 2017 MongoDB:stä tuli julkisesti noteerattu yhtiö , joka on listattu NASDAQissa ticker-symbolilla MDB.

10. maaliskuuta 2022 MongoDB varoitti käyttäjiään Venäjällä ja Valko-Venäjällä, että heidän MongoDB Atlas -alustalle (AWS:n, Microsoft Azuren ja Google Cloud Platformin tukema tietokannan pilviversio) tallennetut tiedot tuhotaan [12] .

Työkalut

Seuraavat komennot voidaan asettaa hallitsemaan ja hallinnoimaan tietokantajärjestelmää:

Muistiinpanot

  1. MongoDB 6.0 - 2022 julkaisutiedot.
  2. MongoDB Etsi komento . Haettu 9. maaliskuuta 2017. Arkistoitu alkuperäisestä 18. lokakuuta 2016.
  3. MongoDB. Johdatus replikointiin . MongoDB. Haettu 9. maaliskuuta 2017. Arkistoitu alkuperäisestä 11. huhtikuuta 2016.
  4. MongoDB. GridFS-artikkeli MongoDB-kehittäjäoppaasta . MongoDB. Haettu 9. maaliskuuta 2017. Arkistoitu alkuperäisestä 17. tammikuuta 2013.
  5. NGINX-laajennus MongoDB-lähdekoodille . GitHub . Haettu 9. maaliskuuta 2017. Arkistoitu alkuperäisestä 11. huhtikuuta 2016.
  6. lighttpd-laajennus MongoDB-lähdekoodille (downlink) . Bitbucket . Haettu 9. maaliskuuta 2017. Arkistoitu alkuperäisestä 7. elokuuta 2011. 
  7. Malick Md. MongoDB yleiskatsaus . Asiantuntijakaupunki . Haettu 9. maaliskuuta 2017. Arkistoitu alkuperäisestä 5. maaliskuuta 2014.
  8. Tapahtumat  _  _ . MongoDB. Haettu 12. joulukuuta 2018. Arkistoitu alkuperäisestä 18. joulukuuta 2018.
  9. mongodb/  mongo . GitHub. Haettu 19. lokakuuta 2018. Arkistoitu alkuperäisestä 16. syyskuuta 2020.
  10. MongoDB myöntää uuden palvelinpuolen julkisen lisenssin MongoDB Community Serverille  , MongoDB (  16. lokakuuta 2018). Arkistoitu alkuperäisestä 16. lokakuuta 2018. Haettu 19.10.2018.
  11. OpenNews: MongoDB siirretty uuteen lisenssiin, jonka avoimuutta ei ole vielä testattu . opennet.ru . Haettu 19. lokakuuta 2018. Arkistoitu alkuperäisestä 20. lokakuuta 2018.
  12. MongoDB tuhoaa kaikki venäläisten ja valkovenäläisten tiedot Arkistoitu 11. maaliskuuta 2022 Wayback Machinelle // SecurityLab.ru

Kirjallisuus

Linkit