MongoDB - Panoramica
MongoDB è un database multipiattaforma orientato ai documenti che fornisce alte prestazioni, alta disponibilità e facile scalabilità. MongoDB lavora sul concetto di raccolta e documento.
Banca dati
Il database è un contenitore fisico per le raccolte. Ogni database ottiene il proprio set di file sul file system. Un singolo server MongoDB ha in genere più database.
Collezione
La raccolta è un gruppo di documenti MongoDB. È l'equivalente di una tabella RDBMS. Esiste una raccolta all'interno di un singolo database. Le raccolte non applicano uno schema. I documenti all'interno di una raccolta possono avere campi diversi. In genere, tutti i documenti di una raccolta hanno uno scopo simile o correlato.
Documento
Un documento è un insieme di coppie chiave-valore. I documenti hanno uno schema dinamico. Schema dinamico significa che i documenti nella stessa raccolta non devono avere lo stesso insieme di campi o struttura e i campi comuni nei documenti di una raccolta possono contenere diversi tipi di dati.
La tabella seguente mostra la relazione tra la terminologia RDBMS e MongoDB.
RDBMS | MongoDB |
---|---|
Banca dati | Banca dati |
tavolo | Collezione |
Tupla / riga | Documento |
colonna | Campo |
Table Join | Documenti incorporati |
Chiave primaria | Chiave primaria (chiave predefinita _id fornita da MongoDB stesso) |
Server database e client | |
mysqld / Oracle | mongod |
mysql / sqlplus | mongo |
Documento di esempio
L'esempio seguente mostra la struttura del documento di un sito blog, che è semplicemente una coppia di valori chiave separati da virgole.
{
_id: ObjectId(7df78ad8902c)
title: 'MongoDB Overview',
description: 'MongoDB is no sql database',
by: 'tutorials point',
url: 'http://www.tutorialspoint.com',
tags: ['mongodb', 'database', 'NoSQL'],
likes: 100,
comments: [
{
user:'user1',
message: 'My first comment',
dateCreated: new Date(2011,1,20,2,15),
like: 0
},
{
user:'user2',
message: 'My second comments',
dateCreated: new Date(2011,1,25,7,45),
like: 5
}
]
}
_idè un numero esadecimale di 12 byte che assicura l'unicità di ogni documento. È possibile fornire _id durante l'inserimento del documento. Se non lo fornisci, MongoDB fornisce un ID univoco per ogni documento. Questi 12 byte, i primi 4 byte per il timestamp corrente, i successivi 3 byte per l'ID macchina, i prossimi 2 byte per l'ID processo del server MongoDB e i 3 byte rimanenti sono semplici VALORI incrementali.