Riorganizzazioni database: Perché sono importanti e la differenza tra online e offline
Le riorganizzazioni del database vengono eseguite per risparmiare spazio sui dati e migliorare l'efficienza e le prestazioni del database. Questo articolo spiega perché. Il prossimo articolo mostra come riorganizzare più tabelle e database in Eclipse.
I dati nelle grandi tabelle RDBMS finiscono per frammentarsi. La dimensione delle tabelle e degli indici aumenta man mano che i record vengono distribuiti su più pagine di dati. Più letture di pagine e righe in ordine non di join durante l'esecuzione della query rallentano le risposte alle query. Per recuperare lo spazio sprecato, migliorare i tempi di attività del database e accelerare l'accesso ai dati (risposte alle query), prendere in considerazione una strategia per riorganizzare gli oggetti del database.
Le riorganizzazioni del database sono costituite da due tipi per questi oggetti tabella, indice e tablespace:online (sul posto) e offline (classico).
Database in linea le reorg funzionano in modo incrementale spostando le righe all'interno della tabella esistente per ristabilire il clustering, recuperare spazio libero ed eliminare le righe in eccesso. Gli oggetti non sono disponibili solo per un breve periodo verso la fine, non durante le fasi di ricarica e ricostruzione, che possono essere prolungate per oggetti di grandi dimensioni. Consentono alle applicazioni di connettersi al database, ma spesso ne rallentano le prestazioni e possono creare attese di blocco in quel momento.
Database offline reorgs sono più veloci, ma possono portare il database offline (se viene utilizzata l'utilità di riorganizzazione del database). Con questo metodo, i dati vengono esportati dal database in un file dump (scarica). Gli oggetti del database vengono impostati in base all'estrazione, in genere riordinati (ordina). Vengono quindi restituiti allo stesso tablespace (caricamento), dove gli indici vengono ripristinati in modo implicito (ricostruzione).
I DBA attenti alle prestazioni utilizzano IRI FACT (Fast Extract) per lo scaricamento, che crea un file flat portatile che può essere ordinato (con IRI CoSort) sulla chiave di indice principale della tabella riorganizzata. Con questo approccio, possono verificarsi altre operazioni di trasformazione e reporting e il database rimane online. I carichi di percorso diretti preordinati ignorano anche l'ordinamento (overhead) del caricatore di database. Tutte queste operazioni sono automatizzate nella procedura guidata di riorganizzazione offline di IRI Workbench.
Tenere una copia "ombra" dei dati nel file system per ciascuna tabella non dovrebbe essere eccessivamente oneroso perché una volta che il file flat è stato ordinato e ricaricato, può essere eliminato. Allo stesso tempo, avere i dati di riorganizzazione esternalizzati e disponibili a CoSort consente anche la possibilità di altri usi dei dati, inclusi archiviazione, reporting, protezione e migrazione ad altri database, strumenti BI e destinazioni applicative.
L'avvertenza ovviamente è che durante lo scaricamento, altri utenti del sistema possono leggere e aggiornare il tablespace, quindi qualsiasi aggiornamento durante questo periodo potrebbe non ricaricare e creare incoerenze nella destinazione. Si consiglia pertanto di eseguire le riorganizzazioni offline quando non si verificano aggiornamenti.
IRI offre una soluzione di riorganizzazione offline, descritta e mostrata qui.