I dati, un bene prezioso da custodire con cura
La versione 5 di PHP propone diverse soluzioni per connettersi alla banca dati di un sito web. Vi è però un database molto sfruttato dai linguaggi di programmazione opensource: MySQL. In PHP, ad esempio, si può accedere a MySQL attraverso i layer di astrazione presenti nella versione standard (PDO e SDO) oppure attraverso la libreria MySQL. Quest’ultimo è un Database Management System relazionale che si compone di un client con un’interfaccia a caratteri ed un server. MySQL è disponibile sia per piattaforme Unix che Windows, anche se è molto più comune il suo utilizzo in ambito Unix. Le origini di MySQL risalgono al 1979, quando esso viene realizzato dalla ditta TcX ataconsult, oggi chiamata MySQL AB. Dal 1996, inoltre, MySQL è in grado di supportare la maggior parte della sintassi SQL. Inoltre MySQL offre interfacce diverse per i diversi linguaggi: include infatti un driver ODBC, due driver Java ed un driver per Mono e .NET. Il codice MySQL è di proprietà di MySQL AB ma viene distribuito con la licenza GNU GPL. Esiste una serie di strumenti per l’amministrazione di MySQL, detti MySQL manager. Il più noto è phpMyAdmin, che richiede un server web come Apache_HTTP_Server e deve essere supportato dal linguaggio PHP. Ma ne esistono anche altri, come il MySQL Front, il MySQLcc (MySQL control center), MySQL Administrator (amministrazione del database, degli utenti, operazioni pianificate, carico del server, ...) e MySQL Query Browser (per l’esecuzione di differenti tipi di query). Gestire un database ad ogni modo non è cosa facile: potremmo trovarci nelle condizioni di dover gestire ad esempio numerosi accessi simultanei, come nel caso di siti web molto visitati, o database molto “pesanti”, cioè con un numero ingente di dati. Il database va pertanto ottimizzato e con esso vanno modificate le configurazioni del nostro fornitore di hosting. L’amministratore del server dovrà impostare determinati valori tramite i file di configurazione tramite il comando SQL SHOW VARIABLES. Un’altra variabile importante per ottimizzare MySQL a livello di server e quindi di hosting è il comando key_buffer_size che consente di gestire lo spazio di memoria che il database occupa: in questo modo se il nostro accordo di hosting con il nostro fornitore prevede che a nostra disposizione vi sia un numero determinato di Kb, saremo in grado di gestire la parte di kb occupati da MySQL. Il comando table_cache indica invece il numero di tabelle che il nostro server può tenere aperte contemporaneamente. Queste considerazioni sono valide sia nel caso di shared hosting sia nel caso di housing, in quanto anche se la macchina è interamente a nostra disposizione, dovremo fare di tutto per mantenere lo spazio e la memoria ottimizzate.
|