MongoDB

De la Wikipedia, enciclopedia liberă
MongoDB
DezvoltatorMongoDB Inc.
Versiune inițială2009  (2009)
Ultima versiune2.6.4 (  (2014-08-11))
Repogithub.com/mongodb/mongo Modificați la Wikidata
Stare de dezvoltareActiv
Scris înC++
Sistem de operareCross-platform
Disponibil înEngleză
TipDocument-oriented database
LicențăGNU AGPL v3.0 (drivere: licența Apache)
Prezență online
www.mongodb.org

MongoDB este o bază de date NoSQL open-source orientată pe documente. Acestă bază de date beneficiază de suport din partea companiei 10gen. MongoDB face parte din familia de sistemelor de baze de date NoSQL. Diferența principală constă în faptul că stocarea datelor nu se face folosind tabele precum într-o bază de date relațională, MongoDB stochează datele sub formă de documente JSON cu scheme dinamice.

Istorie[modificare | modificare sursă]

Dezvoltarea MongoDB a fost începută de 10gen în 2007, când compania dezvolta un produs platform as a service similar cu Windows Azure sau Google App Engine[1]. În 2009 MongoDB a fost transformat într-un produs open-source

În martie 2010, de la versiune 1.4, MongoDB a fost considerat gata pentru mediul de producție[2].

Caracteristici principale[modificare | modificare sursă]

MongoDB este o bază de date open-source NoSQL scrisă în C++. Aceasta poate conține mai multe baze de date, colecții și indecși. În unele cazuri (baze de date și colecții ) aceste obiecte pot fi create implicit. Odată create, ele se găsesc în catalogul sistemului db.systems.collection, db.system.indexes. Colecțiile conțin documente (BSON). Aceste documente conțin la rândul lor mai multe câmpuri. În MongoDB nu există câmpuri predefinite spre deosebire de bazele de date relaționale, unde există coloanele care sunt definite în momentul în care tabelele sunt create. Nu există schemă pentru câmpurile dintr-un document, acestea precum și tipurile lor pot varia. Astfel nu există operația de „alter table” pentru adăugare de coloane. În practică este obișnuit ca o colecție să aibă o structură omogenă, deși nu este o cerință, colecțiile putând avea structuri diferite. Această flexibilitate presupune ușurință în migrarea și modificarea imaginii de ansamblu asupra datelor.

Caracteristicile MongoDB
Stocarea datelor sub formă de documente ;
Baza de date MongoDB stochează obiecte (documente). Aceste documente reduc nevoia de join;
Prezintă support pentru indexare
Indexarea pe fiecare din atribute se face în modul tradițional (RDBMS) asupra cheilor de regăsire ale documentelor;
Disponibilitate - Disponibilitatea datelor este asigurată printr-un proces automat de failover;
Auto-Sharding
Shardingul sau partiționarea datelor pe orizontală se face automat. Citirile și scrierile sunt distribuite pe partiții. Lipsa joinurilor face ca interogările distribuite să fie rapide;
Limbajul de interogare
Limbajul de interogare este îmbunatatit și păstreaza principii SQL si C++;
Modificări rapide
MongoDB suportă operații de actualizare atomice căt și pe cele tradiționale. Operatiile de mai jos demonstrează flexibilitatea limbajului NoSQL
$inc - { $inc : { camp : valoare } } – incementează câmpul “camp” cu numărul dat ca valoare
$set -{ $set : { camp : valoare } } – câmpul „camp” ia valoarea dată
$push -{ $push : { camp : valoare } } – se adaugă valoarea dată câmpului specificat
$addToSet -{ $addToSet : { camp : valoare } } – adaugarea valorii într-un vector
$pop -{ $pop : { camp : 1 } } –șterge ultimul element dintr-un vector
$pop -{ $pop : { camp : -1 } } –șterge primul element dintr-un vector
$pull -{ $pull : { camp : _valoare } } – șterge toate valorile egale cu “valoare” din câmpul “camp
Map Reduce
MongoDB folosește map/reduce pentru agregare și procesare batch;
GridFS
Poate stoca fișiere de dimensiuni mari fără a complica stiva de date;
Suport
Există o cantitate mare de informații online – tutoriale , carți forumuri ce servesc pentru a asimila rapid lucrul cu MongoDB. [3]


Paralelă MySQL versus MongoDB
Termeni MySQL Concepte MongoDB
Bază de date Bază de date
Tabelă Colecție
Index Index
Rând Document BSON
Coloană Câmp BSON
Join Încapsulare și legatură
Cheie primară Câmpul cheie unică _id
Group by Agregare

Instalare MongoDB[modificare | modificare sursă]

Instalarea MongoDB este extrem de simplă. Această bază de date poate fi intalată pe sisteme de operare variate, incluzând Windows, Linux, Ubuntu, Debian și OS X. Mediul de dezvoltare în cazul acestui articol a fost reprezentat de MongoDB în Windows 7 Professional 32 bit. Sistemele 32 bit sunt folosite de obicei pentru testare, deoarece instalările MongoDB pe un astfel de sistem permit o capacitate maximă de stocare de 2G. De menționat este faptul că nu se permite instalarea pe sistemele Windows XP. De asemenea distribuția Mongo include fisierul bin/mongo ce reprezintă un shell interactiv scris în JavaScript și folosit în aceeași manieră în care este folosit SQl Plus pentru baze de date Oracle pentru comenzi în linie de comandă. Shellul este folositor pentru verificări teste si pentru funcțiile administrative.

Referințe[modificare | modificare sursă]

Bibliografie[modificare | modificare sursă]

  • Banker, Kyle (), MongoDB in Action (ed. 1st), Manning, p. 375, ISBN 978-1-935182-87-0 
  • Chodorow, Kristina; Dirolf, Michael (), MongoDB: The Definitive Guide (ed. 1st), O'Reilly Media, p. 216, ISBN 978-1-4493-8156-1 
  • Pirtle, Mitch (), MongoDB for Web Development (ed. 1st), Addison-Wesley Professional, p. 360, ISBN 978-0-321-70533-4 
  • Hawkins, Tim; Plugge, Eelco; Membrey, Peter (), The Definitive Guide to MongoDB: The NoSQL Database for Cloud and Desktop Computing (ed. 1st), Apress, p. 350, ISBN 978-1-4302-3051-9 

Legături externe[modificare | modificare sursă]