30 ebook a un prezzo mai visto!

Risparmia sui tuoi libri preferiti, mentre supporti la community Python Italia

➡️ Scopri gli ebook bundle
Home
Alla base, i dati

02 Settembre 2015

Alla base, i dati

di

Si va ben oltre i cookie: la possibilità di utilizzare interi database in JavaScript è golosa, ma i mal di testa abbondano.

Riassunto delle puntate precedenti. Primo: i moderni CMS e dunque i siti web si reggono sulle spalle di un gigante chiamato database. Secondo: un database può venire creato non solo sui server web ma anche sul computer / tablet / smartphone dei visitatori del sito. Terzo, poco tempo fa riportavamo le opinioni di un designer che critica Apple, anche proprio per il debolissimo supporto delle basi dati dentro al suo browser, Safari.

E ora una premessa prosaica, sfoltendo col machete dettagli su cui gli addetti disquisiscono da decenni. Ma che lascerebbero con gli occhi a palla e i capelli ritti in testa i nostri lettori tecnicamente meno smaliziati.

Fumetto della serie Dilbert in cui il protagonisca esorcizza un teorico delle basi dati mostrandogli del semplice codice funzionante.

Striscia del novembre 1995. La guerra di religione sui database dura da un pezzetto.

Esistono al mondo due principali filosofie di database. Quella tradizionale raccoglie i motori che fanno uso del linguaggio standard per le interrogazioni (SQL – Standard Query Language e quella innovativa che ne fa a meno e, per contrasto, viene chiamata NoSQL. La prima è vincente quando si tratta di gestire informazioni con forti correlazioni interne (per esempio tutti gli insegnanti, tutti gli studenti, tutti i corsi, tutti i voti di una scuola), la seconda conviene nel caso opposto. Un esempio? Un database SQL è alla base di Facebook. Un NoSQL viene usato da Netflix per ricordare quanti minuti e secondi di ogni film avete già visto.

Se vi fermate un attimo a pensare, intuirete che i sistemi relazionali SQL sono più adatti a memorizzare quantità non gigantesche di dati (sì, Facebook è gigantesco, ma nessun singolo membro stringe amicizia con un miliardo di persone), mentre i sistemi NoSQL possono crescere indefinitamente semplicemente aggiungendo altri dischi o altri processori (server) all’infrastruttura. Entrambi vanno benone per piccole basi dati, con poche decine di migliaia di righe.

Torniamo allora alla questione del primo paragrafo, Safari è il nuovo Internet Explorer, cioè la palla al piede del web. Scrive Nolan Lawson:

Apple è stata fedele sostenitrice del web. Molte delle funzionalità che hanno permesso alle webapp di recuperare terreno sulle app native, come Web SQL […] sono state entusiasticamente implementate dai suoi sviluppatori. […] Oggi, anche quando Apple supporta le interfacce più nuove, lo fa di malavoglia. Per fare un esempio che è caro al mio cuore, IndexedDB è stato proposto circa cinque anni fa, reso disponibile in Chrome, Firefox ed Explorer nel 2012. Apple dal canto suo l’ha rilasciato solo nel 2014, con una implementazione tanto incompetente da stupire, così malfatta da venire giudicata inutilizzabile. […] Quando Web SQL è stato deprecato in favore di IndexedDB, gli ingegneri di Apple l’hanno vigorosamente difeso sostenendo che fosse indispensabile per creare webapp performanti.

Approfondiamo per bene il retroscena, vi va? Apple era in prima fila sin dal 2009 nella creazione di un database standard per il web, Web SQL, che come il nome rivela aderisce alla filosofia SQL. Apple, come del resto Google, internamente a Safari usa il sistema SQLite, un motore di database che la casa di Cupertino adora (è usato anche per Apple Mail e iTunes). Ma Mozilla alza la bandiera degli standard open source e protesta nelle sedi appropriate e così il W3C, ente deputato alla standardizzazione dello HTML, fa un passo indietro, getta alle ortiche Web SQL e si inventa IndexedDB al suo posto. Un sistema del tutto differente e basato sulle idee di NoSQL.

Gli ingegneri di Apple pensano che dentro a una singola pagina web ha più senso un sistema come SQL, ottimizzato per applicazioni piccole e medie, per di più già pronto e funzionante, e si sono rifiutati di spendere molto tempo sull’alternativa sinché il W3C non ne ha fatto una raccomandazione (nel gennaio di quest’anno). Di conseguenza, il primo rilascio (con iOS 8 e OS X Yosemite) è risultato malfatto (ma si farà di meglio con iOS 9 e OS X 10.11 El Capitan).

Questi sono i fatti. E non ho altro da dire su questa faccenda.

L'autore

  • Luca Accomazzi
    Luca Accomazzi (@misterakko) lavora con i personal Apple dal 1980. Autore di oltre venti libri, innumerevoli articoli di divulgazione, decine di siti web e due pacchetti software, Accomazzi vanta (in ordine sparso) una laurea in informatica, una moglie, una figlia, una società che sviluppa tecnologie per siti Internet

Iscriviti alla newsletter

Novità, promozioni e approfondimenti per imparare sempre qualcosa di nuovo

Immagine decorativa form newsletter
Gli argomenti che mi interessano:
Iscrivendomi dichiaro di aver preso visione dell’Informativa fornita ai sensi dell'art. 13 e 14 del Regolamento Europeo EU 679/2016.