Download as pdf or txt
Download as pdf or txt
You are on page 1of 9

MongoDB

Šta je MongoDB?

MongoDB je program za upravljanje bazama podataka


otvorenog koda bez SQL-a. NoSQL se koristi kao alternativa
tradicionalnim relacionim bazama podataka. NoSQL baze
su vrlo korisne za rad sa velikim skupovima distribuiranih
podataka. MongoDB je alat koji može upravljati
dokumentno orijentisanim informacijama, skladištiti ili
prenositi informacije.
MongoDB se koristi za skladištenje podataka velikog obima,
pomažući organizacijama da skladište velike količine podataka
dok i dalje brzo obavljaju operacije. Organizacije takođe koriste
MongoDB zbog indeksiranja, balansiranja opterećenja, agregacije,
izvršavanja JavaScript-a na serverskoj strani i drugih funkcija.

Umjesto korišćenja tabela i redova kao u relacionim bazama podataka,


kao NoSQL baza podataka, arhitektura MongoDB-a se sastoji od kolekcija i
dokumenata. Dokumenti se sastoje od parova ključ-vrijednost -- osnovna
jedinica podataka u MongoDB-u. Kolekcije sadrže skupove dokumenata.
MongoDB nudi podršku za mnoge programske jezike, kao što su C, C++,
C#, Go, Java, Python, Ruby i Swift.
Kako funkcioniše MongoDB?

MongoDB je platforma koja omogućava korisnicima da


lako kreiraju baze podataka. Ova baza podataka koristi
dokument-orientisan pristup, čime omogućava
skladištenje podataka kao kolekcija dokumenata.
Dokumenti su osnovna jedinica podataka u MongoDB-u i
sastoje se od parova polje-vrijednost. Za razliku od
tradicionalnih baza podataka, MongoDB koristi JSON
format za skladištenje podataka, što omogućava
efikasniju manipulaciju podacima i podržava različite
tipove podataka.
Skupovi dokumenata nazivaju se kolekcijama, koje funkcionišu kao
ekvivalent relacionih tabela baza podataka. Kolekcije mogu sadržati
bilo koji tip podataka, ali ograničenje je da podaci u kolekciji ne mogu
biti raspoređeni po različitim bazama podataka. Korisnici MongoDB-a
mogu kreirati više baza podataka sa više kolekcija.
Mongo shell je standardna komponenta open-source distribucija
MongoDB-a. Kada se MongoDB instalira, korisnici povezuju mongo ssa
svojim pokrenutim MongoDB instancama. Mongo shell deluje kao
interaktivni JavaScript interfejs za MongoDB, što omogućava
korisnicima da upituju ili ažuriraju podatke i obavljaju administrativne
operacije.
Zašto se koristi MongoDB?
MongoDB se koristi iz nekoliko razloga:
1. Skladištenje: MongoDB može skladištiti velike količine strukturiranih i
nestrukturiranih podataka i skalabilan je vertikalno i horizontalno. Indeksi se
koriste kako bi se poboljšala performansa pretrage, a pretrage se mogu vršiti
po polju, opsegu i izrazima.
2. Integracija podataka: MongoDB omogućava integraciju podataka za različite
aplikacije, uključujući hibridne i multi-cloud aplikacije.
3. Opisi kompleksnih struktura podataka: Baze podataka dokumenata
omogućavaju ugnježđivanje dokumenata radi opisa ugnježđenih struktura
(struktura unutar strukture) i mogu tolerisati varijacije u podacima.
4.Balansiranje opterećenja:MongoDB se može koristiti za rad preko više servera,
cciomogućavajući ravnotežu opterećenja i povećavajući otpornost sistema.
Karakteristike
MongoDB-a

1. Replikacija: MongoDB podržava visoku dostupnost putem


skupova replika, s primarnim i sekundarnim serverima.
2. Skalabilnost: Omogućuje vertikalno i horizontalno skaliranje za
povećanje kapaciteta.
3. Balansiranje opterećenja: MongoDB automatski rukuje
balansiranjem opterećenja bez potrebe za posebnim alatima.
4. Bez šeme: Funkcioniše bez unaprijed definisanih šema, što
olakšava upravljanje podacima.
5. Dokumenti: Podaci se čuvaju kao dokumenti s ključ-vrijednost
parovima, čineći ih fleksibilnijim u poređenju s tradicionalnim
SQL bazama podataka.
Prednosti

Bez šeme: MongoDB ne zahtijeva unaprijed definisane šeme, omogućavajući


skladištenje različitih tipova podataka i lakše skaliranje.
Orijentisan na dokumente: Korišćenje dokumenata olakšava mapiranje
podataka u različitim programskim jezicima i smanjuje potrebu za spajanjem
baza podataka, što može smanjiti troškove.
Skalabilnost: Horizontalna skalabilnost omogućava MongoDB-ju da efikasno
rukuje velikim količinama podataka i da ih distribuira preko više servera.
Podrška trećih strana: MongoDB podržava više sistema za skladištenje
podataka i omogućava trećim stranama da razvijaju svoje sisteme za
skladištenje podataka.
Agregacija: Ugrađene mogućnosti agregacije omogućavaju izvršavanje
MapReduce koda direktno na bazi podataka, što olakšava rad s podacima.
Nedostaci

Kontinuitet: Automatsko preuzimanje u slučaju pada


sistema može trajati i do minut, što može biti neadekvatno
za određene aplikacije.
Limiti upisa: Jedan glavni čvor ograničava brzinu upisa
podataka u bazu, što može usporiti rad u sistemima s
visokim opterećenjem.
Sigurnost: Podrazumevano, MongoDB ne omogućava
autentifikaciju korisnika, što može predstavljati sigurnosni
rizik ako se ne konfiguriše adekvatno.

You might also like