Storage engine: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Riga 1:
Gli '''Storage Engine''', un tempo noti come '''Table Type''', sono librerie per [[MySQL]] e i suoi [[fork]] che implementano la gestione fisica dei dati. Alcuni dei compiti affidati agli Storage Engine sono: scrittura dei record, lettura dei record, indicizzazione, cache, transazioni.
 
Gli Storage Engine sono un tipo di [[plugin]] per MySQL e i suoi fork. Alcuni sono distribuiti insieme a MySQL. Altri sono prodotti da terze parti. Vi sono anche Storage Engine sviluppati per [[MariaDB]], che sfruttano le sue funzionalità specifiche e non funzionano necessariamente su MySQL. Alcuni sono attivi per default e generalmente possono essere esclusi all'avvio o in fase di compilazione. Altri devono essere abilitati esplicitamente.
 
In pratica, scegliere uno Storage Engine piuttosto che un altro significa modificare il modo in cui i dati vengono gestiti. Ad esempio [[InnoDB]] è molto performante e assicura un livello ragionevole di consistenza dei dati; [[MyISAM]] non supporta le transazioni, ma questo gli permette di semplificare le operazioni di lettura, rendendolo quindi adatto ai grandi [[dataware house]]; [[MEMORY]] scrive le tabelle in memoria ed è quindi indicato per le tabelle temporanee. Altri Storage Engine possono implementare una gestione dei dati fuori dall'ordinario, dotando quindi il server di funzionalità completamente nuove. Ad esempio [[CassandraSE]] permette a MariaDB di interfacciarsi con [[Apache Cassandra]], [[CONNECT]] permette a [[MariaDB]] di uilizzare i file di testo in diversi formati come tabelle relazionali, mentre [[ShardQuery]], [[SpiderSE]] e [[ScaleDB]] implementano lo sharding dei dati in modi diversi.