Овај чланак је започет или проширен кроз пројекат семинарских радова. Потребно је проверити превод, правопис и вики-синтаксу. Када завршите са провером, допишете да након |проверено=.
MongoDB je vodeća NoSQL baza podataka.[1] U skladu sa rastućim interesovanjem za alternativne sisteme za upravljanje bazama podataka, koji se razlikuju od tradicionalnih relacionih baza podataka, pojavio se koncept takozvanih NoSQL baza podataka, koje ne koriste SQL za povezivanje, nerelacione su, distribuirane, otvorenog koda i horizontalno skalabilne. Napisana je u C++ jeziku i otvorenog je koda, izdata pod kombinacijom GNU Affero General Public License i Apache License. MongoDB čuva podatke kao JSON dokumente sa dinamičkim šemama. JSON (JavaScript Object Notation) je otvoreni standard zasnovan na tekstu, osmišljen za razmenu podataka koji su pogodni za čitanje ljudima. MongoDB je prihvaćen kao backend softver brojnih značajnih veb-sajtova i servisa, uključujući Craigslist, eBay, Foursquare, SourceForge i New York Times.
MongoDB čini integraciju podataka u mnogim aplikacijama jednostavnijom i brzom. MongoDB je stvoren i podržan od strane kompanije 10gen.
Osnovne karakteristike
Smeštanje usmereno na dokumenta — JSON dokumenta sa dinamičkim šemama nude jednostavnost i snagu[2]
Apsolutna podrška indeksiranju — Indeksiranje bilo kog atributa
Replikacija i visoka dostupnost
Automatsko skaliranje — Horizontalno skaliranje bez ugrožavanja funkcionalnosti. Horizontalno skaliranje distribuira jedan logički sistem baze podataka izmedju skupa mašina
Upiti — Moćni upiti, bazirani na dokumentima
Brzi update
Mapiranje/Redukovanje — fleksibilna agregacija i obrada podataka
GridFS — čuva fajlove bilo koje veličine bez komplikacija. Umesto čuvanja fajla u pojedinačnom dokumentu, GridFS deli fajl na delove, ili blokove i čuva svaki od tih blokova kao poseban dokument[3]
Online shell pruža mogućnost isprobavanja MongoDB bez instalacije
Ad hoc upiti — MongoDB podržava pretragu po polju, upite po opsegu i pretrage po regularnim izrazima. Upiti mogu da vrate odredjena polja dokumenta, kao i da obuhvate korisnički definisane JavaScript funkcije
Izvršavanje JavaScript koda na strani servera — JavaScript se moze koristiti u upitima, agregatnim funkcijama (kao sto je MapReduce) i da se uputi direktno bazi podataka za izvršavanje
Jezička podrška
MongoDB ima zvanične drajvere za razne popularne programske jezike i razvojna okruženja. Postoje i mnogi nezvanični drajveri, podržani od strane otvorenih zajednica, za gotovo sve programske jezike i različita okruženja.
Izdanja
MongoDB Community Server
MongoDB Community Edition je besplatan i dostupan za for Windows, Linux i macOS operativne sisteme.[4]
MongoDB Enterprise Server
MongoDB Enterprise Server je komercijalno izdanje MongoDB-a i dostupno je kao deo pretplate za MongoDB Enterprise Advanced.[5]
MongoDB Atlas
MongoDB je takođe dostupan kao potpuno upravljana usluga na zahtev. MongoDB Atlas radi na platformama AWS, Microsoft Azure i Google Cloud.[6]
MongoDB je 10. marta 2022. upozorio svoje korisnike u Rusiji i Belorusiji da će njihovi podaci pohranjeni na platformi MongoDB Atlas biti uništeni kao rezultat američkih sankcija u vezi sa rusko-ukrajinskim ratom.[7]
Korišćenje
MongoDB je baza podataka za opštu upotrebu. Postoji mnogo projekata koji danas koriste MongoDB. Njena dinamička šema i objektno-orijentisana struktura, čine je pravim izborom za analitiku u realnom vremenu, kao i za e-komerc, mobilne aplikacije, arhiviranje i slično. Poznati slučajevi korišćenja MongoDB obuhvataju “big data” podatke, upravljanje sadržajem, mobilnu i društvenu infrastrukturu i mnoge druge. Takodje, pojavljuju se izazovi za korišćenje MongoDB za Business Intelligence modele.
Kritike
Sve do novembra 2012. godine, MongoDB standardni model vraćao je podatke koji su bili upisani tek pošto je unet tekući red čekanja od strane klijenta, što je značilo da osnovno podešavanje nije bilo dovoljno stabilno u slučaju pucanja na strani klijenta. Promena standardnog modela u sigurniji, izazvala je brojne zastoje u performansama, a i dalje ostaju brige da li sigurniji modeli i dalje čine podatke ranjivim u slučaju otkazivanja pojedinačne mašine, iako se većina ovih briga odnosi na starije verzije MongoDB (2.0 i 2.2).
MongoDB koristi "zaključavanje" čitaoci-pisac koja omogućava konkurentan pristup bazi podataka za čitanje, ali pisanje je omogućeno samo za jednu operaciju. Postoje i kritike koje se odnose na ograničenja MongoDB kada se koristi na 32-bitnim sistemima, što je u nekim slučajevima posledica nasleđenih memorijskih ograničenja. MongoDB preporučuje 64-bitne sisteme i zahteva od korisnika da obezbede dovoljno RAM memorije za rad.
Takođe, MongoDB obezbeđuje veoma ograničenu podršku za sortiranje UTF-8 enkodirane string podatke, što stvara ozbiljan problem prilikom smeštanja ne-engleskog teksta.
MongoDB World
MongoDB World je godišnja konferencija programera koju organizuje MongoDB, Inc.[8]
Chodorow, Kristina; Dirolf, Michael (2010), MongoDB: The Definitive Guide (1st ed.), O'Reilly Media;
Pirtle, Mitch (2011), MongoDB for Web Development (1st ed.), Addison-Wesley Professional;
Hawkins, Tim; Plugge, Eelco; Membrey, Peter (26. 9. 2010), The Definitive Guide to MongoDB: The NoSQL Database for Cloud and Desktop Computing (1st изд.), Apress, стр. 350, ISBN978-1-4302-3051-9