Oracle Database è il database relazionale commerciale più famoso al mondo. Parte del suo successo deriva, oltre che da aspetti prettamente tecnici, anche dalla possibilità di poterlo eseguire sulla maggior parte delle architetture e dei sistemi operativi disponibili. Più di dieci anni fa Oracle ha deciso di sviluppare una soluzione ingegnerizzata espressamente pensata per l’esecuzione di Oracle Database, che permettesse di esprimerne tutte le potenzialità. Nel 2010 è nata quindi la Oracle Exadata Database Machine, conosciuto tutt’oggi come Oracle Exadata.
Oracle Exadata è una soluzione hardware/software basata su Linux e architettura x86-64. Grazie al suo design, offre la possibilità di consolidare su un singolo sistema decine di database, anche con tipologie di workload differenti. La stretta integrazione tra hardware e software, oltre alla presenza di componenti intelligenti, permette anche l’esecuzione contemporanea di carichi di lavoro data warehouse con altri di tipo transazionale.
Oracle Exadata è un sistema ingegnerizzato, non una black box
Un sistema Exadata è costituito da un numero variabile di database server (minimo due), di storage server (minimo tre) e da una serie di componenti di rete. I database server ospitano il software Oracle Database e non differiscono significativamente da normali server Linux. La differenza significativa rispetto ad altre soluzioni disponibili sul mercato è rappresentata dagli storage server. Essi infatti non sono un semplice insieme di dischi. Sono invece dei server completi, equipaggiati con software in grado di capire il tipo di operazioni richieste dal database Oracle.
Questo consente di applicare strategie direttamente a livello di storage che riducono la quantità di dati restituiti al database. Così, i tempi di esecuzione delle query vengono drasticamente abbattuti. Questa tecnologia, tra le più famose di Exadata, prende il nome di Smart Scan. Altre tecnologie di Exadata in grado di migliorare tutti i tipi di workload sono: Smart Flash Cache (gestione intelligente della cache allocata sui dispositivi flash); Storage Indexes (indici che vengono gestiti direttamente dal software Exadata); Hybrid Columnar Compression (compressione che può arrivare a ridurre di quindici volte l’occupazione di tabelle).
Oltre a questi aspetti, va inoltre considerato che gli storage server sono disponibili in tre versioni differenti, combinabili all’interno dello stesso Exadata. Nello specifico abbiamo Extreme Flash Exadata Storage Server, costituito esclusivamente da dispositivi di tipo NVMe; High Capacity Exadata Storage Server, che presenta hard disk convenzionali più NVMe; Extended Exadata Storage Server, costituito unicamente da hard disk convenzionali. Extreme Flash rappresenta la soluzione più veloce, Extended rappresenta quella più capiente mentre High Capacity risulta essere una via di mezzo. Sia Extreme Flash che High Capacity includono moduli di memoria specifici, che rendono l’accesso ai dati ancora più veloce.
Fisico o virtualizzato: Oracle Exadata accontenta tutti
L’architettura di Exadata è flessibile e permette di predisporre questi sistemi sia in modalità bare metal che in modalità virtualizzata. Nel primo caso, i database possono accedere all’hardware sottostante in maniera diretta. Nel secondo caso, invece, su di un sistema Exadata vengono creati uno o più cluster virtuali, isolati tra loro dal punto di vista del consumo di risorse ma ovviamente in grado di comunicare via rete, se ammesso.
Questo rende possibile consolidare su un singolo Exadata svariati ambienti operativi (sviluppo, preproduzione, integrazione, etc), con un netto beneficio dal punto di vista dello sfruttamento delle capacità hardware ma con la garanzia dell’isolamento tra di essi. Nel caso di sistemi virtuali è possibile specificare il quantitativo di risorse utilizzabili da ciascun cluster virtuale (CPU, RAM, storage) e variarlo in base alle specifiche necessità contestuali.
Exadata in Cloud: potenza on-demand
Considerate le sue caratteristiche, Exadata è stato ovviamente scelto come colonna portante per l’offerta di servizi di Oracle Cloud Infrastructure. Abbiamo già parlato di come i servizi di Autonomous Database utilizzino Exadata e ne sfruttino appieno le caratteristiche. Oracle Exadata Database Service on Dedicated Infrastructure, detto anche anche Exadata Cloud Service, offre un intero sistema Exadata, personalizzabile dal punto di vista del numero di database server e storage server.
Rispetto ad una soluzione On-Premises il vantaggio principale è legato alla possibilità di variare in maniera dinamica le risorse assegnate (CPU, RAM). Questo comporta vantaggi economici significativi nel caso in cui si tratti di sistemi di Disaster Recovery o di profili di carico variabili nel corso dell’anno.
Hybrid Cloud ed Exadata: accoppiata vincente
Cosa fare nel caso in cui si fosse impossibilitati a spostare il proprio carico di lavoro su Exadata Cloud Service ma si volesse comunque sfruttarne la flessibilità? Semplice: ci si dovrebbe affidare a Exadata Cloud@Customer. Si tratta di un Exadata analogo a quello offerto in Cloud ma posizionato nel data center del cliente. Può essere gestito attraverso la stessa interfaccia con cui vengono gestiti i servizi Oracle Cloud.
Ovviamente Exadata Cloud@Customer gode della stessa flessibilità della sua controparte Cloud pura. Inoltre, permette di variare il numero delle CPU dedicate a seconda delle necessità o lo spazio allocato ai cluster virtuali. Exadata Cloud@Customer è quindi la soluzione ideale per chiunque debba mantenere un suo data center ma non voglia rinunciare ai benefici derivanti da un servizio di Cloud.
- Bryla, Bob (Autore)