Universitatea POLITEHNICA din Bucureti Facultatea de Electronic Telecomunicaii
Universitatea POLITEHNICA din Bucureşti Facultatea de Electronică, Telecomunicaţii şi Tehnologia Informaţiei PROCEDEU DE IMPLEMENTARE A BAZELOR DE DATE DISTRIBUITE CU UN SISTEM DE GESTIUNE AL BAZELOR DE DATE NOSQL (MONGODB) Conducător ştiinţific S. L. Dr. Ing. Valentin PUPEZESCU Absolvent Ioana MENGHERIȘ
Cuprins De ce Mongo. DB? Model al bazei de date relaţională - Mongo. DB Unde se află Mongo. DB faţă de celelalte SGBD Mongo. DB şi PHP Replicare Crearea unei baze de date Operaţii CRUD Operaţii de agregare Stocarea imaginilor Stocarea locaţiilor Concluzii
De ce Mongo. DB? Dezvoltată pentru nevoile de astăzi Exista similarităţi a conceptelor de bază Mongo. DB cu o bază de date relaţională Implementează o schema flexibilă Open source Uşor de învăţat Format BSON Disponibilitate ridicată Scalabilitate uşoară Arhitectură distribuită
Model al bazei de date Mongo. DB - relaţională
“Mongo. DB deţine cele mai bune caracteristici pentru înregistrările cheie-valoare, pentru bazele de date orientate pe documente şi pentru bazele de date relaţionale. ” John Nunemaker
Mongo. DB şi PHP Ubuntu 12. 04 Mongo. DB 2. 4. 4 PHP 5. 3. 10 Mongo. Php. Driver 1. 4. 1 Apache 2 web server Oracle Java 7 Geany 1. 23. 1 Rock. Mongo 1. 1. 3 Php. Mo. Admin 1. 0. 9 Laptop HP Pavilion DV 6 2. 10 GHz Intel Core 2 Duo Processor T 6500 OS 32 -bit Memorie RAM 3072 MB
“Mongo. DB vorbeşte PHP” “Mongo. DB este cea mai bună interfaţă (API) a oricărei extensii php” Matthew Weier O'Phinney PHP conţine suport Mongo. DB Complexitatea API Mongo e comparabilă cu PDO Timpul de dezvoltare este scurt Nu necesită invăţarea unui alt limbaj de interogare Dacă cerinţele aplicaţiei se schimbă, codul se adaptează uşor
Driverele ştiu care este primarul Daca primarul eşuează, driverele ştiu cum să obţină un nou primar (failover automat) Datele sunt replicate după scriere În mod obişnuit, se folosesc trei membri Arhitectura de tip sharednothing
Crearea unei baze de date
Operaţiile CRUD db. collection. insert( document|array ) db. collection. find( query, projection ) db. collection. update( query, update, options ) db. collection. remove( query, just. One ) $collection>find(/*criteria*/, /*fields*/) $collection>find. One(/*criteria*/) db. collection. save( document ) $collection->insert($article) $collection>update(array('_id'=>$article ('_id'), $article) $collection->remove (/*criteria*/) $collection->drop()
Operaţii de agregare Map. Reduce, o paradigmă funcţională de programare, ce efectuează agregarea şi grupează datele procesate. Funcția map preia documentele din colecţie şi produce un nou set de perechi cheie/valoare, care sunt transmise funcţiei reduce, ce le combină prin efectuarea unei operaţii oarecare pentru a produce un rezultat.
Stocarea imaginilor
Stocarea locaţiilor Indexarea geospațială API W 3 C Geolocation API Google Maps cerere AJAX
Concluzii Aplicaţie cu date puternic personalizate de utilizator Indecșii, replicarea, sintaxa de interogare bogată și modelul de date foarte flexibil, vin fără sacrificarea vitezei. Simbioza bazei de date Mongo. DB cu limbajul de programare PHP Dezvoltare rapidă si agilă Nu mai există grija complicaţiilor SQL Avantaje şi dezavantaje ale bazelor de date distribuite
Vă mulţumesc pentru atenţie! Ioana Mengheriş
- Slides: 20