Studiul bazelor de date distribuite într-un limbaj NoSQL (MongoDB)
description
Transcript of Studiul bazelor de date distribuite într-un limbaj NoSQL (MongoDB)
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
Universitatea Politehnica Bucureşti - Facultatea de Electronică, Telecomunicaţii şi Tehnologia Informaţiei
1
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
2
Tehnologii folositeBack-end:
Front-end:
3
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 dezvoltare Intellij IDEA 12.1 Server GlassFish
4
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" 5
MongoDBMongoDB - bază de date axată
pe înregistrări de tip document ce poate asigura performanţe ridicate, disponibilitate si replicabilitate.
6
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) }
7
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
8
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 service9
Framework-ul Grails
- filozofia de programare: Convenție peste configurație
- metodologia Agile- integarbilitate cu JAVA
10
Descrierea aplicatiei
- Platforma de gestiune a activităţii unei agenţii imobiliare.
11
Structura bazei de date
12
Spring Security
13
Funcționalitățile aplicației
14
Funcționalitățile aplicației
15
Funcționalitățile aplicației
16
Testarea replicării
17
Tratarea defectelor
18
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.
19
Vă mulțumesc pentru atenția acordată!
20