Salta al contenuto principale

Terminologia

ACID

Atomicità, Consistenza, Isolamento, Durabilità - le quattro garanzie di correttezza di una transazione relazionale. Usato come abbreviazione di archiviazione "transazionalmente sicura", in contrapposizione alla consistenza eventuale in stile BASE.

BASE

Basically Available, Soft state, Eventual consistency - il modello di consistenza rilassato preferito da molti sistemi NoSQL distribuiti. Si contrappone ad ACID scambiando la consistenza immediata con disponibilità e tolleranza alle partizioni.

BCNF

Boyce-Codd Normal Form - una versione più rigida della terza forma normale che richiede che ogni dipendenza funzionale non banale abbia una superchiave a sinistra. Uno schema in BCNF elimina la ridondanza da tutte le anomalie legate alle chiavi candidate.

CTE

Common Table Expression - un insieme di risultati temporaneo e denominato introdotto con WITH, limitato a una singola istruzione, usato per strutturare query complesse ed esprimere la ricorsione tramite WITH RECURSIVE.

DBA

Database Administrator - il ruolo responsabile di installare, configurare, mettere in sicurezza, fare backup, ottimizzare e monitorare i sistemi di database. I DBA gestiscono il capacity planning, la topologia di replica e il disaster recovery.

DCL

Data Control Language - il sottoinsieme SQL che gestisce i permessi, principalmente GRANT e REVOKE. Governa chi può eseguire quali operazioni su quali oggetti.

DDL

Data Definition Language - il sottoinsieme SQL che definisce e modifica gli oggetti di schema: CREATE, ALTER, DROP, TRUNCATE. Cambia la struttura piuttosto che i dati.

DML

Data Manipulation Language - il sottoinsieme SQL che interroga e modifica i dati delle righe: SELECT, INSERT, UPDATE, DELETE, MERGE. Queste istruzioni vengono eseguite all'interno delle transazioni.

DQL

Data Query Language - talvolta separato dalla DML per nominare specificamente l'istruzione di sola lettura SELECT, il nucleo dichiarativo dell'SQL.

ER / ERD

Entity-Relationship / Entity-Relationship Diagram - un modello concettuale e il suo diagramma, che rappresentano le entità, i loro attributi e le relazioni e cardinalità tra esse. Gli ERD sono l'artefatto standard per progettare uno schema relazionale.

ETL

Extract, Transform, Load - il pattern di pipeline che estrae dati dalle sorgenti, li trasforma e li scrive in un target come un data warehouse. ELT è la variante che carica prima e trasforma dentro il warehouse.

FK

Foreign Key (chiave esterna) - una colonna che fa riferimento alla chiave primaria o univoca di un'altra tabella, imponendo l'integrità referenziale tra tabelle correlate.

GIN

Generalized Inverted Index - un tipo di indice PostgreSQL ottimizzato per valori contenenti più chiavi componenti, come documenti full-text, array e jsonb. Alimenta la ricerca testuale @@ e gli operatori di contenimento.

HNSW

Hierarchical Navigable Small World - un indice basato su grafo per la ricerca approssimata del vicino più prossimo usato per la similarità vettoriale, disponibile tramite l'estensione pgvector e nei database vettoriali dedicati. Abilita un rapido recupero semantico top-k.

JDBC

Java Database Connectivity - l'API Java standard per connettersi a database relazionali tramite implementazioni di driver, che espone connessioni, statement e result set. È alla base di JPA/Hibernate e della maggior parte dell'accesso ai dati su JVM.

MVCC

Multi-Version Concurrency Control - un meccanismo di concorrenza che mantiene più versioni di riga così i lettori vedono uno snapshot consistente senza bloccare gli scrittori. Usato da PostgreSQL e Oracle.

OLAP

Online Analytical Processing - carichi analitici di scansione e aggregazione su grandi dataset storici, tipicamente serviti da motori colonnari o da warehouse.

OLTP

Online Transaction Processing - carichi transazionali ad alto volume e bassa latenza di molte piccole letture e scritture concorrenti, tipicamente serviti da database relazionali orientati alle righe.

ORM

Object-Relational Mapping - un livello che mappa le tabelle del database a oggetti nel linguaggio e genera SQL, ad esempio Hibernate, Prisma, SQLAlchemy, Entity Framework.

PK

Primary Key (chiave primaria) - la colonna o le colonne che identificano univocamente ogni riga, imposte come NOT NULL e univoche; il target dei riferimenti di chiave esterna.

RDBMS

Relational Database Management System - software che memorizza i dati in relazioni (tabelle) e implementa SQL e transazioni ACID, ad esempio PostgreSQL, MySQL, SQL Server, Oracle.

TCL

Transaction Control Language - il sottoinsieme SQL che gestisce le transazioni: BEGIN/START TRANSACTION, COMMIT, ROLLBACK, SAVEPOINT.

TPS / QPS

Transactions Per Second / Queries Per Second - metriche di throughput rispettivamente per carico transazionale e di query, usate nel capacity planning e nel benchmarking.

UDF

User-Defined Function - una funzione personalizzata scritta in SQL o in un linguaggio procedurale (PL/pgSQL, PL/SQL, T-SQL) e richiamabile nelle query, che estende l'insieme di funzioni integrate.

UPSERT

Inserisci-o-aggiorna - un'operazione singola che inserisce una riga, o la aggiorna in caso di conflitto di chiave, espressa come INSERT ... ON CONFLICT DO UPDATE (PostgreSQL) oppure MERGE / INSERT ... ON DUPLICATE KEY UPDATE (altri).

UUID

Universally Unique Identifier - un identificatore a 128 bit (spesso v4 casuale o v7 ordinato nel tempo) usato come chiave surrogata globalmente univoca, che evita il coordinamento tra sistemi al costo di dimensione e località dell'indice.

WAL

Write-Ahead Log - il log append-only delle modifiche scritto prima dell'aggiornamento dei file dati, che fornisce recupero da crash, recupero point-in-time e il flusso per la replica fisica. Chiamato redo log o transaction log in altri motori.

1NF / 2NF / 3NF

Prima, Seconda e Terza Forma Normale - stadi successivi di normalizzazione: la 1NF richiede valori di colonna atomici, la 2NF rimuove le dipendenze parziali da parte di una chiave composta, la 3NF rimuove le dipendenze transitive da colonne non chiave.