Database Strategy

Database Strategy

Database Strategy: blog tecnico su Oracle, PostgreSQL, MySQL, DWH e project management. Articoli pratici da 30 anni di consulenza IT.

La differenza tra un sistema che funziona
e uno che guida davvero il business non è fortuna.

È comprensione profonda dei piani di esecuzione.
È controllo dei privilegi e sicurezza dei dati.
È progettazione dei dati orientata agli obiettivi aziendali.
È performance che regge quando il carico cresce.

I database sono il cuore operativo dell’ecosistema digitale di ogni azienda.
Supportano processi critici, abilitano decisioni basate sui dati e determinano velocità ed efficienza operativa.

Dentro il Motore è lo spazio in cui analizzo ciò che accade sotto il cofano di PostgreSQL, Oracle e MySQL: performance tuning, sicurezza, architettura e scelte tecniche applicabili in ambienti reali.

Perché nel mondo data-driven di oggi i database non sono semplici componenti software.
Sono asset strategici che influenzano competitività, affidabilità e crescita sostenibile.

Ultimi articoli

5 regole che ho visto funzionare nei team di progetto che reggono
Project Management

5 regole che ho visto funzionare nei team di progetto che reggono

Project management: 5 regole osservate nei team che reggono sotto pressione. Psychological safety, bus factor, outcome vs output, knowledge transfer.

Tre data mart, tre verità sulle vendite: il bus matrix come terreno comune
Data Warehouse

Tre data mart, tre verità sulle vendite: il bus matrix come terreno comune

Bus matrix di Kimball per allineare data mart isolati: dimensioni conformi, processi di business e vendite confrontabili. Caso reale gruppo assicurativo.

Prima di aggiornare MySQL: le cifre che il cliente ti chiede e come trovarle davvero
MySQL

Prima di aggiornare MySQL: le cifre che il cliente ti chiede e come trovarle davvero

MySQL 8.0 pre-upgrade assessment: misurare dimensioni, crescita, tempi di backup e restore con information_schema. Cifre vere per pianificare.

Oracle da on-premises a cloud: strategia, pianificazione e cutover
Oracle

Oracle da on-premises a cloud: strategia, pianificazione e cutover

Migrazione Oracle 19c on-premises a OCI: 2 TB con RAC e Data Guard. BYOL licensing, Data Pump, cutover notturno — cronaca reale.

pg_stat_statements: la prima cosa da installare su qualsiasi PostgreSQL
PostgreSQL

pg_stat_statements: la prima cosa da installare su qualsiasi PostgreSQL

PostgreSQL pg_stat_statements: l'estensione di diagnosi query da installare per prima. Trovare le tre query che consumano l'80% delle risorse.

mysqldump vs mysqlpump vs mydumper: il backup che non ti fa dormire la notte
MySQL

mysqldump vs mysqlpump vs mydumper: il backup che non ti fa dormire la notte

Backup MySQL a confronto: mysqldump vs mydumper vs mysqlpump su database da 60 GB. Tempi reali di dump e restore, parallelismo e scelta architetturale.

Partitioning nel DWH: quando 3 anni di dati pesano troppo
Data Warehouse

Partitioning nel DWH: quando 3 anni di dati pesano troppo

Range partitioning su fact table da 800 milioni di righe: da query trimestrali di 12 minuti a 40 secondi. Implementazione mensile, exchange e indici locali.

Binary log in MySQL: cosa sono, come gestirli e quando puoi cancellarli
MySQL

Binary log in MySQL: cosa sono, come gestirli e quando puoi cancellarli

MySQL binary log: gestione, retention e point-in-time recovery. Caso reale di server con disco al 95% e 180 GB di binlog in sei mesi.

VACUUM e autovacuum: perché PostgreSQL ha bisogno che qualcuno pulisca
PostgreSQL

VACUUM e autovacuum: perché PostgreSQL ha bisogno che qualcuno pulisca

PostgreSQL VACUUM e autovacuum: diagnosi del bloat su database da 200 GB, lettura di pg_stat_user_tables e tuning senza disabilitare nulla.

AI Manager e Project Management: quando l'intelligenza artificiale entra nei progetti
Project Management

AI Manager e Project Management: quando l'intelligenza artificiale entra nei progetti

AI Manager: il ruolo che governa l'impatto dell'intelligenza artificiale su architetture, processi e persone. Riflessioni da 30 anni di IT.

Pagamenti a 60-90-120 giorni: la normalità italiana che in Europa non esiste
Project Management

Pagamenti a 60-90-120 giorni: la normalità italiana che in Europa non esiste

Pagamenti a 60-90-120 giorni nella consulenza IT italiana: confronto con le regole europee. DSO, direttiva 2011/7/UE e strategie per freelance.

Bici vs Auto a Roma: la mattina che mi ha aperto gli occhi
Project Management

Bici vs Auto a Roma: la mattina che mi ha aperto gli occhi

Pendolarismo Roma: bici elettrica Brompton vs auto. 18 minuti vs 50, 35€ di parcheggio risparmiati. La scelta di mobilità sostenibile, dati reali.

Smart working nella consulenza IT: i numeri che nessuno vuole guardare
Project Management

Smart working nella consulenza IT: i numeri che nessuno vuole guardare

Smart working nella consulenza IT: analisi economica e strategica del lavoro da remoto. Numeri reali, KPI, presenteismo e produttività vs ufficio.

Oracle su Linux: i parametri kernel che nessuno configura
Oracle

Oracle su Linux: i parametri kernel che nessuno configura

Oracle 19c su Linux: tuning del kernel per performance reali. Huge Pages, THP, swappiness, I/O scheduler, ulimit — numeri prima e dopo.

Galera Cluster a 3 nodi: come ho risolto una criticità di disponibilità su MySQL
MySQL

Galera Cluster a 3 nodi: come ho risolto una criticità di disponibilità su MySQL

MySQL Galera Cluster a 3 nodi per l'alta disponibilità: replica sincrona, quorum, SST/IST. Configurazione completa contro il single point of failure.

Ruoli e utenti in PostgreSQL: perché è tutto (solo) un ROLE
PostgreSQL

Ruoli e utenti in PostgreSQL: perché è tutto (solo) un ROLE

PostgreSQL ROLE: utenti e ruoli sono lo stesso oggetto. Modello mentale, GRANT, NOINHERIT e creazione di un account read-only manutenibile.

AWR, ASH e i 10 minuti che hanno salvato un go-live
Oracle

AWR, ASH e i 10 minuti che hanno salvato un go-live

Oracle 19c performance tuning con AWR e ASH: trovare un full table scan in una stored procedure in 10 minuti, vigilia di go-live.

Quando il caos diventa metodo: AI e GitHub per gestire un progetto che nessuno voleva toccare
Project Management

Quando il caos diventa metodo: AI e GitHub per gestire un progetto che nessuno voleva toccare

Project management con AI e GitHub: trasformare un progetto caotico in workflow misurabile con issue tracking, code review e intelligenza artificiale.

Utenti, ruoli e privilegi in Oracle: perché GRANT ALL non è mai la risposta
Oracle

Utenti, ruoli e privilegi in Oracle: perché GRANT ALL non è mai la risposta

Sicurezza Oracle: ridisegno del modello GRANT con ruoli custom e Unified Audit, applicando il least privilege. Caso reale con SQL pronto.

Standup meeting: perché funzionano solo se durano 15 minuti
Project Management

Standup meeting: perché funzionano solo se durano 15 minuti

Standup meeting Scrum: perché solo i 15 minuti li fanno funzionare. Timeboxing, parking lot, regole pratiche del daily meeting che reggono nel tempo.

Gerarchie sbilanciate: quando il cliente non ha un padre e il gruppo non ha un nonno
Data Warehouse

Gerarchie sbilanciate: quando il cliente non ha un padre e il gruppo non ha un nonno

Ragged hierarchy nel data warehouse: bilanciamento di gerarchie sbilanciate con la tecnica del self-parenting. Drill-down corretto su clienti e gruppi.

Utenti MySQL: perché 'mario' e 'mario'@'localhost' non sono la stessa persona
MySQL

Utenti MySQL: perché 'mario' e 'mario'@'localhost' non sono la stessa persona

MySQL utenti e host: 'mario' e 'mario'@'localhost' sono entità diverse. Modello di autenticazione MySQL/MariaDB, errori frequenti e GRANT corretti.

La tecnica del Sì-E: come ho evitato una discussione che stava per esplodere
Project Management

La tecnica del Sì-E: come ho evitato una discussione che stava per esplodere

La tecnica Yes-And dal teatro di improvvisazione applicata alla gestione dei conflitti nei team IT. Caso reale di riunione che stava degenerando.

Quando un LIKE '%valore%' rallenta tutto: un caso reale di ottimizzazione PostgreSQL
PostgreSQL

Quando un LIKE '%valore%' rallenta tutto: un caso reale di ottimizzazione PostgreSQL

Ottimizzazione PostgreSQL: LIKE '%valore%' genera full scan. Uso di pg_trgm e indice GIN per trasformare un wildcard search in lookup veloce.

4 milioni di euro, due multinazionali, zero software: storia vera di un fallimento annunciato
Project Management

4 milioni di euro, due multinazionali, zero software: storia vera di un fallimento annunciato

Project management caso reale: cliente assicurativo spende 4 milioni in consulenza IT e ottiene zero software funzionante. Lezioni di vendor lock-in.

Oracle Partitioning: quando 2 miliardi di righe non entrano più in una query
Oracle

Oracle Partitioning: quando 2 miliardi di righe non entrano più in una query

Oracle Partitioning su tabella da 2 miliardi di righe: range, interval, partition pruning, indici locali. Da ore a secondi sulle query.

Da single instance a Data Guard: il giorno in cui il CEO ha capito il DR
Oracle

Da single instance a Data Guard: il giorno in cui il CEO ha capito il DR

Oracle Data Guard 19c: migrazione da single instance dopo un crash di 6 ore. Architettura DR, primary/standby, switchover automatico.

SCD Tipo 2: la storia che il business non sapeva di volere
Data Warehouse

SCD Tipo 2: la storia che il business non sapeva di volere

SCD Tipo 2 nel data warehouse: storicizzare dimensioni con chiavi surrogate e date di validità. Caso reale: dimensione clienti che evolve nel tempo.

MySQL multi-istanza: un ticket, un CSV e il muro di secure-file-priv
MySQL

MySQL multi-istanza: un ticket, un CSV e il muro di secure-file-priv

MySQL multi-istanza su Linux: esportare un CSV con INTO OUTFILE bloccato da secure-file-priv. Connessione via socket Unix e workaround dalla shell.

EXPLAIN ANALYZE non basta: come leggere davvero un piano di esecuzione PostgreSQL
PostgreSQL

EXPLAIN ANALYZE non basta: come leggere davvero un piano di esecuzione PostgreSQL

PostgreSQL EXPLAIN ANALYZE: leggere un execution plan, riconoscere nested loop costosi e ANALYZE su statistiche vecchie. Caso reale 2M righe.

Fatto a grana sbagliata: quando la fact table non risponde alle domande giuste
Data Warehouse

Fatto a grana sbagliata: quando la fact table non risponde alle domande giuste

Data warehouse: la grana della fact table determina quali domande puoi rispondere. Errori frequenti nella granularità e impatto sul modello dimensionale.

Disco pieno su un cluster MySQL: binary log, Group Replication e la migrazione che non ammette errori
MySQL

Disco pieno su un cluster MySQL: binary log, Group Replication e la migrazione che non ammette errori

MySQL Group Replication a 3 nodi: migrazione dei binary log su volume dedicato senza perdere il quorum. Caso reale con filesystem al 92%.