Su come la penso circa le archittture e i database è cosa nota a chi mi conosce. Che questo stia sempre più diventando il trend tecnologico (e non per moda ma per necessità) lo si legge sempre più spesso.
Ed ecco alcuni articoletti che mi sono segnato in questi mesi sulle nuove architetture.
Partiamo con il blog architttura del prestigioso DDJ Architecture blog:
- Analizzando l'architttura di eBay si dice: "The more major implication here is that when it comes to Internet scale, the database looses its importance"
- Guardando al ruolo del DB nel post "The RDBMS is legacy" si dice: "it (the RDBMS) isn't built to meet newer challenges like linear scalability, high availability, etc." e ancora "... how a column-oriented database (vs. the RDBMS row orientation) can outperform RDBMs by a factor of 50."
Curioso anche come Mats sostenga la teoria di utilizzare il db con BLOB di dati esponendo solo su certe colonne i dati su cui fare filtri, applicare gli indici ed esporre le chiavi primarie.
Perché curioso? Perché è esattamente la strategia che sto seguendo per un progetto in corso, dove il core di dati è una struttura dati già esistente in XML e la sua scomposizione in righe/colonne sarebbe un disastro totale. In pratica alla scrittura del BLOB segue la scrittura delle tabelle di appoggio dove vengono espansi solo i dati rilevanti per quelle cose che mi aspetto da un database: ricerca, indici, relazioni, etc. Le tabelle di appoggio diventano così uno strumento potente in lettura.
Alla faccia della normalizzazione direte voi, e io ripeto che è il risultato quello che conta e non quello che si diceva 30 anni fa.
Nessuno scandalo, queste cose le ripeto ad amici come Davide da anni, e ora mi sento sempre più di frequente meno solo:
La frase più bella è quella dell'ultima slide della presentazione di Pat: "People Normalize 'Cuz their Professor Said To".
Al solito questo non significa che certi strumenti non siano più utili o che non vadano utilizzati. Dico semplicemente che le immutabili certezze che hanno accompagnato il database design per tanti anni sono crollate e oggi in tanti casi ha senso considerare strade alternative che hanno già dimostrato di dare risultati migliori dal punto di vista della scalabilità, della performance e della sicurezza.