08 aprile 2005

Indici e tablespace

Prima della versione 10g e l'avvento di ASM, per Oracle era possibile "solo" definire una serie di datafile e tablespace, ognuno composto da almeno un datafile.
Per ottimizzare le prestazioni solitamente si cerca di tenere dati e indici su dischi differenti.
Nel caso di mysql, con le tabelle MyISAM, si hanno vari datafile, sempre uguali per ogni tabella, tra i quali vi sono quelli con i dati e quelli con gli indici. Ovviamente via sql è impossibile specificare la loro sistemazione, quindi virtualmente sarebbe possibile sistemarli su dischi diversi dopo la loro creazione, mettendo al loro posto dei bei link simbolici. Vi lascio immaginare che cosa voglia dire mantenere una cosa simile. Diversamente per le tabelle InnoDB è possibile solamente specificare uno spazio su disco, composto da più datafile, su cui mettere le tabelle E gli indici. Quindi, se da un lato si "guadagna" la possibilità di definire lo spazio per le tabelle tramite datafile diversi, si perde la possibilità di indicare dove debbano essere scritti i dati.
Probabilmente dovrò passare, per lavoro, una fase di test di PostgreSQL, che promette molte possibilità che si trovano solo negli RDBMS più avanzati, tipo Oracle: trigger, procedure, ecc., e in più, dall'ultima versione, anche i tablespace.
Staremo a vedere.

Nessun commento: