Come sta cambiando il ruolo del DBA

Datamaze
17.06.20 05:24 PM Comment(s)

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à:

  1. dotarsi di strumenti che gli consentano di avere sempre a disposizione una fotografia aggiornata della configurazione del server e dei database;
  2. monitorare le performance in modo da attuare tutte le variazioni necessarie per garantire un accesso ottimale ai dati da parte degli utenti;
  3. contribuire ad ottimizzare il design dei database in modo da sfruttare al massimo le caratteristiche dell’ambiente hardware utilizzato (storage, CPU, networking, virtualizzazione, etc.);
  4. mantenere aggiornato il DBMS applicando le ultime patch e service pack dopo averli testati;
  5. contribuire a stabilire le necessità informative di ogni utente e monitorare gli accessi e la sicurezza;
  6. 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 2017Azure 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à.


Database admin future


Cosa continueremo a fare

Il lavoro del DBA si dovrà specializzare sempre di più. Dovremo acquisire competenze sempre maggiori ed approfondite nei campi dell’architettura di un database, nei pattern implementativi che garantiscono più efficienza, nei suoi meccanismi interni.


Ci sono anche aspetti che per ora non potranno essere automatizzati perché dipendono molto dalle nostre esperienze passate e dalla nostra capacità di immaginazione (evito di chiamarla fantasia!). Disegnare la struttura logica e fisica di un database richiede competenze che possono, per ora, solo dipendere da un essere umano. Sicuramente potranno essere agevolate da innumerevoli strumenti per quanto riguarda l’implementazione, ma il disegno rimane una nostra prerogativa.


Il futuro del DBA è quindi luminoso! Magari diventerà un lavoro meno operativo e più incentrato su temi strategici, il che, personalmente, non mi dispiace. Dovremo occuparci di costruire soluzioni piuttosto che indici e tabelle ed analizzare dati piuttosto che gestirli.
Sicuramente, non ci annoieremo.

di Cristiano Gasparotto, pubblicato il 15 marzo 2019
Azure SQL Server