Da un po’ di tempo si parla molto di come muterà il ruolo del DBA: il cambiamento tecnologico marcia a piena velocità e le presunte tendenze di successo a cui aggrapparsi sono sempre di più.
Personalmente, non mi piace subire i cambiamenti: preferisco cercare di essere partecipe di qualsiasi evento, a breve o lungo termine, influenzi il mio lavoro. Vediamo quindi quali sono i compiti di un Database Administrator oggi, nell'ottica di capire se nel prossimo futuro sarà una figura ancora richiesta all'interno di un’azienda.
Le responsabilità
Il focus giornaliero di un DBA è quello di garantire le performance, l’integrità e la sicurezza di un database. Per soddisfare questi aspetti, egli è coinvolto continuamente in problematiche legate alla pianificazione ed allo sviluppo di un database ed al troubleshooting di eventi segnalati dagli utenti o dai sistemi di monitoraggio. Questo comporta spesso un lavoro congiunto con diverse figure professionali all'interno dell’azienda, ognuna con competenze tecniche e funzionali diverse.
In particolare, il nostro amministratore di database dovrà:
- dotarsi di strumenti che gli consentano di avere sempre a disposizione una fotografia aggiornata della configurazione del server e dei database;
- monitorare le performance in modo da attuare tutte le variazioni necessarie per garantire un accesso ottimale ai dati da parte degli utenti;
- contribuire ad ottimizzare il design dei database in modo da sfruttare al massimo le caratteristiche dell’ambiente hardware utilizzato (storage, CPU, networking, virtualizzazione, etc.);
- mantenere aggiornato il DBMS applicando le ultime patch e service pack dopo averli testati;
- contribuire a stabilire le necessità informative di ogni utente e monitorare gli accessi e la sicurezza;
- gestire tutti gli aspetti legati a preservare i dati all'interno dell’azienda: disaster recovery prima di tutto.
Nuove tendenze
I database relazionali esistono ormai da mezzo secolo ma il ruolo del DBA, in questi ultimi anni, sta subendo un cambiamento dovuto ad alcune tecnologie e metodologie di lavoro che stanno facendo presa nel modo del data management. Penso che se in futuro affronteremo questo lavoro senza essere curiosi riguardo queste nuove tendenze e senza inserirle tra le nostre competenze, diventeremo delle “commodities”, delle risorse facilmente sostituibili e poco utili.
Il cloud
Come avevamo già discusso in un articolo di qualche tempo fa, ”Quattro motivi per cui un DBA è indispensabile nell’era del cloud computing”, il ruolo del DBA sta cambiando: alcune responsabilità verranno meno grazie alla crescente automazione dei processi più “meccanici”, ad esempio l’installazione, il patching, il backup, ma se ne aggiungeranno altre. Ormai il cloud è una realtà: molti clienti stanno spostando le loro applicazioni su infrastruttura che non è più fisicamente in azienda e sempre di più sono i servizi forniti dai software vendor in modalità Saas. Nascono esigenze nuove legate alla sicurezza del dato, alla sua disponibilità, alla complessità del networking, a problematiche di tuning che non potranno più essere affrontate con gli strumenti tradizionali.
Intelligenza artificiale
Sarà interessante vedere come l’evoluzione dell’intelligenza artificiale e dei modelli predittivi consentirà ad un database di effettuare una sorta di auto-tuning: già in SQL Server 2017 e Azure SQL Database sono presenti meccanismi tali da consentire da parte del DBMS un aggiustamento automatico dei piani di esecuzione utilizzati dalle query e la creazione automatica di indici. Anche in Oracle sono presenti meccanismi simili. Fino a dove riusciranno ad arrivare? Come potrà interagire il DBA con questi meccanismi? Sicuramente andranno governati in qualche modo e sarà necessaria una profonda conoscenza dei meccanismi interni del DBMS per farlo con consapevolezza ed efficienza.
DevOps e automazione
Il concetto di Devops, e con esso la metodologia Agile, è utilizzato da circa un decennio ed è diventato uno standard de facto seguito da moltissime aziende. Come dice la parola stessa, è una “filosofia” che integra il lavoro di sviluppatori ed addetti alle operations a vario titolo (sistemisti, quality assurance, etc.) con lo scopo di automatizzare una serie di processi ed aiutare le organizzazioni a sviluppare in modo più rapido ed efficiente prodotti e servizi software. L’insieme di attività per convertire alle tecnologie digitali i vari processi prende il nome di digital trasformation, e può riguardare i più disparati ambiti aziendali. La prassi prevede di iniziare l’ottimizzazione dal comparto IT e quindi estendere le nuove procedure automatizzate al resto dei processi aziendali. Le basi dati fanno parte sicuramente di questi processi e quindi è necessario maturare delle competenze che consentano al DBA di integrarsi maggiormente con gli altri stakeholders e reagire con velocità, continuità e riproducibilità.