Amazon Babelfish: il traduttore di SQL per migrare da Microsoft SQL Server ad Amazon Aurora
di Riccardo Robecchi pubblicata il 07 Dicembre 2020, alle 14:31 nel canale CloudAmazon Babelfish è uno strumento open source che si prefigge l'obiettivo di facilitare la migrazione da Microsoft SQL Server ad Amazon Aurora grazie alla traduzione tra dialetti di SQL, il linguaggio usato per le interrogazioni
Il vendor lock-in è un problema molto noto, in particolare nel mondo dei database: Oracle e Microsoft spiccano in questo senso con funzionalità proprietarie e termini di licenza restrittivi. Amazon Babelfish punta a cambiare le regole del gioco con uno strumento in grado di tradurre dal dialetto di SQL usato da Microsoft SQL Server a quello usato da PostgreSQL, database open source utilizzato dalla stessa Amazon per il suo database Aurora.
Amazon Babelfish: portare le applicazioni da SQL Server ad Aurora non è mai stato così facile
Come le lingue umane - italiano, inglese, polacco... - anche i linguaggi di programmazione hanno vari dialetti. Nel caso dell'SQL, il principale linguaggio utilizzato per interrogare i database, ciascun motore di database ha un proprio dialetto che differisce dagli altri. Sebbene gli elementi di base siano molto simili, ci sono differenze piccole e grandi che rendono i vari dialetti incompatibili. Un programma scritto per sfruttare MySQL, dunque, non può utilizzare PostgreSQL.
Il problema diventa significativo nel caso di piattaforme chiuse come Oracle Database e Microsoft SQL Server: cosa succede se l'azienda vuole migrare le proprie applicazioni verso un altro database? La risposta è che questi passaggi sono spesso estremamente complessi e delicati, talvolta impossibili. Amazon punta a scardinare questo meccanismo con Babelfish: come il pesce di Babele in Guida galattica per gli autostoppisti, Babelfish si occupa di tradurre dal dialetto di SQL Server (T-SQL) verso PostgreSQL, il database open source utilizzato da Amazon Aurora.
I sistemi di traduzione tra dialetti sono presenti da tempo, ma spesso si rivelano solo parzialmente efficaci: anche se la traduzione è perfetta, il problema da superare rimane quello delle applicazioni scritte per sfruttare un certo database e che necessitano dunque di una riscrittura per funzionare con uno diverso. L'aspetto più interessante di Babelfish è dunque la possibilità di fungere da strato di compatibilità che non si limita a effettuare una traduzione del codice, ma anche delle chiamate e dei protocolli per il collegamento dell'applicazione al database.
Si tratta di un'innovazione notevole, perché permette di evitare il lavoro manuale di riscrivere i driver dei database e le chiamate all'interno delle applicazioni: un compito spesso molto lungo e complesso che non sempre è possibile effettuare per la natura chiusa del codice delle applicazioni.
Amazon si è concentrata in particolare sulla correttezza, ovvero sulla garanzia che le applicazioni funzioneranno allo stesso modo anche dopo la transizione senza la necessità di modifiche.
Amazon Babelfish sarà pubblicato come progetto open source con licenza Apache 2.0 su GitHub, come spiegato sulla pagina del progetto. Ciò permetterà, in via puramente teorica, di adattare il codice anche a installazioni di PostgreSQL che non risiedono sul cloud di Amazon: bisognerà, però, aspettare la pubblicazione del codice per capire se ciò sarà vero. La guerra a Microsoft e al suo modello di licenza è dichiarata e Oracle sembra essere la prossima in lista.
0 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - infoDevi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".