Introduzione a CONNECT
Su uno dei siti di MySQL [1] Robin Schumacher[2] recentemente ha scritto:
"In un'era in cui i database relazionali regnano supremi sulla gestione dei dati, è stupefacente che tali informazioni continuino a esistere fuori dai RDBMS nella forma di file di testo e altri costrutti simili. Nella maggior parte delle imprese, i dati vengono trasmessi avanti e indietro tra sistemi disparati, in un modo e a una velocità incredibili, e la maggior parte di questi dati esistono in file comuni, delimitati. I sistemi intercettano questi file sorgenti e di solito li elaborano per poi caricarli tramite processi ETL (extract, transform, load), poi utilizzano le informazioni per il business intelligence, le funzioni transazionali, o altre operazioni standard. I task ETL e lo spostamento dei dati possono richiedere molto tempo e risorse, soprattutto se una grande quantità di dati deve essere inserita in un database. Quando è così, molti DBA accettano volentieri alternative per accedere e gestire i dati che esistono in formato file."
Questa avrebbe potuto essere un'ottima introduzione per l'handler CONNECT, che fa esattamente ciò che Robin descrive.
Tuttavia è stata scritta per presentare lo Storage Engine CSV di MySQL 5.1, che è ancora sperimentale e ha molte limitazioni come il fatto che può gestire un unico formato di file, il CSV (e solo un tipo di file csv), il non poterli gestire in un modo facile, e le basse performance (non vi è la lettura a blocchi né l'indicizzazione).
Anche così, guardando diversi forum, si nota l'interesse degli utenti di MySQL riguardo all'importazione e l'esportazione dei dati su file (difficilmente sognano formati differenti da CSV), con richieste aggiuntive come "sapete dirmi come ottenere i nomi delle tabelle insieme al recordset" o "come possiamo esportare i dati in un file di testo a dimensioni fiss?", oppure chiedono il supporto a XML.
Ecco perché, per rispondere a questi bisogno, nelle applicazioni transazionali ma soprattutto in quelle di supporto decisionale, MariaDB propone un nuovo plugin handler, CONNECT, che permette di utilizzare direttamente i dati esterni come le fossero tabelle, senza essere obbligati a caricarli fisicamente nel database.
- ↑ A Look at the MySQL CSV Storage Engine
- ↑ Robin Schumacher è il Director of Product Management di MySQL e ha più di 13 anni di esperienza nei database con DB2, MySQL, Oracle, SQL Server ae altri. Prima di unirsi a MySQL, Robin è stato Vice President of Product Management alla Embarcadero Technologies.