Studiul bazelor de date distribuite într-un limbaj NoSQL (MongoDB)

Post on 24-Feb-2016

77 views 7 download

description

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. - PowerPoint PPT Presentation

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