Storage engine
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.
Voci correlate
Collegamenti esterni
- Storage Engines nella documentazione di MySQL
- Storage Engines nella KnowledgeBase di MariaDB