Storage engine: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m Fix link
wikifico
Riga 1:
In [[informatica]] gli '''Storagestorage Engineengine''', o '''database engine''', un tempo noti come '''Tabletable Typetype''', sono [[libreria (informatica)|librerie]] per [[MySQL]] e i suoi [[Fork (sviluppo software)|fork]] che implementano la gestione fisica dei dati. Alcuni dei compiti affidati agli Storagestorage Engineengine sono: scrittura e lettura dei [[record (database)|record]], indicizzazione, [[cache]], [[transazione (database)|transazioni]].
 
Gli Storagestorage Engineengine sono un tipo di [[plugin (informatica)|plugin]] per MySQL e i suoi fork. Alcuni sono distribuiti insieme a MySQL. Altri sono prodotti da terze parti. Vi sono anche Storagestorage Engineengine sviluppati per [[MariaDB]], che sfruttano le sue funzionalità specifiche e non funzionano necessariamente su MySQL. Alcuni sono attivi per [[default (informatica)|default]] e generalmente possono essere esclusi all'avvio o in fase di [[compilazione]]. Altri devono essere abilitati esplicitamente.
 
In pratica, scegliere uno Storagestorage Engineengine 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 (Storagestorage Engineengine)|Memory]] scrive le tabelle in memoria ed è quindi indicato per le tabelle temporanee. Altri Storagestorage Engineengine 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 [[file]] di testo in diversi formati come [[modello relazionale|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 Storagestorage Engineengine.
 
=== Visualizzare gli Storagestorage Engineengine installati ===
Per visualizzare gli Storagestorage Engineengine installati:
 
SHOW STORAGE ENGINES;
 
Questo comando visualizza una tabella che elenca gli Storagestorage Engineengine presenti e alcune delle loro caratteristiche. La colonna {{code|Engine}}, mostrata nell'output del comando, contiene il nome del plugin. La colonna {{code|Comment}} contiene una breve descrizione. La colonne {{code|Support}} indica se il server supporta lo Storagestorage Engineengine. Ha tre valori possibili: {{code|DEFAULT}} significa che è supportato ed è quello utilizzato di default, quando si crea una tabella senza specificare l'engine da utilizzare; {{code|YES}} significa che è installato; {{code|NO}} significa che la libreria è presente ma non è stata installata. Le altre colonne indicano se lo Storagestorage Engineengine fornisce o meno determinate funzionalità.
 
In alternativa è possibile interrogare la tabella {{code|PLUGINS}} nel database information_schema.
 
=== Installare e disinstallare gli Storagestorage Engineengine ===
Perché un plugin possa essere installato, è necessario che la libreria si trovi nella directory dei plugin, cioè quella puntata dalla variabile {{code|plugin_dir}}.
 
Per installare un plugin:
Riga 28:
UNINSTALL PLUGIN nome_plugin;
 
Con MariaDB, se lo Storagestorage Engineengine è parte di una libreria di plugin, è possibile installare e disinstallare questi plugin con un unico comando:
 
INSTALL SONAME 'nome_libreria';
Riga 36:
Per aggiornare un plugin occorre disinstallarlo e reinstallarlo.
 
=== Associare una tabella a uno Storagestorage Engineengine ===
Quando si crea una tabella è possibile specificare lo Storagestorage Engineengine da utilizzare:
 
CREATE TABLE nome_tabella (
Riga 43:
) ENGINE = 'nome_storage_engine';
 
Lo Storagestorage Engineengine di una tabella può anche essere cambiato in un secondo momento:
 
ALTER TABLE nome_tabella ENGINE = 'nome_storage_engine';
Riga 54:
 
== Collegamenti esterni ==
* [http://dev.mysql.com/doc/refman/5.5/en/storage-engines.html Storage Enginesengine] nella documentazione di MySQL
* [https://kb.askmonty.org/it/storage-engine/ Storagestorage Enginesengine] nella KnowledgeBase di MariaDB
 
{{Portale|software libero}}