230 likes | 513 Views
Universitatea Politehnica Bucureşti - Facultatea de Electronică, Telecomunicaţii şi Tehnologia Informaţiei. Studiul bazelor de date distribuite într-un limbaj NoSQL (MongoDB). Absolvent : Dragoș-Mihai Zăbavă Coordonator : Șl . Dr. Ing . Valentin Pupezescu BUCUREŞTI, IULIE 2013. Cuprins.
E N D
Universitatea Politehnica Bucureşti - Facultatea de Electronică, Telecomunicaţii şi Tehnologia Informaţiei Studiulbazelor de date distribuiteîntr-un limbaj NoSQL (MongoDB) Absolvent : Dragoș-Mihai Zăbavă Coordonator: Șl. Dr. Ing. Valentin Pupezescu BUCUREŞTI, IULIE 2013
Cuprins • 1. Tehnologiile folosite • 2. Configuratia sistemului • 3. Concepte NoSQL • 4. MongoDB • 5. Replicabilitatea MongoDB • 6. Framework-ul Grails • 7. Descrierea aplicatiei • 8. Structura bazei de date • 9. Spring Security • 10. Functionalitatile aplicatiei • 11. Testarea replicarii • 12. Tratarea defectelor • 13.Concluzii
Tehnologii folosite Back-end: Front-end:
Configurația sistemului: • Procesor : Intel Core 2 Duo T7500 @ 2.20 Ghz • Memorie RAM: 3 Gb DDR2 • Sistem de operare: Ubuntu 11.04, 32 biți • Java – versiunea 1.6.0.41 • Grails – versiunea 2.1.0.RC3 • Mongo –versiunea 2.4.1 • Mediul de dezvoltareIntellij IDEA 12.1 • ServerGlassFish
Concepte NoSQL • - tabelele nu au o schema predefinita; • - înregistrările la nivelul bazei de date au un număr variabil de atribute de la o înregistrare la alta; • - solutii populare: • Mongo DB • Cassandra (Facebook) • Voldemort (LinkedIn) - "Who has viewed my profile"
MongoDB • MongoDB - bază de date axată pe înregistrări de tip document ce poate asigura performanţe ridicate, disponibilitate si replicabilitate.
Documente BSON (Binary JSON) • MongoDB îşi structurează înregistrările în documente de tip BSON. • Exemplu de document: • var mydoc = { _id: ObjectId("5099803df3f4948bd2f98391"), name: { first: "Dragos", last: "Zabava" }, birth: new Date('March 15, 1989'), contribs: [ "Turing machine", "Turing test", "Turingery" ], views : NumberLong(1250000) }
Replicabilitatea MongoDB • Pentru implementarea conceptului de replicabilitate, MongoDB se bazează pe principiul "Master - Slave"; • O bază de date poate avea până la 12 noduri (1 nod principal + 11 noduri secundare); • Maxim 7 noduri pot avea drept de vot
Aplicabilitate MongoDB • SAP - funcţionalitatea PaaS (Platform as a Service); • MTV - următoarea generaţie de CMS (Content management system); • Disney - proiectul Interactive Media Group; • Viber - aplicaţiile pentru iPhone si Android • O2 - Priority Moments service
Framework-ul Grails • - filozofia de programare: Convenție peste configurație • - metodologia Agile • - integarbilitate cu JAVA
Descrierea aplicatiei • - Platforma de gestiune a activităţii unei agenţii imobiliare.
Concluzii • MongoDB nu reprezintă soluţia ideală pentru dezvoltarea unei infrastruturi complexe însă, datorită vitezei mari de citire a datelor, se pliază foarte bine pe module mici din cadrul unui proiect complex. De asemenea, mulţumită facilităţii de replicare a bazei de date, oferă siguranţa unui plan de afaceri continuu. • Criteriul cel mai important în alegerea acestei baze de date a fost fiabilitatea, datorată mecanismului de tratare a defectelor. Folosind un set de replicări, pe lângă faptul că am asigurat redundanța datelor, am asigurat și fiabilitatea sistemului, aplicația putănd rula perfect și în urma defectării unora dintre instanțele setului de replicări.