Introduzione all'utilizzo di MongoDB in PHP

di Giuseppe Maggi - 16 novembre 2012

database MongoDB

Quasi ogni applicazione deve gestisce un archivio dati. Lo può fare in svariati modi ma il più comune è l'utilizzo di un database relazionale gestito tramite qualche noto DBMS: Oracle, MySQL, SQL Server, PostgreSQL, etc..

Parlare di database relazionali richiama subito alla memoria alcuni concetti fondamentali quali tabelle, relazioni, linguaggio SQL, ecc.. Essenzialmente un database relazionale può essere visto come un sistema strutturato per la conservazione ed il reperimento di dati, memorizzati all'interno di tabelle collegate tra loro da relazioni. Se predisposta bene, questa “infrastruttura” ci permette, attraverso il linguaggio SQL, di svolgere operazioni di aggregazione e filtraggio dei dati, anche molto complesse.

L'informatica attuale, fortemente condizionata dal mondo dei servizi Internet e dei social network, è chiamata a prendersi cura di moli sempre più imponenti di informazioni, collezionate con grande velocità da milioni di utenti. Ciò che spesso manca a questi dati raccolti è la possibilità di essere inquadrati in una struttura.

Nel mondo “relazionale” la strutturazione dei dati, definita in fase di progettazione delle tabelle, ha un ruolo dominante ed è l'elemento che prepara la strada all'azione del linguaggio SQL. Da alcuni anni però si stanno diffondendo soluzioni che impiegano un diverso approccio alla gestione della persistenza dei dati, finalizzato alla concentrazione di dati non strutturati che, pertanto, non possono fare uso del linguaggio SQL.

Questi prodotti, detti NoSQL, oggi costituiscono già un universo variegato. Il modo più pratico per approcciarne lo studio è raggrupparli per categorie.

Le principali, almeno come numero di prodotti che ne fanno parte, sono:

  • document-oriented, tra cui MongoDB, oggetto di questo articolo;
  • a grafo;
  • chiave/valore archiviato su disco;
  • ad oggetti.

MongoDB è uno dei più famosi database basati sui documenti, viene attualmente utilizzato in sistemi di produzione e deve la sua precoce fama a caratteristiche come:

  • la sua natura open source e multipiattaforma;
  • l'alta disponibilità di driver per l'interazione con diversi linguaggi;
  • propensione ad un'installazione scalabile su infrastrutture distribuite (auto-sharding, replicazione, implementazione dell'algoritmo MapReduce).
Pagine: 12 3 4 5 6
Effettua l'accesso o registrati per inserire un commento