In informatica gli storage engine, o database 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 e 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 data warehouse; 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 utilizzare i di testo in diversi formati come tabelle relazionali, mentre ShardQuery, SpiderSE e ScaleDB implementano lo sharding dei dati in modi diversi.

Interfaccia SQL MySQL e i suoi fork implementano una serie di istruzioni SQL che permettono di lavorare con gli storage engine.

Visualizzare gli storage engine installati Per visualizzare gli storage engine installati:SHOW STORAGE ENGINES;Questo comando visualizza una tabella che elenca gli storage engine presenti e alcune delle loro caratteristiche. La colonna , mostrata nell'output del comando, contiene il nome del plugin. La colonna contiene una breve descrizione. La colonne indica se il server supporta lo storage engine. Ha tre valori possibili: significa che è supportato ed è quello utilizzato di default, quando si crea una tabella senza specificare l'engine da utilizzare; significa che è installato; significa che la libreria è presente ma non è stata installata. Le altre colonne indicano se lo storage engine fornisce o meno determinate funzionalità.

In alternativa è possibile interrogare la tabella nel database information_schema.

Installare e disinstallare gli storage engine Perché un plugin possa essere installato, è necessario che la libreria si trovi nella directory dei plugin, cioè quella puntata dalla variabile .

Per installare un plugin: INSTALL PLUGIN nome_plugin SONAME 'nome_file';

Per disinstallare un plugin: UNINSTALL PLUGIN nome_plugin;

Con MariaDB, se lo storage engine è parte di una libreria di plugin, è possibile installare e disinstallare questi plugin con un unico comando: INSTALL SONAME 'nome_libreria';

UNINSTALL SONAME 'nome_libreria';

Per aggiornare un plugin occorre disinstallarlo e reinstallarlo.

Voci correlate MySQL MariaDB Percona Drizzle

Collegamenti esterni Storage engine nella documentazione di MySQL storage engine nella KnowledgeBase di MariaDB

Categoria:MySQL