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 .
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.
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.
MongoDB sopii seuraaviin käyttötarkoituksiin:
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] .
Seuraavat komennot voidaan asettaa hallitsemaan ja hallinnoimaan tietokantajärjestelmää:
Tietokannan hallintajärjestelmät (DBMS) | |
---|---|
Asiakas-palvelin | |
Moottorit | |
Tiedosto palvelin |