8. MongoDB
Codifica!
JSON (BSON)
Performance!
scritto in C++
supporto pieno all’indicizzazione
operazioni atomiche
file mappati in memoria (scritture
ritardate)
Scalabilità!
replicazione
sharding
Supporto commerciale!
…tanta documentazione
9. Altre feature di
MongoDB
Query basate sul
documento!
linguaggio di
interrogazione flessibile
basato su JSON/Javascript
!
MapReduce!
aggregazione flessibile
GridFS!
memorizza file di qualsiasi
dimensione facilmente
10. Altre feature di
MongoDB
Query basate sul
documento!
linguaggio di
interrogazione flessibile
basato su JSON/Javascript
!
MapReduce!
aggregazione flessibile
GridFS!
memorizza file di qualsiasi
dimensione facilmente
14. MongoDB: concetti base
Documento!
analogia con una riga dei
RDBMS
rappresentazione tramite JSON
(BSON)
annidamento
può referenziare altri
documenti
Collection!
analogia con una tabella dei
RDBMS
collezione di documenti
i documenti possono essere
di diverso tipo ma…
…se sono simili i vantaggi
aumentano
15. MongoDB: concetti base
Incapsulamento!
analogia con una chiave
esterna nei RDBMS
relazioni unite senza uso
di join
modello concettuale più
chiaro
Collection posts
{
"author":
ObjectId(“53b9884344069471a1f19f05c5”),
"text":
“Un
post",
"comments":
[
{
"author":
ObjectId(“53b9884344069471a1h142356”),
"text":
“Un
commento”,
"replies":
[
{
"author":
ObjectId(“53b9884344069471a1f19f05c5”),
"text":
“Una
risposta"
}
]
}
]
}
Collection authors
{
{
“_id":
ObjectId(“53b9884344069471a1f19f05c5”),
"name":
“Matteo
Merola"
}
“_id":
ObjectId(“53b9884344069471a1h142356”),
"name":
“Carlo
Branca"
}
22. Replicazione
Scopo!
ridondanza
disponibilità del
dato
disaster recovery
Modalità!
tipica Master/Slave
ma con Failover
automatico
23. Sharding
Partizionamento!
i dati sono distribuiti su più
macchine
Big Data!
alta quantità di dati
memorizzabili
Alto throughput!
Scaling orizzontale!
più potente e meno costoso
dello scaling verticale
29. “The rise of NoSQL databases marks the end of
the era of relational database dominance. The
era of Polyglot Persistence has begun.”
–Martin Fowler, November 2011.
30. Università degli Studi di Salerno Scarica questa presentazione
Matteo Merola
mattmezza@gmail.com
Università degli Studi di Salerno