Che cos'è un Autonomous Database?

L'Autonomous Database è un database in cloud che utilizza funzionalità di Machine Learning per eliminare il lavoro umano associato alle attività di tuning, backups, update e messa in sicurezza e piu in generale a tutti i compiti a basso valore aggiunto che tradizionalmente i Database Administrator (DBA) sono obbligati ad eseguire manualmente.

Oracle Autonomous Database: Come funziona

Oracle Autonomous Database: Come funziona la miniatura del video
Guarda il video (14:32)

Rispetto alla tecnologia dei database tradizionali, l'Autonomous Database Cloud offre una disponibilità maggiore, una più elevata sicurezza e minori costi operativi.

Altre caratteristiche legate all'Autonomous Database sono self-driving, self-repairing e self-securing.

Self-driving indica che il database può eseguire il provisioning o anche il deploy dei database automaticamente, così come attività di monitoggio, backup, ripristino e risoluzione dei problemi. Self-driving indica anche la possibilità di aumentare o ridurre istantaneamente la capacità di elaborazione e storage senza downtime.

Self-securing si riferisce all'utiizzo dell'AI per rilevare e riparare le minacce abilitate AI abilitate e alla crittografia automatica dei dati. Un database con funzionalità di self-security è anche in grado di applicare automaticamente le patch di sicurezza.

I database con funzionalità di Self-repairing sono automaticamente protetti dal rischio di downtime. Con una disponibilità fino al 99,995%, un database con funzionalità di Self-repairing presenta meno di 2,5 minuti di inattività al mese, incluso il tempo della manutenzione pianificata.

Gli usi dei database di classe Enterprise

Miniatura video Gli usi dei database di classe Enterprise
Guarda il video (0:58)

I database memorizzano informazioni di business critiche e sono essenziali per un funzionamento efficiente delle aziende moderne. Se il database non è sicuro, l'azienda può essere a rischio di violazioni. Se il database funziona lentamente o non è disponibile, la produttività dei dipendenti può risentirne e i clienti possono rimanerne scontenti.

Le informazioni memorizzate in un sistema di database management possono essere altamente strutturate oppure i dati possono essere non strutturati. I dati possono essere direttamente accessibili a clienti e dipendenti o consultati indirettamente tramite altri software aziendali, siti Web o applicazioni mobile.

Esempi di informazioni strutturate memorizzate nei database
  • Registri contabili
  • Informazioni cliente
  • Informazioni dipendente
  • Registri manutenzione
  • Registri traffico rete
  • Informazioni sui prezzi
  • Inventario prodotto
  • Transazioni di vendita
  • Interazioni con i social media
  • Informazioni sulla Supply chain
Esempi di informazioni non strutturate memorizzate nei database
  • Immagini digitali, audio e file video
  • Programmazione del codice sorgente
  • Fogli di calcolo
  • Pagine del sito
  • Documenti di elaborazione di testi
Software che memorizza e accede alle informazioni memorizzate nei database
  • Contabilità
  • Software aziendale personalizzato sviluppato dal cliente
  • Customer Relationship Management (CRM)
  • Analisi dei dati e business intelligence (BI)
  • Enterprise Resource Planning (ERP)
  • Risorse umane (HR) / Gestione del capitale umano (HCM)
  • Product Lifecycle Management (PLM)
  • Sicurezza e gestione del registro
  • Supply Chain Management (SCM)
  • Server web

Le applicazioni aziendali possono aggiungere nuovi record ai database esistenti o utilizzare le informazioni del database per creare report, analizzare i trend o rilevare anomalie.

I database possono crescere fino a raggiungere dimensioni di molti terabyte: per la loro complessità, sono quindi tradizionalmente difficili per i database administrator da gestire, proteggere e ottimizzare per trarne le massime prestazioni.

Il ruolo del database Administrator

La miniatura del video Il ruolo del database Administrator
Guarda il video (0:49)

I database aziendali sono tradizionalmente gestiti da Database Administrator (DBA) che creano, modificano e ottimizzano i database per garantire le massime prestazioni sia durante l'archiviazione di nuovi dati in un database, sia nel recupero di tali dati.

Spesso, il processo di recupero dei dati da un database viene avviato tramite una query complessa dell'applicazione’. L'esecuzione della query può consumare molte risorse di calcolo e di accesso al disco. I risultati possono essere costituiti da molti record di database, che devono essere restituiti all'query dell'applicazione.

Una parte del lavoro del Database Administrator (DBA) che porta via moltissimo tempo è quella di organizzare il database in modo che le query eseguite frequentemente possano essere eseguite il più rapidamente possibile, consumando meno risorse possibile. Ciò richiede di studiare i tipi di query eseguite sul database e gli schemi di discernimento che porteranno a migliorare l'ottimizzazione. Il tuning delle performance è una parte continua della manutenzione del database. Un'attività correlata è la normalizzazione dei dati, che ristruttura i dati per ridurre la ridondanza e migliorare l'integrità dei dati.

Il DBA è responsabile per altre attività, molte delle quali devono essere eseguite su base giornaliera o su base regolare su tutti i database aziendali, che potrebbero essere dozzine o centinaia. Questo elenco di attività include:

  • Backup del database in caso di disastro o perdita di dati
  • Test dei backup per assicurarsi che il database possa essere ripristinato
  • Recupero dei dati persi in caso di incidente
  • Revisione dei registri di sicurezza per garantire che non si sia verificato un accesso inappropriato al database
  • Monitoraggio dei feed di informazioni del fornitore del software del database per avvisi di sicurezza, patch e aggiornamenti
  • Pianificazione e applicazione di patch e aggiornamenti quando richiesto
  • Regolazione delle impostazioni di sicurezza dei database per rispondere alle minacce
  • Autorizzazione di nuovi utenti e applicazioni per accedere al database
  • Monitoraggio del processore e dell'utilizzo della memoria del server del database
  • Creazione e gestione di schemi ossia categorizzazione dei dati
  • Assistere i software developer nelle loro domande sul database
  • Gestione degli strumenti di ETL - estrazione, trasformazione e caricamento
  • Monitoraggio dell'utilizzo del disco del database server
  • Aggiunta di più spazio di archiviazione o migrazione dello spazio di archiviazione, se necessario
  • Pianificazione dei futuri requisiti di capacità per il database
  • Risoluzione degli errori e altri problemi del database
  • Collaborare con gli utenti aziendali e gli sviluppatori per definire modelli di dati per nuove applicazioni o moduli

I DBA sono sovraccaricati; ciò può causare errori umani

Secondo alcune stime, circa il 40% dei DBA oggi sta gestendo 50 o più database ogni giorno. Nel frattempo, il 78% dei DBA afferma di sperimentare alcuni tipi di tempi di inattività non pianificati nel corso della propria carriera e la maggior parte fatica a coordinare più strumenti di gestione e di backup.

Nel frattempo, il 72% dei budget IT viene speso per la semplice manutenzione dei sistemi informativi esistenti, destinando solo il 28% all'innovazione. Chiaramente, esiste la necessità di ridurre lo sforzo necessario per mantenere i database, riducendo al contempo i tempi di inattività e migliorando le prestazioni.

Gli attuali carichi di lavoro possono causare errori da parte dei DBA e tali errori possono essere catastrofici in termini di uptime, prestazioni e sicurezza. Ad esempio, non riuscire ad applicare una patch o un aggiornamento per la sicurezza può creare vulnerabilità ma non riuscire ad applicare correttamente la patch può effettivamente indebolire o eliminare le protezioni di sicurezza.

Gli errori che si sente accadono quando i database in cloud non sono protetti da password o crittografia e i dati vengono rubati dagli hacker, sono quasi sempre causati da errori umani.

Gli obiettivi dell'Autonomous Database

Miniatura video Gli obiettivi dell'Autonomous Database
Guarda il video (0:37)

Un Autonomous Database ha tre obiettivi generali:

  • Garantire il massimo tempo di uptime e le più elevate prestazioni del database
  • Garantire la massima sicurezza del database, comprese patch e correzioni
  • Eliminare le attività di gestione manuali soggette a errori con l'automazione
  • Consentire ai DBA di applicare la propria esperienza in attività a più alto valore aggiunto

Lavorando con un database autonomo l'azienda può ridurre il numero di attività di routine di un DBA e affidargli compiti meno operativi che portino maggiore valore all'azienda, come la modellazione dei dati, un maggiore supporto ai programmatori sull'architettura dei dati e la pianificazione delle attività future.

In alcuni casi, un database autonomo può aiutare l'azienda a risparmiare denaro riducendo il numero di DBA che gestiscono i suoi database o destinandoli a una serie di attività ritenute più strategiche.

La Database Technology nel Cloud

Sono necessarie diverse tecnologie fondamentali per implementare database autonomi, in grado di gestire la manutenzione ordinaria, la scalabilità, la sicurezza, l'ottimizzazione del database e altre attività senza un DBA umano.

  • Aumentare o ridurre le risorse: Il server di un database basato su cloud può aumentare o ridurre istantaneamente le risorse di calcolo e di memoria, secondo le necessità. Ad esempio, un cliente può scalare passare da 8 core di elaborazione database a 16 core per supportare il picco di richieste di fine trimestre, per poi tornare agli 8 core meno costosi. Si potrebbero anche spegnere tutte le risorse di calcolo durante il fine settimana per ridurre i costi e poi riavviarle il lunedì mattina.
  • Patching del database: Molte intrusioni sui dati avvengono attraverso vulnerabilità di sistema per cui esistevano già patch di sicurezza o vulnerabilità, che però non erano ancora state applicate. Un autonomous database cloud applicherà le patch adeguandole ai server cloud in una sequenza progettata per eliminare i tempi di fermo dell'attività.
  • Machine Learning: Un database autonomo integra funzionalità di monitoraggio, gestione e analisi che sfruttano le tecniche di machine learning e di intelligenza artificiale. L'obiettivo è automatizzare l'ottimizzazione del database, prevenire le interruzioni delle applicazioni e rafforzare la sicurezza nell'intera applicazione del database.

Le tecniche utilizzate dagli algoritmi di machine learning e intelligenza artificiale dell'autonomous database dovrebbero includere l'ottimizzazione delle query, la gestione automatizzata della memoria e dello storage per offrire un database con funzionalità di ottimizzazione completamente automatica.

Gli algoritmi del machine learning possono aiutare a migliorare la sicurezza del database analizzando enormi quantità di dati registrati e indicando i valori e i modelli anomali prima che eventuali intrusioni possano provocare danni. Il machine learning può anche correggere, ottimizzare, eseguire il backup e aggiornare il sistema in modo automatico e continuato senza l'intervento manuale, mentre il sistema è in esecuzione. Ciò minimizza la possibilità che errori umani o comportamenti dannosi influenzino le operazioni o la sicurezza del database.

Autonomous Data Warehouse nel Cloud

La tecnologia dell'autonomous database richiede che i database aziendali vengano archiviati nel cloud, utilizzando un servizio cloud. Essere autonomi nel cloud consente all'azienda di sfruttare le risorse del cloud per distribuire in modo più efficace i database, gestirne i carichi di lavoro e assicurarne la protezione. Un servizio di database cloud rende disponibili le funzionalità di database online, quando e dove tali funzionalità sono necessarie.

I vantaggi di un servizio di database in cloud rispetto ai database già esistenti nel data center dei clienti includono:

Velocità Database e data warehouse possono essere creati nel cloud in pochi minuti piuttosto che in giorni o settimane.
Semplicità I database nel cloud possono essere configurati per essere completamente autonomi e possono essere facilmente utilizzati dal cloud o dalle applicazioni locali tramite le API (Application Programming Interface).
Elasticità I database nel cloud possono aggiungere nuove risorse di elaborazione e / o storage in modo indipendente, secondo le esigenze di crescita del business, senza tempi di inattività. Allo stesso modo, tali risorse possono essere ridotte dinamicamente (risparmiando denaro) in modo indipendente quando non sono più necessarie.
Sicurezza La sicurezza di un database in cloud permette di bloccare i cattivi attori interni ed esterni attraverso controlli a più livelli e implementazioni di best practice.
Conformità L'accesso al database in cloud è monitorato e registrato per l'audit e il controllo in ogni momento.

Scegliere un Autonomous Database

Queste funzionalità dovrebbero guidare il processo di scelta di un'azienda a favore di prodotti di database autonomi.

Automazione Il database esegue gli aggiornamenti, installa le patch e si ottimizza durante l'esecuzione. Gli aggiornamenti di sicurezza sono installati senza alcuna finestra di inattività necessaria.
Elevata disponibilità Gli accordi sul livello di servizio (Service Level Agreement) devono garantire almeno il 99,995% di affidabilità e disponibilità per ridurre al minimo i tempi di inattività pianificati e non pianificati a meno di 30 minuti all'anno.
Funzionalità di Self-securing L'autonomous database dovrebbe eseguire da solo tutte le patch e gli aggiornamenti del software e garantire che il database sia protetto da accessi non autorizzati, senza interromperne le operazioni o comprometterne la disponibilità.
Ottimizzazione automatica del database Ciò garantisce che il database consumi meno risorse di calcolo, memoria e I/O, fornendo allo stesso tempo risultati rapidi alle query e alle operazioni di archiviazione/recupero dei dati.