Oracle Partitioning

Da un po’ i tempo sto facendo dei test con il Partitioning di Oracle 10g.

Questa feature si trova solo nella versione Enterprise ed è molto utile oltre ad ottimizzare le performance anche solo per “archiviare”  dei dati.

In certe  aziende o per ragione legali o per ragioni di qualifica ISO o per altri motivi non si esegue una archiviazione dati, alcune tabelle contengono milioni di dati e questo potrebbe sfociare in un problema di performance.

Anche se si continua a implementare hardware / server sicuramente più veloci e  performanti questo problema nel tempo va affrontato perchè tutti i nodi vengono al pettine, ve lo dice uno che di capelli ne ha veramente molti…..

Per implementare il partitioning occorre fare una analisi molto accurata dell’applicativo e il modo di accesso  che quest’ultimo fa alle tabelle Oracle, quì ci vengono incontro due tool: Partitioning,
Tuning Pack che ovviamente non sono gratuiti.

Per natura sono un pò scettico per questi tools che vengono venduti come risolutori di problemi ma penso che possano essere almeno di aiuto.

Partizionare le tabelle per “archiviare” (lo scrivo tra doppi apici perchè non è una vera a propria archiviazione) risulta essere molto utile perchè con dei campi data si possono creare delle partition key suddivise molto semplicemente per anno per far sì che Oracle esegua il partition pruning, accendendo di fatto solo alla partizione interessata.

Facendo così il CBO ( però le statistiche devono sempre essere aggiornate) capisce e accede solo alla partizione interessata facendo risparmiare moltissimo tempo, pensando a tabelle con milioni di records.Questo risparmio può essere visto eseguendo l’explain plan e il trace dello statement sql interessato.

Questo è ovviamente è un esempio molto semplice di partitioning di tipo range ma c’è  ne sono altri, Hash, List e questi possono essere composite o single level.

Vi rimando a questo sito  (in inglese)  che è molto esplicativo come concepts del Partitioning.

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger cliccano Mi Piace per questo: