Sari la conținut

MongoDB

De la Wikipedia, enciclopedia liberă
MongoDB

Подключение к MongoDB Shell
DezvoltatorMongoDB Inc.[*]  Modificați la Wikidata
Versiune inițială
Ultima versiune8.1.2[1]  Modificați la Wikidata ()
Repo[2] https://github.com/mongodb/mongo[2] Modificați la Wikidata
Stare de dezvoltareActiv
Scris înC++[3]
JavaScript
C
Python[4]  Modificați la Wikidata
Sistem de operareCross-platform
Disponibil înEngleză
LicențăServer Side Public License[*][[Server Side Public License (software license published by MongoDB Inc.)|​]][5][6]  Modificați la Wikidata
Prezență online
site web oficial
pagină Facebook
cont X

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.

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[7]. Î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[8].

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. [9]


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.

  1. ^ Release r8.1.2 (în engleză), , accesat în  
  2. ^ a b https://github.com/mongodb/mongo, accesat în   Lipsește sau este vid: |title= (ajutor)
  3. ^ , https://github.com/EvanLi/Github-Ranking/blob/master/Data/github-ranking-2025-07-06.csv  Lipsește sau este vid: |title= (ajutor)
  4. ^ Languages (în engleză), accesat în  
  5. ^ https://www.mongodb.com/licensing/server-side-public-license, accesat în   Lipsește sau este vid: |title= (ajutor)
  6. ^ https://jira.mongodb.org/browse/SERVER-37651, accesat în   Lipsește sau este vid: |title= (ajutor)
  7. ^ MongoDB daddy: My baby beats Google BigTable
  8. ^ „The MongoDB NoSQL Database Blog, MongoDB 1.4 Ready for Production”. Arhivat din original la . Accesat în . 
  9. ^ mongostat Manual

Legături externe

[modificare | modificare sursă]