Tra le diverse cose successe al Future of Web Apps di Londra la scorsa settimana, questa me la sono segnata.
Sono alla presentazione di Leah Culver, sviluppatrice dell'ennesimo servizio di social networking chiamato Pownce. Si sta parlando di prestazioni, in particolare di prestazioni dei database.
La frase che mi ha colpito è: "Se una query al database è troppo complessa la togliamo, e rinunciamo a quella funzionalità . Magari (la funzionalità ) non era poi così necessaria".
Davvero interessante il lusso che si possono permettere i ragazzi che lavorano in alcune di queste startup 2.0. Piuttosto che lavorare su indici, tabelle normalizzate (o denormalizzate), cluster, cache o quant'altro tolgono la query, punto e a capo. Sto forse un po' esagerando, probabilmente loro stessi hanno svolto qualcuno di questi tentativi prima di togliere la query, ma in generale questo era il tono che permeava un po' tutta questa presentazione.
In passato mi sono trovato a progettare siti da alcune decine di milioni di pageview al mese, quindi il tema delle prestazioni mi è chiaro, e ho pagato cara l'inesperienza dei primi tentativi.
Non ho però mai tolto una query perché più complessa, e penso che non sarei neppure riuscito a convincere il mio cliente. L'unico effetto che avrei ottenuto, probabilmente, sarebbe stato quello di far dare a me e al mio gruppo di lavoro degli incompetenti.
E voi, vi siete mai trovati nel lusso di non fare qualcosa, a priori, perché potenzialmente dannoso alle prestazioni del sistema? Senza neppure capire se l'ostacolo si poteva aggirare?
Chi è interessato al resto dell'intervento, ne trova i tratti "salienti" in una trascrizione che ho riportato su Fucinaweb.