Come diventare Database Administrator

Il database administrator (DBA) è il professionista che è responsabile di tutte le attività amministrative legate ad un database. Si tratta di una delle figure professionali più importanti e qualificate all’interno del settore informatico, per la quale sono richieste esperienza e competenze sempre aggiornate.

Il DBA deve possedere contemporaneamente sia ottime conoscenze di tipo sistemistico e inerenti le infrastrutture e le reti informatiche, sia una profonda conoscenza del particolare database management system che sta amministrando.

Diventare Database Administrator: come formarsi

Diventare Database Administrator non è semplice: in primo luogo è necessario partire da un solido background informatico generale e in seguito specializzarsi nell’amministrazione di un particolare database come Oracle, Sql Server o Mongo Db. Un percorso di studi universitario nel ramo informatico è sicuramente sufficiente per poter approcciarsi alla materia, ma non indispensabile. Dopo qualche anno di esperienza come sviluppatore SQL  o data analyst si avranno le conoscenze necessarie per iniziare a studiare gli aspetti più generali di amministrazione.

Per formarsi adeguatamente diventa dunque fondamentale conoscere quali sono le attività che il DBA compie quotidianamente, in modo da studiare e sperimentare le modalità di lavoro più corrette, sicure ed efficienti. Per acquisire queste competenze occorrerà lo studio individuale delle documentazioni ufficiali dei vari database, oppure la lettura di libri di professionisti autorevoli del settore, l’aggiornamento con corsi di formazione erogati da docenti qualificati o l’esperienza diretta a lavoro sotto la guida di un DBA Senior.

I compiti del Database Administrator

Un amministratore di database deve svolgere svariate attività durante il processo di gestione dei dati aziendali. Vediamo quali sono.

Installazione e aggiornamento

Il DBA è in primo luogo responsabile della corretta installazione del database, deve dunque avere un’ottima conoscenza del sistema operativo in cui tale installazione sarà fatta e deve essere in grado di valutare e scegliere le componenti hardware e software necessarie per l’installazione. Deve inoltre pianificare quando e come effettuare upgrade di versioni ed eventualmente migrare i dati da un Database Management System ad un altro.

Diventa necessario dunque un continuo e costante aggiornamento per valutare di volta in volta se le nuove features introdotte nelle versioni successive dei database sono di importanza e utilità tali da giustificare il rischio e il lavoro necessario ad un’attività di aggiornamento di versione. Inoltre negli ultimi anni è diventato indispensabile conoscere nel dettaglio tematiche legate al Cloud e ai Big data.

Gestire la sicurezza del database

Il database administrator lavora in continua sinergia con i colleghi del reparto di sicurezza informatica per garantire la sicurezza e l’accesso controllato al database. In questo articolo puoi trovare un approfondimento sul modello di sicurezza dei database SQL, che sta assumendo un’importanza sempre più rilevante.

Il Dba è responsabile della corretta assegnazione dei diritti di lettura, scrittura e aggiornamento delle tabelle e delle viste agli sviluppatori SQL, oltre alla possibilità di eseguire il codice incapsulato in stored procedure. Alle competenze specifiche sullo specifico DBMS (come Oracle, Sql Server, MySql o PostgreSql) è necessario abbinare profonde conoscenze anche della sicurezza generale del sistema operativi su cui il sistema di gestione dei dati è installato, garantendo la sicurezza e la corretta gestione delle cartelle del file system dove sono salvati i file fisici del database.

Molto spesso ad un unico database devono accedere molteplici applicazioni (in alcuni casi sviluppate da terze parti esterne all’azienda) anche in contemporanea. È compito del DBA garantire il corretto e armonioso accesso al database di tutte queste applicazioni esterne, oltre ai data analyst e ai data scientist che lavorano direttamente sul database per progetti di analisi dei dati.

Performance del database

Nonostante l’immensa mole dei dati che i database attuali devono immagazzinare, è necessario che vengano garantite elevate performance nella velocità di estrazione e inserimento delle informazioni.

Le performance di un database possono dipendere da molteplici fattori, una parte di essi è sicuramente legata alla corretta scelta del database management system. Infatti, in base alle peculiarità del progetto e dei dati aziendali, può risultare più o meno idoneo scegliere un database di tipo relazionale dove i dati sono raggruppati in tabelle, oppure un database non relazionale con dati rappresentati in documenti in formato Json o grafi fatti da archi e nodi.

Una volta scelto il DBMS più idoneo alla gestione dei dati, diventa fondamentale conoscere tutte le caratteristiche e peculiarità di tale sistema, in modo da scrivere query efficienti e creare un’indicizzazione idonea a garantire un giusto compromesso tra le operazioni di lettura e quella di scrittura sul database.

Tali attività di tuning delle performance sono quindi strettamente legate al DBMS utilizzato. Al seguente link www.yimp.it/funzionalita-avanzate-progettazione-sql-server-preparazione-esame-70-762 è presente un corso che tratta tematiche avanzate per rendere un database Sql Server più veloce e imparare a leggere il piano di esecuzione delle query .

Il piano di esecuzione (QEP) mostra come il DBMS ha interpretato ed eseguito il codice SQL o NoSql scritto dal programmatore. La sua comprensione risulta dunque di fondamentale importanza per comprendere i motivi legati a rallentamenti e deterioramenti delle performance. Il suo studio diventa necessario per prendere decisioni legate alla creazione di indici o alla riscrittura più efficiente del codice di programmazione.

Backup e ripristino dei database

Il DBA deve garantire una corretta gestione delle operazioni di backup dei dati, per garantire il tempestivo ripristino delle informazioni in seguito a perdite dei dati causate da errori umani o da eventi imprevisti.

È necessario scegliere, adottare e automatizzare le operazioni di salvataggio dei dati in modo da raggiungere un giusto e condiviso compromesso tra lo spazio disponibile, l’impatto sulle performance e la necessità di poter ripristinare il database ad uno specifico istante di tempo.

Tali attività risultano particolarmente importanti e delicate, di conseguenza sono affidate generalmente a Database Administrator con molta esperienza, capaci di automatizzare le operazioni per ridurre al minimo i tempi di attesa e le possibilità di errore, garantendo al tempo stesso la sicurezza e l’immediata disponibilità dei dati salvati.