Torna all'elenco degli articoli Articoli
Tempo di lettura: 12 minuti

Esiste una domanda per il linguaggio SQL al giorno d'oggi?

SQL ha 46 anni. È 14 anni più vecchio di me e almeno 23 anni più vecchio del barattolo di sottaceti nel mio frigorifero. SQL è il nonno ancora in auge del mondo della programmazione. Lo conoscete: bretelle non ironiche, baffi attorcigliati, tatuaggio che fa capolino dai calzini maculati. Sarà anche vecchio, ma è un vero e proprio fenomeno. Se avete sentito parlare del movimento NoSQL, vi starete chiedendo: perché imparare l'SQL al giorno d'oggi? La grande notizia è che ci sono moltissimi lavori che utilizzano SQL e letteralmente centinaia di migliaia di datori di lavoro che stanno cercando persone con competenze SQL.

Se SQL fosse tuo nonno. via GIPHY

In un mondo in cui la tecnologia può essere obsoleta prima ancora che gli sviluppatori la rilascino, l'SQL è un punto fermo, e per una buona ragione. L'età e l'esperienza conferiscono una notevole maturità e raffinatezza, e SQL ne ha da vendere.

Non siete convinti? Chiedetevi:

Perché si usa ancora la lingua inglese?

Perché la gente indossa ancora i calzini?

Perché si sceglie ancora di vivere in una casa?

La risposta a tutte e tre le domande è semplice. L'inglese, i calzini e le case continuano a servire un gran numero di persone in modo efficace ed efficiente. L'inglese esiste da circa 1500 anni (più o meno) e ha resistito, si è sviluppato ed è cresciuto in popolarità grazie alle sue solide basi come lingua relativamente standardizzata.

Allo stesso modo, le persone indossano ancora i calzini e vivono nelle case, perché queste due cose sono state migliorate e perfezionate nel corso di molti secoli e perché continuano a svolgere funzioni importanti. Finché una sorta di spray magico per riscaldare i piedi e di baccelli galleggianti espandibili non sostituiranno le funzionalità dei calzini e delle case, beh, continueranno a esistere. C'è domanda per loro, proprio come c'è ancora una domanda schiacciante per SQL.

SQL è utile oggi come lo era 46 anni fa. E nonostante gli sforzi della brigata NoSQL di immaginare un mondo senza SQL, è ancora in circolazione e più richiesto che mai.

In questo articolo spieghiamo quanto sia ancora richiesto l'SQL e perché aggiungerlo al vostro bagaglio di strumenti sia la cosa migliore che possiate fare per la vostra carriera.

Perché SQL è ancora così popolare?

È uscito il sondaggio sugli sviluppatori di Stack Overflow del 2020 e, guarda un po', SQL è emerso trionfante come il terzo linguaggio più usato sia dagli sviluppatori professionisti che dai coder per hobby.

I linguaggi di programmazione, scripting e markup più utilizzati da Stack Overflow

Sondaggio sugli sviluppatori di Stack Overflow 2020

Grafico: Sondaggio sugli sviluppatori di Stack Overflow 2020 (grafico troncato)

Ci sono molte persone che usano questo linguaggio e, lasciatemelo dire, non stanno imparando SQL solo per divertimento. I datori di lavoro hanno un'enorme richiesta di personale che sappia orientarsi in un database. Mentre il mondo dei dati si rafforza sempre di più, c'è più che mai bisogno di persone che sappiano gestire queste informazioni in modo significativo.

Perché imparare l'SQL? Ecco i 10 motivi principali:

1. È lo standard del settore.

Se si impara un solo linguaggio di interrogazione dei dati, è probabile che sia SQL. L'SQL è un linguaggio comune e le aziende di tutto il mondo che cercano nuovo personale per i dati fanno affidamento su questa caratteristica. Le aziende che assumono amano SQL, perché la sua ubiquità rende facile trovare un enorme bacino di potenziali talenti. È anche un bene per i loro profitti, perché elimina la necessità di costosi corsi di formazione su linguaggi di codifica di nicchia.

2. È semanticamente maturo.

"Vecchio" non significa automaticamente "antiquato". SQL esiste da quasi cinque decenni, quindi ha avuto la possibilità di "trovare se stesso" nel corso degli anni. Di conseguenza, SQL è molto maturo dal punto di vista semantico ed è in grado di gestire qualsiasi operazione che si desideri completare all'interno di un database.

3. È un linguaggio vivo.

SQL continua a crescere e a svilupparsi anche quando nuove tecnologie si affacciano sul mercato. SQL viene costantemente aggiornato per rimanere al passo con i tempi e per lavorare con le nuove tecnologie che si susseguono. Poiché è molto conosciuto, gli utenti hanno a disposizione un numero enorme di libri, tutorial, corsi di formazione, librerie di codice e altre risorse. Inoltre, il Comitato per la gestione e l'interscambio dei dati dell'Organizzazione internazionale per la standardizzazione lavora per aiutare l'SQL a raccogliere i benefici della sua standardizzazione.

4. È semplice ed efficace.

L'SQL è un linguaggio facile e intuitivo, che lo rende interessante sia per gli utenti che per i datori di lavoro. Chi comprende anche solo alcune query SQL di base può già rendersi utile in un ruolo legato ai database. Naturalmente ci sono molte operazioni avanzate da imparare, ma la curva di apprendimento per le sue basi non è molto ripida. Poiché SQL non cerca di complicare eccessivamente le cose, è anche estremamente efficace.

5. È open source.

Il codice SQL è liberamente disponibile. Può essere facilmente consultato, modificato e ridistribuito dagli utenti. Inoltre, molte delle soluzioni SQL più diffuse che consentono di lavorare con i database sono anch'esse gratuite e open source, come MySQL o PostgreSQL.

6. È sicuro.

SQL ha prestazioni migliori in termini di sicurezza rispetto ai sistemi di database NoSQL come MongoDB.

7. È estensibile.

La standardizzazione di SQL significa che gli utenti possono supportare "livelli" di SQL e scegliere le funzionalità per personalizzare la propria esperienza. SQL supporta anche i miglioramenti personalizzati degli utenti.

8. Si basa logicamente sulla teoria relazionale.

SQL e i database relazionali vanno d'accordo come i biscotti e il sugo. I database relazionali si basano sull'algebra relazionale e sul calcolo relazionale delle tuple, che sono anche le basi di SQL. Questo rende l'SQL un linguaggio altamente logico per lavorare con i database, e questa logica è sinonimo di chiarezza e semplicità.

9. È utile ovunque.

L'SQL è utilizzato in ogni settore e in ogni professione. Dove si trovano dati, si trovano persone che usano SQL. La sua popolarità non fa che aumentare la sua richiesta da parte dei datori di lavoro.

10. Nessuno ha trovato un linguaggio di database migliore.

È così semplice. Alcuni ci hanno provato, ma SQL rimane popolare e richiesto per un motivo. Funziona.

Non siete convinti di questi dieci punti? Il sondaggio di Stack Overflow ha le cifre che lo dimostrano. Le tecnologie SQL sono tutte al primo posto, al di sopra di qualsiasi altro tipo di sistema di gestione di database.

Tecnologie di database più popolari di Stack Overflow

Sondaggio sugli sviluppatori di Stack Overflow 2020

Grafico: Sondaggio sugli sviluppatori di Stack Overflow 2020

Lavori che utilizzano SQL (Spoiler: sono la maggior parte dei lavori)

In questo momento, su LinkedIn sono aperte quasi 370.000 posizioni lavorative in ambito SQL e correlate a SQL in tutto il mondo. Questo solo su una piattaforma di lavoro. Questo dimostra che c'è molta richiesta di competenze SQL e molte opportunità di carriera grazie a SQL!

La maggior parte delle organizzazioni fa uso di dati, siano essi informazioni finanziarie, approfondimenti di mercato, segmentazione dei clienti o anagrafiche. Dove ci sono dati, ci sono database e dove ci sono database, di solito c'è bisogno di SQL e di persone che lo sappiano usare.

I posti di lavoro legati ai database sono numerosi nel mercato odierno e il numero di datori di lavoro alla ricerca di personale con competenze SQL è in continua crescita. L'utilizzo di SQL nel lavoro quotidiano è diffuso in un ampio spettro di competenze, stack tecnologici e sistemi operativi. Ecco alcuni esempi di lavori in SQL.

1. Analista di dati

L'analisi dei dati è un percorso di carriera ovvio per chi ha competenze in SQL. Se volete intraprendere questa carriera, dovete assolutamente iniziare a imparare l'SQL il prima possibile. Gli analisti di dati sono generalmente abili nello scoprire modelli e tendenze in grandi quantità di dati. Hanno un'ottima conoscenza della matematica, degli algoritmi e delle statistiche.

2. Sviluppatore di database

Gli sviluppatori di database sono programmatori con una particolare attenzione ai database, che utilizzano SQL come linguaggio di lavoro principale. Scrivono e migliorano il codice SQL, le stored procedure, gli indici e i trigger. SQL avanzato Queste competenze sono fondamentali per lavorare in un ruolo di sviluppatore di database.

3. Amministratore di database

Gli amministratori di database sono i supervisori del mondo dei database. Hanno il compito di garantire la stabilità, la sicurezza e la protezione dei database. Sono responsabili di una serie di compiti, tra cui l'assegnazione di accessi e privilegi agli utenti e la cura dell'hardware che supporta i database.

4. Scienziato dei dati

Gli scienziati dei dati prendono i dati e li rendono significativi. Estraggono i dati grezzi dai database, spesso utilizzando il linguaggio SQL, e li trasformano in informazioni preziose per il processo decisionale dell'azienda. Gli scienziati dei dati si avvalgono di competenze sia aziendali che di dati per affinare, analizzare e applicare i dati a problemi e soluzioni aziendali.

5. Modellatore di dati

I modellatori di dati determinano le strutture e l'organizzazione dei database. Prendono le esigenze di dati dell'azienda e le traducono in tabelle, colonne e tipi di dati che si adattano al sistema di gestione dei database.

I modellatori di dati puntano alla precisione e all'efficienza. Hanno un'ottima conoscenza delle regole e dei principi di modellazione dei dati.

Ci sono molte altre professioni SQL

Queste sono solo cinque delle principali professioni che fanno uso di SQL, ma ci sono molte altre professioni in cui le competenze SQL sono richieste. Si pensi a marketer, consulenti, project manager, analisti aziendali e altro ancora.

L'SQL è richiesto dai datori di lavoro per lo stesso motivo per cui l'inglese è così diffuso in tutto il mondo. È relativamente semplice, offre uno standard utile e permette di svolgere il lavoro.

In Bhutan si può avere successo se si parla la lingua locale Dzongkha. Tuttavia, se si vuole che il proprio successo sia più ampiamente applicabile, la semplice verità è che è necessario imparare anche l'inglese. Lo stesso vale per l'SQL e per una carriera nel mondo dei database. Conoscere linguaggi di nicchia per i database va benissimo, ma SQL è quello più richiesto e quello che vi porterà a grandi livelli. Naturalmente, questo non significa che non possiate imparare di più! L'SQL si abbina perfettamente a una serie di altri linguaggi di programmazione.

Poiché probabilmente siete già appassionati di dati, ecco una bella statistica per convincervi di quanto SQL sia popolare tra i datori di lavoro. Burning Glass, che raccoglie milioni di annunci di lavoro in tutti gli Stati Uniti, ha pubblicato i risultati di febbraio/marzo 2020:

Grafico: Dice.com

Grafico: Dice.com

Questo è ciò che chiamo "richiesta"!

Perché SQL batte NoSQL

Il termine "NoSQL" è stato coniato nel 1998 da Carlo Strozzi, che ha creato un database relazionale open-source che non utilizzava l'SQL per esprimere le query. Un decennio dopo, il significato di "NoSQL" era cambiato e si riferiva a un allontanamento totale dai database relazionali.

I due giganti di Internet, Google e Amazon, hanno sviluppato i propri sistemi distribuiti non relazionali per la gestione dei dati: MapReduce (2004) e Bigtable (2006) di Google e Dynamo (2007) di Amazon. Da questi nuovi sistemi ne sono nati altri: Hadoop, Cassandra e MongoDB.

All'inizio NoSQL era popolare, proprio come i fidget spinner, il twerking e Napster. La comunità degli sviluppatori di software era entusiasta dell'idea del cambiamento. NoSQL era un nuovo giocattolo scintillante e promettente. Ma c'era una fregatura.

I professionisti dei dati si resero subito conto che la mancanza di SQL rendeva la loro vita molto più difficile. Collegare questi nuovi database alle applicazioni era difficile, trovare personale che conoscesse gli unici linguaggi di interrogazione era difficile e le aziende erano improvvisamente costrette a sviluppare i propri strumenti operativi per lavorare con i nuovi sistemi di database.

I nuovi linguaggi NoSQL mancavano di sviluppo. Erano immaturi, il che li rendeva più complessi a livello applicativo. Molto rapidamente, la comunità dei dati ha visto la luce ed è tornata a SQL. Anche la comunità di PostgreSQL ha ripreso vita e ha apportato importanti miglioramenti, con le aziende che hanno trovato sempre più modi per scalare PostgreSQL per le loro esigenze specifiche di database.

Basta guardare a Google, uno dei leader NoSQL, per capire quanto SQL sia ancora richiesto dai grandi player del settore.

Avendo iniziato a costruire su Bigtable, Google ha imparato rapidamente che SQL era un componente necessario e che la sua assenza era molto sentita. In uno dei whitepaper di Google sul suo sistema di gestione dei dati, Spanner, l'azienda riconosce quanto il linguaggio di interrogazione strutturato sia stato fondamentale per il suo successo:

Sebbene questi sistemi offrissero alcuni dei vantaggi di un sistema di database, mancavano di molte caratteristiche tradizionali dei database su cui gli sviluppatori di applicazioni fanno spesso affidamento. Un esempio chiave è rappresentato da un linguaggio di interrogazione robusto, il che significa che gli sviluppatori dovevano scrivere codice complesso per elaborare e aggregare i dati nelle loro applicazioni. Di conseguenza, abbiamo deciso di trasformare Spanner in un sistema SQL completo, con l'esecuzione di query strettamente integrata con le altre caratteristiche architetturali di Spanner (come la consistenza forte e la replica globale).

Il documento prosegue riconoscendo l'impatto che la standardizzazione dell'SQL ha avuto sui progressi tecnologici di Google:

Il motore SQL di Spanner condivide un dialetto SQL comune, chiamato "Standard SQL", con molti altri sistemi di Google, tra cui sistemi interni come F1 e Dremel (tra gli altri), e sistemi esterni come BigQuery [...] Per gli utenti di Google, questo riduce la barriera del lavoro tra i sistemi. Uno sviluppatore o un analista di dati che scrive SQL su un database Spanner può trasferire la propria conoscenza del linguaggio a Dremel senza preoccuparsi di sottili differenze nella sintassi, nella gestione dei NULL, ecc.

Oggi l'SQL è più popolare che mai. È ampiamente utilizzato nelle tecnologie basate sul cloud - tutti i principali fornitori di cloud utilizzano servizi di database relazionali - e sta prosperando come interfaccia su Spark, Kafka e Hadoop.

Perché imparare SQL?

L'SQL continua a essere una delle competenze più richieste dagli sviluppatori e da altri lavori legati ai database. Sebbene il termine "vecchio" sia spesso percepito come "superato" nel mondo tecnologico, in realtà si riferisce a quanto funzionale, testato e collaudato sia SQL.

Gli aggiornamenti e le estensioni disponibili per gli utenti moderni di SQL sono così tanti che è innegabile che il linguaggio SQL sia il re dei linguaggi di gestione dei database.

Il linguaggio di codifica è come il normale linguaggio parlato e scritto. È più utile quando è parlato da un gran numero di persone, quando è standardizzato e quando si evolve per soddisfare le mutevoli esigenze dei suoi utenti. Fortunatamente per coloro che sono interessati all'SQL, è relativamente veloce e indolore da imparare!

Quindi perché imparare SQL piuttosto che un linguaggio NoSQL? Ecco un piccolo controllo della realtà per coloro che amano le cose nuove e luccicanti:

Il meglio è meglio perché è meglio, non perché è nuovo.

Come si inizia con SQL? LearnSQL.itIl corso SQL dalla A alla Z è una formazione fantastica e completa. Se il vostro ruolo prevede la preparazione di molti report, il corso SQL Reporting è un ottimo approfondimento.