MongoDB

MongoDB
Típusú dokumentum-orientált DBMS
Fejlesztő MongoDB
Beírva C++ , C és JavaScript
Operációs rendszer Linux , macOS , Microsoft Windows és OpenBSD
Első kiadás 2009
legújabb verzió
Állapot Aktív
Engedély Server Side Public License ( SSPL ), korábban GNU AGPL (DBMS) és Apache License (illesztőprogramok)
Weboldal mongodb.com
 Médiafájlok a Wikimedia Commons oldalon

A MongoDB  egy dokumentum alapú adatbázis-kezelő rendszer , amely nem igényli a táblaséma leírását. A NoSQL rendszerek egyik klasszikus példájának tekinthető , JSON - szerű dokumentumokat és adatbázissémát használ. C++ nyelven írva . A webfejlesztésben használatos, különösen a JavaScript - orientált MEAN veremben .

Jellemzők

A rendszer támogatja az ad-hoc lekérdezéseket: adott dokumentummezőket és egyéni JavaScript függvényeket tudnak visszaadni . A reguláris kifejezések keresése támogatott. A lekérdezést úgy is beállíthatja, hogy véletlenszerű eredményhalmazt adjon vissza [2] .

Támogatják az indexeket .

A rendszer képes működni egy sor replikával [3] , azaz két vagy több adatmásolatot tartalmazhat különböző csomópontokon. Minden replikakészlet-példány bármikor működhet elsődleges vagy másodlagos replikaként. Alapértelmezés szerint minden olvasás és írás az elsődleges replikára történik. A kiegészítő replikák naprakészen tartják az adatok másolatait. Abban az esetben, ha az elsődleges replika meghiúsul, a replikakészlet választja ki, hogy a replikák közül melyik legyen az elsődleges. A másodlagos replikák opcionálisan az olvasási műveletek forrásai lehetnek.

A rendszer vízszintesen méreteződik az adatbázis-objektumok felosztásának technikájával – elosztva részeiket a fürt különböző csomópontjai között. Az adminisztrátor kiválaszt egy felosztási kulcsot, amely meghatározza azokat a feltételeket, amelyek alapján az adatok felosztásra kerülnek a csomópontok között (a felosztási kulcs hash értékeitől függően). Azáltal, hogy minden egyes fürtcsomópont fogadja a kéréseket, terheléselosztás érhető el .

A rendszer fájltárolóként használható terheléselosztással és adatreplikációval (a Grid File System [4] szolgáltatása; a MongoDB meghajtókkal együtt szállítjuk). Szoftvereszközök állnak rendelkezésre a fájlokkal és azok tartalmával való munkához. A GridFS-t az Nginx [5] és a lighttpd bővítményei használják . [6] A GridFS részekre osztja a fájlt, és minden részt külön dokumentumként tárol. [7] .

Működhet a MapReduce paradigma szerint . Az adatösszesítéshez a GROUP BY SQL kifejezés analógja áll rendelkezésre; Az aggregációs operátorok Unix-folyamatokhoz hasonlóan láncolhatók . A keretrendszernek van egy operátora is $lookupa feltöltéssel és statisztikai műveletekkel, például a szórással kapcsolatos dokumentumok összekapcsolására .

A JavaScript támogatott lekérdezésekben, összesítő függvényekben (például a MapReduce-ban).

A rögzített méretű gyűjtemények támogatottak. Az ilyen gyűjtemények megőrzik a beillesztési sorrendet, és gyűrűpufferként viselkednek, amikor elérik az adott méretet .

2018 júniusában (a 4.0-s verzióban) hozzáadásra került az ACID [8] követelményeinek megfelelő tranzakciók támogatása .

Vannak hivatalos illesztőprogramok a főbb programozási nyelvekhez ( C , C++ , C# , Go , Java , Node.js , Perl , PHP , Python , Ruby , Rust , Scala , Swift ). Számos nem hivatalos vagy közösség által támogatott illesztőprogram is létezik más programozási nyelvekhez és keretrendszerekhez.

Az adatbázis fő felülete a mongo shell volt . A MongoDB 3.2-től kezdve a "MongoDB Compass" grafikus héjként kerül szállításra. Vannak olyan termékek és harmadik féltől származó projektek, amelyek GUI-eszközöket kínálnak adminisztrációhoz és adatmegtekintéshez.

Engedélyezés

A MongoDB eredetileg a GNU Affero General Public License 3. verziója alatt jelent meg. A nyelvi illesztőprogramok az Apache licenc alatt érhetők el. A MongoDB ingyenesen elérhető az Affero General Public License (AGPL) GNU alatt. 2018 októberében a fejlesztő cég bejelentette, hogy áttér az AGPL-hez képest szigorúbb SSPL (Server Side Public License) copyleft licencre [9] [10] . Ezt követően az Open Source Initiative és a Free Software Foundation képviselői megkezdték az új licenc vizsgálatát a nyílt és szabad szoftver definícióinak való megfelelés érdekében [11] .

Ezenkívül a MongoDB kiadja a DBMS kereskedelmi verzióját, amely további szolgáltatásokat (például SASL, LDAP, Kerberos, SNMP-vel való integrációt), felügyeleti eszközöket, megfigyelést és biztonsági mentést, valamint támogatást tartalmaz.

Használati esetek

A MongoDB a következő felhasználásokra alkalmas:

Cég

A 10gen 2007-ben kezdte fejleszteni a MongoDB-t egy tervezett platform összetevőjeként, mint szolgáltatási termék. 2009-ben a vállalat nyílt forráskódú termékfejlesztési modellre tért át, amely kereskedelmi támogatást és egyéb szolgáltatásokat kínál. 2013. augusztus 27-én a 10gen nevét MongoDB, Inc-re változtatta.

2017. október 20-án a MongoDB a NASDAQ-on tőzsdén jegyzett társasággáMDB vált, ticker szimbólummal .

2022. március 10-én a MongoDB figyelmeztette oroszországi és fehéroroszországi felhasználóit, hogy a MongoDB Atlas platformon (az adatbázis AWS, Microsoft Azure és Google Cloud Platform által támogatott felhőverziója) tárolt adataik megsemmisülnek [12] .

Eszközök

A következő parancsok állíthatók be az adatbázis-rendszer kezelésére és adminisztrálására:

Jegyzetek

  1. A MongoDB 6.0 – 2022 kiadási megjegyzései.
  2. MongoDB Find Command . Letöltve: 2017. március 9. Az eredetiből archiválva : 2016. október 18..
  3. MongoDB. Bevezetés a replikációba . MongoDB. Letöltve: 2017. március 9. Az eredetiből archiválva : 2016. április 11.
  4. MongoDB. GridFS cikk a MongoDB fejlesztői kézikönyvről . MongoDB. Letöltve: 2017. március 9. Az eredetiből archiválva : 2013. január 17.
  5. NGINX bővítmény a MongoDB forráskódhoz . GitHub . Letöltve: 2017. március 9. Az eredetiből archiválva : 2016. április 11.
  6. lighttpd beépülő modul a MongoDB forráskódhoz (lefelé irányuló kapcsolat) . Bitbucket . Letöltve: 2017. március 9. Az eredetiből archiválva : 2011. augusztus 7.. 
  7. Malick Md. A MongoDB áttekintése . Expertstown . Letöltve: 2017. március 9. Az eredetiből archiválva : 2014. március 5..
  8. Tranzakciók  _  _ . MongoDB. Letöltve: 2018. december 12. Az eredetiből archiválva : 2018. december 18.
  9. mongodb/  mongo . GitHub. Letöltve: 2018. október 19. Az eredetiből archiválva : 2020. szeptember 16.
  10. A MongoDB új kiszolgálóoldali nyilvános licencet adott ki a MongoDB Community Server  , MongoDB számára (  2018. október 16.). Archiválva az eredetiből 2018. október 16-án. Letöltve: 2018. október 19.
  11. OpenNews: A MongoDB átkerült egy új licencre, amelynek nyitottságát még nem tesztelték . opennet.ru . Letöltve: 2018. október 19. Az eredetiből archiválva : 2018. október 20.
  12. A MongoDB megsemmisíti az oroszok és fehéroroszok összes adatát , 2022. március 11-én archiválva a Wayback Machine -n // SecurityLab.ru

Irodalom

Linkek