Академический Документы
Профессиональный Документы
Культура Документы
Rezumat: Bazele de date tradiţionale sunt puse la încercare din ce în ce mai mult de noile tipuri de aplicaţii care le
folosesc. Aceste tipuri de aplicaţii utilizează de regulă o cantitate mare de date complexe. Dacă în trecut pentru o mare
perioadă de timp bazele de date relaţionale esenţiale pentru aplicaţii web erau MySQL, astăzi aceste baze de date
relaţionale întâmpină multe dificultăţi în lucru cu cantităţi mari de date. Pe piaţa în care activează MySQL au pătruns
furnizorii de soluţii de baze de date cloud. Aceste baze de date cloud poartă numele de NoSQL- Not only SQL şi sunt
baze de date non relaţionale. Dezvoltarea NoSQL şi NewSQL ameninţă monopolul MySQL.
În acest articol vom analiza caracteristicile bazelor de date NoSQL, arătând care sunt avantajele şi dezavantajele acestora
faţă de modelul relaţional tradiţional şi cum pot fi folosite pentru a aduce un plus organizaţiei. De asemenea articolul de
faţă conţine o scurtă analiză a funcţionalităţilor bazei de date NoSQL, MongoDB, pentru a exemplifica practic uşurinţa
trecerii de la SQL la NoSQL şi simplitatea dezvoltării de aplicaţii în acest tip de baze de date.
Cuvinte cheie: Baze de date, NoSQL, SQL, model relaţional, open-source.
Abstract: Traditional relational database management systems are being challenged by the increasing requirements of
new application types. This king of applications usualy need to work with large amounts of complex type of data. If for a
long time open source relational databases like MySQL represented the basis for Web applications nowadays this well
known RDBMS faces a lot of challenges from the alternative database providers. The market where MySQL activates has
be opened to cloud database providers.This databases are called NoSQL- Not only SQL and they represent non relational
databases.The development of NoSQL and NewSQL and the new features of this type of databases are theatening the
MySQL monopol.
In this paper we are analyzing the characteristics of NoSQL databases, stressing the advantages and disadvantages
compared to the relational model and showing how can these databases can be used to help the organization.In addition,
this paper presents a short analysis on the features of MongoDB, in order to give a practicat example on the switch
between SQL and NoSQL and the ease in development with the latest kind of database.
Keywords: Databases, NoSQL, SQL, relational model, open-source.
1. Introducere
Orice organizaţie colecţionează cantităţi mari de date constând în informaţii necesare pentru
buna desfăşurare a activităţii de bussines. Aceste informaţii sunt stocate pentru a putea fi folosite în
analize viitoare, precum previziuni şi analize de bussines, cu scopul de a aduce un avantaj
competitiv. În mod tradiţional, organizaţiile stochează aceste date în baze de date relaţionale pentru
a putea avea acces la ele şi pentru a putea desfăşura analizele de bussines necesare. Cu toate
acestea, în ultima vreme mulţi dintre dezvoltatori au început să implementeze şi să lucreze cu baze
de date non relaţionale numite NoSQL-Not Only SQL.
Diversele baze de date NoSQL existente azi pe piaţă prezintă diferite abordari. Ceea ce au în
comun este faptul că nu sunt relaţionale. Principalul avantaj este acela că permit lucrul eficient cu
date nestructurate precum e-mail, multimedia, procesoare de text. În prezent există multe companii
care au dezvoltat propriile baze de date NoSQL. Cele mai populare sunt cele dezvoltate de către
companiile mari Web 2.0, precum Amazon and Google, din nevoia de a procesa cantităţi mari de
date. Acestea au dezvoltat Dynamo şi Big Table ce stau la baza multor alte baze de date NoSQL
existente acum pe piaţă.
La început
Limbajul SQL a fost inventat în 1970 la IBM. Acest limbaj a fost dezvoltat pentru a lucra cu
date structurate conform modelului relaţional al lui Edgar F. Codd şi reprezintă limbajul standard
pentru bazele de date relaţionale. SQL permite construirea de interogări pentru analiza unor
cantităţi mari de date structurate şi contibuie la buna desfăşurare a activităţilor economice ale unei
companii. Un exemplu concret este reprezentat de obţinerea de indicatori de performanţă pentru
MySQL
NoSQL
NewSQL
Figura 3
Datorită avantajelor menţionate, sistemele NoSQL sunt în ascensiune şi necesare proiectelor
web complexe. Pentru a fi adoptate la o scară cât mai largă, acestea trebuie să fie:
1. open-source
2. facil de utilizat
3. suficiente şi consistente
NoSQL-ul completează bazele de date relaţionale, se caracterizează prin lipsa unei scheme
fixe şi aduce în plus scalarea ca soluţie eficientă pentru seturile de date de dimensiuni mari.
4. MongoDB
Pentru a putea exemplifica practic bazele de date NoSQL am ales să analizăm baza de date
NoSQL MongoDB. În opinia noastră acesată bază de date este uşor de folosit pentru utilizatorii de
RDBMS-uri. MongoDB lucrează cu date nestructurate şi organizează aceste date în format
document. Implementarea acestei baze de date este mai uşoară decat un RDBMS deoarece ea
urmăreşte modelul cheie valoare şi nu are nevoie de o schemă predefinită a datelor. Conceptele
acesteia pornesc de la concepte tradiţionale, de aceea întelegerea filosofiei acestei baze de date este
ceva uşor de realizat. Prezentul articol urmăreşte atât prezentarea generală a bazei de date cât şi
instalarea şi utilizarea ei.
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.
Pentru a putea schimba baza de date în care se lucrează există urmăroarele instrucţiuni:
show dbs // afişează bazele de date existente pe server
user db_name // schimbă baza de date în lucru
show collections // afişează lista colecţiilor din baza de date curentă
Pas 1. Utilizatorii se logează într-o anumită locaţie. Vom crea baza de date cu locaţii.
5. Concluzii
Potrivit definiţiei formulate în acest articol bazele de date NoSQL reprezintă o trecere către
baze de date superioare ce vor integra flexibilitatea şi performanţele lor actuale cu modelul
relaţional. Odată cu apariţia bazelor de date NoSQL, dezvoltatorii au oportunitatea de a beneficia
de mai multă agilitate în modelul de date abordat. De asemenea aceste baze de date constituie
modelul optim pentru aplicaţiile web. De aceea cunoaşterea caracteristicilor lor este foarte
importantă, în special înainte de a migra la o astfel de soluţie.
Baza de date prezentată în acest articol, MongoDB este o bază de date ușor de înțeles și de
manipulat. Aceasta este ideală atât pentru proiecte mici, de test, cât şi pentru proiecte ce implică un
volum mare de date. În opinia noastră MongoDB este o bază de date ce va fi folosită din ce în ce
mai mult pe viitor datorită tendinţei actuale înclinată către aplicaţii Web.
În acest articol am realizat o prezentare a generaţiei noi de baze de date NoSQL, pe care le
considerăm un pas important în evoluţia bazelor de date, accentuând importanţa acestora.