The lunch break that delayed go-live: Data Governance in the DWH
A lunch conversation about what a technically ready Data Warehouse still lacks: data ownership, quality framework, GDPR, TDE on Oracle 19c.

Database Strategy: technical blog on Oracle, PostgreSQL, MySQL, data warehouse and project management. Hands-on articles from 30 years of IT consulting.
The difference between a system that works
and one that truly drives business is not luck.
It is deep understanding of execution plans.
It is control over privileges and data security.
It is data modeling aligned with business objectives.
It is performance that holds under growing load.
Databases are the operational core of every modern digital ecosystem.
They support critical processes, enable data-driven decisions and determine operational speed and efficiency.
Inside the Engine is where I analyze what happens under the hood of PostgreSQL, Oracle and MySQL: performance tuning, security, architecture and technical decisions applicable to real-world production systems.
Because in today’s data-driven world, databases are not just software components.
They are strategic assets that influence competitiveness, reliability and sustainable growth.

A lunch conversation about what a technically ready Data Warehouse still lacks: data ownership, quality framework, GDPR, TDE on Oracle 19c.

Step-by-step diagnosis of ORA-00205 during a night emergency: MOUNT phase, control file, SPFILE, redo log. A practical method for on-call Oracle DBAs.

PostgreSQL logical replication explained through a colleague's questions: cross-version migration, CDC to data warehouse, step-by-step configuration.

The story of the Three Amigos of UML and RUP: how Booch, Rumbaugh and Jacobson, from rivals, unified object-oriented modeling. And what's left of it today.

Seven years of Oracle seen through enumerations: from 19c CHECK to 23ai SQL Domains, all the way to 26ai Assertions. An insurance migration story.

Oracle never had a native ENUM. CHECK constraints, lookup tables and SQL Domains 23ai: three roads, a real banking case, and what's coming with 26ai.

PostgreSQL ENUM vs CHECK vs lookup table: ALTER TYPE ADD VALUE is metadata-cheap, dropping a value costs a migration. Three paths, one real telco case.

MySQL ENUM vs CHECK constraint vs lookup table: three ways to model an enumeration. Pros, cons and real case of a shipment tracking system.

PostgreSQL: how to find and drop unused indexes with pg_stat_user_indexes. Real case: a table with 15 indexes, 8 of them never used.

Project management: 5 rules observed in teams that hold under pressure. Psychological safety, bus factor, outcome vs output, knowledge transfer.

Kimball bus matrix to align isolated data marts: conformed dimensions, business processes and comparable sales. Real insurance group case.

MySQL 8.0 pre-upgrade assessment: measuring sizes, growth, backup and restore times with information_schema. Real numbers to plan maintenance window.

Oracle 19c on-premises to OCI migration: 2 TB with RAC and Data Guard. BYOL licensing, Data Pump, overnight cutover — real chronicle.

PostgreSQL pg_stat_statements: the first query diagnostics extension to install. Find the three queries consuming 80% of database resources.

MySQL backup tools compared: mysqldump vs mydumper vs mysqlpump on a 60 GB database. Real dump and restore times, parallelism and architectural choice.

Range partitioning on an 800-million-row fact table: from 12-minute quarterly queries to 40 seconds. Monthly implementation, exchange and local indexes.

MySQL binary log: management, retention and point-in-time recovery. Real case of a server with disk at 95% and 180 GB of binlogs in six months.

PostgreSQL VACUUM and autovacuum: bloat diagnosis on a 200 GB database, reading pg_stat_user_tables and tuning without disabling anything.

AI Manager: the professional role that governs the impact of artificial intelligence on architectures, processes and people. Reflections from 30 years in IT.

60-90-120 day payment terms in Italian IT consulting: comparison with European rules. DSO, EU directive 2011/7 and strategies for IT freelancers.

Commuting in Rome: electric Brompton vs car. 18 minutes vs 50, €35 of parking saved per day. The sustainable mobility choice from a practical view.

Smart working in IT consulting: economic and strategic analysis of remote work. Real numbers, KPIs, presenteeism and productivity compared to in-office.

Oracle 19c on Linux: kernel tuning for real performance. Huge Pages, THP, swappiness, I/O scheduler, ulimit — before and after numbers.

3-node MySQL Galera Cluster for high availability: synchronous replication, quorum, SST/IST. Full configuration against single point of failure.

PostgreSQL ROLE: users and roles are the same object. Mental model, GRANT, NOINHERIT and how to build a truly maintainable read-only account.

Oracle 19c performance tuning with AWR and ASH: finding a hidden full table scan in a stored procedure in 10 minutes, the eve of a go-live.

Project management with AI and GitHub: turning a chaotic project into a measurable workflow with issue tracking, code review and artificial intelligence.

Oracle security: redesigning the GRANT model with custom roles and Unified Audit, applying least privilege. Real case with copy-paste SQL.
Scrum standup meetings: why only the 15-minute constraint makes them work. Timeboxing, parking lot and daily meeting rules that hold up over time.

Ragged hierarchy in the data warehouse: balancing unbalanced trees with the self-parenting technique. Correct drill-down on customers and groups.

The Yes-And technique from improvisational theatre applied to conflict management in IT teams. Real case of a meeting that was about to blow up.

MySQL users and hosts: 'mario' and 'mario'@'localhost' are different entities. MySQL/MariaDB authentication model, common mistakes and correct GRANTs.

PostgreSQL optimization: LIKE '%value%' causes full scan. Using pg_trgm and GIN index to turn a wildcard search into a fast lookup. Real case.

Real project management case: insurance client spends 4 million euros on IT consulting and gets zero working software. Vendor lock-in lessons.

Oracle Partitioning on a 2-billion-row table: range, interval, partition pruning, local indexes. From hours to seconds on reporting queries.

Oracle Data Guard 19c: migration from single instance after a 6-hour outage. DR architecture, primary/standby, automatic switchover.

SCD Type 2 in the data warehouse: historicising dimensions with surrogate keys and validity dates. Real case: a customer dimension that evolves over time.

MySQL multi-instance on Linux: exporting a CSV with INTO OUTFILE blocked by secure-file-priv. Unix socket connection and shell workaround real case.

PostgreSQL EXPLAIN ANALYZE: reading an execution plan, spotting costly nested loops and stale statistics. Real case on 2-million-row table.

Data warehouse: fact table grain determines which questions you can answer. Common mistakes in granularity and their impact on the dimensional model.

3-node MySQL Group Replication: migrating binary logs to a dedicated volume without losing quorum. Real case with filesystem at 92%.
Start typing to search…
Select a result to see the preview