Database Strategy

Database Strategy

Database Strategy: blog tehnic despre Oracle, PostgreSQL, MySQL, data warehouse și project management. Articole practice din 30 ani de consultanță IT.

Diferența dintre un sistem care funcționează
și unul care susține cu adevărat businessul nu este noroc.

Este înțelegerea profundă a planurilor de execuție.
Este controlul privilegiilor și securitatea datelor.
Este modelarea datelor aliniată obiectivelor de business.
Este performanță care rezistă pe măsură ce încărcarea crește.

Bazele de date reprezintă nucleul operațional al ecosistemului digital modern.
Susțin procese critice, permit decizii bazate pe date și determină viteza și eficiența operațională.

În Interiorul Motorului este spațiul în care analizez ce se întâmplă sub capota PostgreSQL, Oracle și MySQL: optimizare de performanță, securitate, arhitectură și decizii tehnice aplicabile în medii reale de producție.

Pentru că în lumea actuală orientată pe date, bazele de date nu sunt simple componente software.
Sunt active strategice care influențează competitivitatea, fiabilitatea și creșterea sustenabilă.

Ultimele articole

5 reguli pe care le-am văzut funcționând în echipele de proiect care rezistă
Project Management

5 reguli pe care le-am văzut funcționând în echipele de proiect care rezistă

Management proiect: 5 reguli observate în echipele care rezistă sub presiune. Psychological safety, bus factor, outcome vs output, knowledge transfer.

Trei data marts, trei adevăruri despre vânzări: bus matrix ca teren comun
Data Warehouse

Trei data marts, trei adevăruri despre vânzări: bus matrix ca teren comun

Bus matrix Kimball pentru alinierea data marts izolate: conformed dimensions, procese de business și vânzări comparabile. Caz real grup asigurări.

Înainte de a face upgrade la MySQL: cifrele pe care clientul ți le cere și cum să le găsești cu adevărat
MySQL

Înainte de a face upgrade la MySQL: cifrele pe care clientul ți le cere și cum să le găsești cu adevărat

MySQL 8.0 pre-upgrade assessment: dimensiuni, creștere, timpi de backup și restore cu information_schema. Cifre reale pentru planificare.

Oracle de la On-Premises la Cloud: Strategie, Planificare și Cutover
Oracle

Oracle de la On-Premises la Cloud: Strategie, Planificare și Cutover

Migrare Oracle 19c on-premises la OCI: 2 TB cu RAC și Data Guard. Licensing BYOL, Data Pump, cutover peste noapte — cronică reală.

pg_stat_statements: primul lucru de instalat pe orice PostgreSQL
PostgreSQL

pg_stat_statements: primul lucru de instalat pe orice PostgreSQL

PostgreSQL pg_stat_statements: extensia de diagnosticare query de instalat prima. Găsește cele trei query-uri care consumă 80% din resurse.

mysqldump vs mysqlpump vs mydumper: backup-ul care nu te lasă să dormi
MySQL

mysqldump vs mysqlpump vs mydumper: backup-ul care nu te lasă să dormi

Backup MySQL: mysqldump vs mydumper vs mysqlpump pe bază de date de 60 GB. Timpi reali dump și restore, paralelism și decizie arhitecturală.

Partitioning în DWH: când 3 ani de date sunt prea mulți
Data Warehouse

Partitioning în DWH: când 3 ani de date sunt prea mulți

Range partitioning pe fact table de 800 milioane rânduri: de la query-uri trimestriale de 12 minute la 40 de secunde. Implementare lunară, exchange.

Binary log în MySQL: ce sunt, cum le gestionezi și când le poți șterge
MySQL

Binary log în MySQL: ce sunt, cum le gestionezi și când le poți șterge

MySQL binary log: gestionare, retenție și point-in-time recovery. Caz real de server cu discul la 95% și 180 GB de binlog în șase luni.

VACUUM și autovacuum: de ce PostgreSQL are nevoie ca cineva să facă curățenie
PostgreSQL

VACUUM și autovacuum: de ce PostgreSQL are nevoie ca cineva să facă curățenie

PostgreSQL VACUUM și autovacuum: diagnostic bloat pe bază de date 200 GB, citirea pg_stat_user_tables și tuning fără a dezactiva nimic.

AI Manager și Project Management: când inteligența artificială intră în proiecte
Project Management

AI Manager și Project Management: când inteligența artificială intră în proiecte

AI Manager: rolul care guvernează impactul inteligenței artificiale asupra arhitecturilor, proceselor și oamenilor. Reflecții din 30 ani de IT.

Plăți la 60-90-120 de zile: normalitatea italiană care nu există în Europa
Project Management

Plăți la 60-90-120 de zile: normalitatea italiană care nu există în Europa

Plăți la 60-90-120 zile în consultanța IT italiană: comparație cu regulile europene. DSO, directiva 2011/7/UE și strategii pentru freelanceri IT.

Bicicletă vs Mașină la Roma: dimineața care mi-a deschis ochii
Project Management

Bicicletă vs Mașină la Roma: dimineața care mi-a deschis ochii

Pendulare în Roma: Brompton electrică vs mașină. 18 minute vs 50, 35€ de parcare economisiți. Alegerea mobilității sustenabile, date reale.

Smart working în consultanța IT: cifrele pe care nimeni nu vrea să le vadă
Project Management

Smart working în consultanța IT: cifrele pe care nimeni nu vrea să le vadă

Smart working în consultanța IT: analiză economică și strategică a muncii la distanță. Cifre reale, KPI, prezenteism și productivitate vs birou.

Oracle pe Linux: parametrii kernel pe care nimeni nu-i configurează
Oracle

Oracle pe Linux: parametrii kernel pe care nimeni nu-i configurează

Oracle 19c pe Linux: tuning kernel pentru performanță reală. Huge Pages, THP, swappiness, I/O scheduler, ulimit — cifre înainte/după.

Galera Cluster cu 3 noduri: cum am rezolvat o criticitate de disponibilitate pe MySQL
MySQL

Galera Cluster cu 3 noduri: cum am rezolvat o criticitate de disponibilitate pe MySQL

MySQL Galera Cluster cu 3 noduri pentru high availability: replicare sincronă, quorum, SST/IST. Configurare împotriva single point of failure.

Roluri și utilizatori în PostgreSQL: de ce totul este (doar) un ROLE
PostgreSQL

Roluri și utilizatori în PostgreSQL: de ce totul este (doar) un ROLE

PostgreSQL ROLE: utilizatorii și rolurile sunt același obiect. Model mental, GRANT, NOINHERIT și construirea unui utilizator read-only mentenabil.

AWR, ASH și cele 10 minute care au salvat un go-live
Oracle

AWR, ASH și cele 10 minute care au salvat un go-live

Tuning Oracle 19c cu AWR și ASH: găsirea unui full table scan ascuns într-o procedură stocată în 10 minute, în ajunul unui go-live.

Când haosul devine metodă: AI și GitHub pentru gestionarea unui proiect pe care nimeni nu voia să-l atingă
Project Management

Când haosul devine metodă: AI și GitHub pentru gestionarea unui proiect pe care nimeni nu voia să-l atingă

Management proiect cu AI și GitHub: transformarea unui proiect haotic în workflow măsurabil cu issue tracking, code review și inteligență artificială.

Utilizatori, roluri și privilegii în Oracle: de ce GRANT ALL nu este niciodată răspunsul
Oracle

Utilizatori, roluri și privilegii în Oracle: de ce GRANT ALL nu este niciodată răspunsul

Securitate Oracle: redesign al modelului GRANT cu roluri custom și Unified Audit, aplicând least privilege. Caz real cu SQL gata pentru copy-paste.

Standup meeting: de ce funcționează doar dacă durează 15 minute
Project Management

Standup meeting: de ce funcționează doar dacă durează 15 minute

Standup meeting Scrum: de ce doar 15 minute le fac să funcționeze. Timeboxing, parking lot și reguli practice ale daily meeting care rezistă în timp.

Ierarhii dezechilibrate: când clientul nu are părinte și grupul nu are bunic
Data Warehouse

Ierarhii dezechilibrate: când clientul nu are părinte și grupul nu are bunic

Ragged hierarchy în data warehouse: echilibrarea ierarhiilor dezechilibrate cu tehnica self-parenting. Drill-down corect pe clienți și grupuri.

Utilizatori MySQL: de ce 'mario' și 'mario'@'localhost' nu sunt aceeași persoană
MySQL

Utilizatori MySQL: de ce 'mario' și 'mario'@'localhost' nu sunt aceeași persoană

MySQL utilizatori și host: 'mario' și 'mario'@'localhost' sunt entități diferite. Model autentificare MySQL/MariaDB, greșeli comune și GRANT.

Tehnica Da-Și: cum am evitat o discuție care era pe punctul de a exploda
Project Management

Tehnica Da-Și: cum am evitat o discuție care era pe punctul de a exploda

Tehnica Yes-And din teatrul de improvizație aplicată la gestionarea conflictelor în echipe IT. Caz real al unei ședințe ce era pe punctul de a exploda.

Când un LIKE '%valoare%' încetinește totul: un caz real de optimizare PostgreSQL
PostgreSQL

Când un LIKE '%valoare%' încetinește totul: un caz real de optimizare PostgreSQL

Optimizare PostgreSQL: LIKE '%valoare%' generează full scan. Folosirea pg_trgm și index GIN pentru a transforma căutarea wildcard în lookup rapid.

4 milioane de euro, două multinaționale, zero software: povestea reală a unui eșec anunțat
Project Management

4 milioane de euro, două multinaționale, zero software: povestea reală a unui eșec anunțat

Caz real management proiect: client asigurări cheltuie 4 milioane în consultanță IT și obține zero software funcțional. Lecții vendor lock-in.

Oracle Partitioning: când 2 miliarde de rânduri nu mai încap într-o interogare
Oracle

Oracle Partitioning: când 2 miliarde de rânduri nu mai încap într-o interogare

Oracle Partitioning pe tabelă de 2 miliarde de rânduri: range, interval, partition pruning, indecși locali. De la ore la secunde.

De la single instance la Data Guard: ziua în care CEO-ul a înțeles DR-ul
Oracle

De la single instance la Data Guard: ziua în care CEO-ul a înțeles DR-ul

Oracle Data Guard 19c: migrare de la single instance după 6 ore de downtime. Arhitectură DR, primary/standby, switchover automat real.

SCD Tip 2: istoria pe care business-ul nu știa că o vrea
Data Warehouse

SCD Tip 2: istoria pe care business-ul nu știa că o vrea

SCD Tip 2 în data warehouse: istorizare dimensiuni cu chei surogat și date de valabilitate. Caz real: dimensiune clienți care evoluează în timp.

MySQL multi-instanță: un ticket, un CSV și zidul secure-file-priv
MySQL

MySQL multi-instanță: un ticket, un CSV și zidul secure-file-priv

MySQL multi-instanță pe Linux: export CSV cu INTO OUTFILE blocat de secure-file-priv. Conectare prin socket Unix și workaround din shell.

EXPLAIN ANALYZE nu e suficient: cum sa citesti cu adevarat un plan de executie PostgreSQL
PostgreSQL

EXPLAIN ANALYZE nu e suficient: cum sa citesti cu adevarat un plan de executie PostgreSQL

PostgreSQL EXPLAIN ANALYZE: citirea planului de execuție, nested loop costisitor și ANALYZE pe statistici vechi. Caz real cu 2M rânduri.

Granularitate greșită: când fact table nu răspunde la întrebările potrivite
Data Warehouse

Granularitate greșită: când fact table nu răspunde la întrebările potrivite

Data warehouse: granularitatea fact table determină ce întrebări poți răspunde. Greșeli frecvente în granularitate și impactul pe modelul dimensional.

Disc plin pe un cluster MySQL: binary logs, Group Replication și o migrare care nu acceptă erori
MySQL

Disc plin pe un cluster MySQL: binary logs, Group Replication și o migrare care nu acceptă erori

MySQL Group Replication cu 3 noduri: migrare binary logs pe un volum dedicat fără pierderea quorum-ului. Caz real cu filesystem la 92%.