MongoDB
MongoDB è un database orientato ai documenti e questi ultimi sono archiviati sotto forma di JSON.
E’ considerato uno dei migliori database NoSQL grazie alla sua flessibilità e scalabilità. Non è necessario avere uno schema prestabilito per i dati e in scenari complessi è possibile scalare orizzontalmente per distribuire il carico di lavoro tra i nodi.
Lo sviluppo di MongoDB è iniziato nel 2007 e Nel 2009 è stato reso open-source sotto licenza AGPL. Da quel giorno sono cambiate tante cose e MongoDB ha offerto nuove funzionalità ad ogni rilascio.
Installazione
MongoDB strizza l’occhio ai sistemi GNU/Linux e questo si traduce in semplicità di installazione e performance al massimo.
Vedremo come installare MongoDB 5.0 su un sistema dabasato su Red Hat Enterprise Linux.
Creazione del file repository
Editiamo il file /etc/yum.repos.d/mongodb-org-5.0.repo
[mongodb-org-5.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/5.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-5.0.asc
Scarichiamo le informazioni sui pacchetti e installamo MongoDB
# yum makecache && yum install -y mongodb-org
L’eseguibile che permette di avviare una instanza di MongoDB è mongod e al termine dell’installazione troveremo l’omonimo servizio. Il file di configurazione di mongod è /etc/mongod.conf e di default avremo il servizio in ascolto solo su 127.0.0.1 con i dati in /var/lib/mongo e i log in /var/log/mongodb
Avviamo il servizio
# systemctl start mongod
Utilizziamo la shell mongo e chiediamo di mostrarci i databases presenti.
# mongo
> show dbs;
admin 0.000GB
config 0.000GB
local 0.000GB
Ora siamo in grado ti utilizzare MongoDB per salvare i nostri dati.
Con MongoDB dobbiamo abbandonare il pensiero di tabelle e abbracciare il concetto di collection. Un database può contenere più collection e ogni collection conterrà i documenti JSON.
Per eseguire un test creeremo un database chiamato libreria e una collection chiamata libri.
> use libreria
> db.libri.insertOne({"Titolo": "Il Signore degli Anelli", "Autore": "J. R. R. Tolkien", "Volumi": 3})
{
"acknowledged" : true,
"insertedId" : ObjectId("61056e33b4af900d4a079c8a")
}
Per verificare il nostro inserimento basterà eseguire una query di ricerca.
> db.libri.findOne({})
{
"_id" : ObjectId("61056e33b4af900d4a079c8a"),
"Titolo" : "Il Signore degli Anelli",
"Autore" : "J. R. R. Tolkien",
"Volumi" : 3
}
Come avrete notato non è necessario creare il database e la collection ma basta inserire il documento. Nel momento in cui lanciamo l’insertOne MongoDB si preoccuperà di creare il database e la collection.
Le opinioni in quanto tali sono opinabili e nulla ti vieta di approfondire l’argomento.
Risorse: