Che cos'è un database? Definizione e tipologie.
⚡ Riepilogo intelligente
Cos'è un database? Un database è una raccolta sistematica e strutturata di dati che supporta l'archiviazione, il recupero e la gestione elettronica. È alla base dei sistemi di uso quotidiano, dagli elenchi telefonici ai social network, e viene gestito tramite un software chiamato Sistema di Gestione di Database (DBMS).

Che cosa sono i dati?
In parole povere, dati Si tratta di informazioni relative a un oggetto di interesse. Il tuo nome, età, altezza e peso sono tutti dati che ti riguardano. Anche immagini, file e PDF possono essere considerati dati, poiché ognuno di essi contiene informazioni che possono essere memorizzate ed elaborate.
Cos'è un database?
A banca dati Si tratta di una raccolta sistematica di dati. I database supportano l'archiviazione, il recupero e la manipolazione elettronica dei dati, semplificando la gestione dei dati su larga scala.
Consideriamo alcuni esempi comuni. Un elenco telefonico online utilizza un database per memorizzare persone, numeri di telefono e dettagli di contatto. Un fornitore di energia elettrica utilizza un database per gestire la fatturazione, i problemi dei clienti e la cronologia dei guasti. Facebook memorizza membri, amicizie, post, messaggi, annunci e molto altro ancora: tutto risiede all'interno di database. Lo schema è lo stesso in tutti i settori: organizzare le informazioni in modo che applicazioni e persone possano interrogarle in modo affidabile.
Tipi di database
Di seguito vengono riassunti i tipi di database più comuni. Ciascuno è adatto a una particolare struttura dei dati e a un determinato carico di lavoro.
Database distribuiti
Un database distribuito diffonde i dati su più siti o posizioni. Ogni sito mantiene la propria porzione di dati, mentre i client visualizzano un unico database logico. Questo modello è comune nelle applicazioni globali che richiedono bassa latenza e disponibilità locale.
Database relazionali
Un database relazionale memorizza i dati in tabelle con righe e colonne e utilizza chiavi per collegare una tabella all'altra. Spesso chiamato RDBMS, rimane il più popolare DBMS famiglia nel mercato. Esempi includono MySQL, Oracle Database, PostgreSQLe Microsoft SQL Server.
Database orientati agli oggetti
I database orientati agli oggetti memorizzano i dati come oggetti, ognuno dei quali possiede attributi e metodi che definiscono le operazioni consentite sui dati. Si integrano perfettamente con i linguaggi di programmazione orientati agli oggetti ed eliminano la necessità di un livello ORM.
Banca dati centralizzata
Un database centralizzato conserva tutti i record su un unico server centrale. Gli utenti si connettono allo stesso archivio da diverse postazioni, il che semplifica l'amministrazione ma rende il server un singolo punto di contesa.
Database open source
I database open source pubblicano il loro codice sorgente con una licenza permissiva, in modo che chiunque possa utilizzarli, modificarli e ridistribuirli. MySQL, PostgreSQL, SQLite, MariaDBe MongoDB sono esempi ampiamente diffusi.
Database cloud
Un database cloud è ottimizzato per infrastrutture virtualizzate e on-demand. Viene fornito come servizio gestito, scala in modo elastico lo storage e la potenza di calcolo e offre alta disponibilità tramite la replica integrata. Esempi includono Amazon RDS, Azure Database SQL e Google Cloud Chiave inglese.
Data warehouse
A data warehouse Centralizza i dati storici e cumulativi provenienti da molteplici sistemi di origine per supportare il processo decisionale, la reportistica e le previsioni. Semplifica l'analisi fornendo all'organizzazione un'unica versione affidabile dei dati.
Database NoSQL
I database NoSQL gestiscono set di dati molto grandi, spesso non strutturati, che non si adattano perfettamente a righe e colonne. I database a documenti, a chiave-valore, a famiglie di colonne e a grafo rispondono ciascuno a un diverso modello di accesso e offrono una scalabilità orizzontale che i database relazionali tradizionali faticano a eguagliare.
Database grafico
Un database a grafo utilizza la teoria dei grafi (nodi e archi) per memorizzare e interrogare direttamente le relazioni. È ideale per il rilevamento delle frodi, i motori di raccomandazione e l'analisi dei social network, dove le connessioni tra le entità sono importanti quanto le entità stesse.
Database OLTP
I database OLTP (Online Transaction Processing) sono focalizzati su transazioni ad alta velocità e bassa latenza in ambienti multiutente. Garantiscono le proprietà ACID e sono ottimizzati per gestire numerose operazioni di lettura e scrittura di piccole dimensioni, tipiche dei sistemi operativi come i punti vendita e le applicazioni bancarie.
Banca dati personale
Un database personale memorizza i dati su un singolo computer per un singolo utente o un piccolo team. Microsoft Accesso e SQLite sono esempi tipici.
Banca dati multimodale
Un database multimodale supporta diversi modelli di dati, ad esempio documenti, grafi e coppie chiave-valore, all'interno di un unico motore. ArangoDB e Microsoft Azure Cosmos DB è una popolare opzione multimodale.
Database documenti/JSON
In un database orientato ai documenti, ogni record è un documento autonomo, solitamente in formato JSON, BSON o XML. Un singolo documento può contenere dati riccamente annidati e campi variabili, il che rende il modello flessibile per applicazioni in rapida evoluzione. MongoDB e Couchbase sono esempi ben noti.
Banca dati gerarchica
Un database gerarchico utilizza una struttura ad albero con relazioni padre-figlio. I nodi rappresentano i record e i rami rappresentano i campi. Windows Registro su Windows XP e IBM I sistemi di gestione degli insiemi (IMS) sono esempi classici di database gerarchici.
Banca dati di rete
Un DBMS di rete supporta relazioni molti-a-molti tra i record, generando strutture più complesse rispetto al modello gerarchico. RDM Server è un esempio di sistema di gestione di database che implementa il modello di rete.
Componenti del database
Componenti del database.
Ogni database è costituito da cinque componenti che lavorano insieme:
Hardware
L'hardware rappresenta il livello fisico: computer, dispositivi di I/O, supporti di memorizzazione e reti. Fornisce l'interfaccia tra il database e il resto del mondo.
Software
Il software comprende tutto ciò che gestisce e controlla il database: il DBMS stesso, il sistema operativo, il software di rete che consente a più utenti di condividere i dati e le applicazioni che leggono e scrivono tramite il DBMS.
Dati
I dati sono i fatti grezzi, le osservazioni, i numeri, i simboli e le immagini che il database memorizza. I dati grezzi da soli sono privi di significato; il database li organizza e li elabora trasformandoli in informazioni utili.
Procedure
Le procedure sono le istruzioni e le regole documentate che disciplinano la progettazione, il funzionamento e la manutenzione del database. Indicano agli amministratori e agli utenti come far funzionare il sistema in modo affidabile.
Lingua di accesso al database
Un linguaggio di accesso al database, il più delle volte SQL, consente a utenti e applicazioni di inserire, aggiornare, eliminare e interrogare i dati. Gli utenti impartiscono comandi specifici che il DBMS analizza, pianifica ed esegue sulla memoria sottostante.
Che cos'è un sistema di gestione dei database (DBMS)?
A Sistema di gestione della banca dati (DBMS) è il livello software che consente agli utenti di definire, archiviare, recuperare, aggiornare e proteggere i dati. DBMS coordina l'accesso tra numerosi utenti e applicazioni, garantisce l'integrità dei dati e controlla chi può visualizzare o modificare cosa.
La tecnologia DBMS non è una novità: è opera di Charles Bachman. Archivio dati integrato (IDS)Il DBMS, sviluppato presso la General Electric all'inizio degli anni '1960, è ampiamente considerato il primo DBMS. Da allora, il settore si è evoluto attraverso modelli gerarchici, di rete, relazionali, orientati agli oggetti e NoSQL, ognuno dei quali affronta la successiva generazione di carichi di lavoro sui dati.
Storia dei sistemi di gestione di database
Le tappe fondamentali sono elencate di seguito. trace l'evoluzione della tecnologia dei database.
- 1960 secondi — Charles Bachman progetta il primo DBMS (Integrated Data Store) presso la General Electric.
- 1968 - IBM Sistema di gestione delle informazioni delle navi (IMS), uno dei primi DBMS gerarchici.
- 1970 — Edgar F. Codd pubblica “A Relational Model of Data for Large Shared Data Banks”, introducendo il modello relazionale.
- 1976 — Peter Chen formalizza il modello Entità-Relazione (ER).
- 1980 secondi - Il modello relazionale diventa il paradigma dominante per i database e SQL viene standardizzato.
- 1985 — I DBMS orientati agli oggetti sembrano adattarsi all'ascesa dei linguaggi di programmazione orientati agli oggetti.
- 1990 secondi — Le funzionalità object-relazionali arrivano nei principali RDBMS.
- 1992 - Microsoft rilascia la prima versione di Microsoft Accesso ai database personali.
- 1995 — Le applicazioni web iniziano a trainare l'utilizzo dei database su scala Internet.
- 1997 — XML entra nei database sia come formato che come destinazione delle query.
- 2009 — Il termine NoSQL guadagna tracman mano che i sistemi di archiviazione di documenti, coppie chiave-valore e grafi crescono rapidamente.
- 2010 e oltre — Database SQL nativi del cloud e distribuiti (Aurora, Spanner, CockroachDB) emergere.
Vantaggi del DBMS
Un DBMS ben implementato offre alle organizzazioni numerosi vantaggi pratici:
- Offre numerose tecniche per archiviare e recuperare i dati in modo efficiente.
- Bilancia le esigenze di più applicazioni che condividono gli stessi dati.
- Garantisce procedure amministrative uniformi.
- Protegge i programmatori di applicazioni dai dettagli di archiviazione.
- Garantisce l'integrità e la sicurezza dei dati attraverso vincoli e controllo degli accessi.
- Pianifica l'accesso simultaneo in modo che solo le operazioni valide abbiano successo.
- Riduce i tempi di sviluppo delle applicazioni grazie a servizi riutilizzabili.
Svantaggi del DBMS
Anche il modello DBMS presenta dei compromessi:
- I costi dell'hardware e del software possono essere considerevoli.
- La maggior parte dei sistemi è complessa, quindi utenti e amministratori necessitano di formazione.
- Centralizzare i dati in un unico database crea un bersaglio appetibile per interruzioni del servizio, corruzione dei dati o attacchi.
- L'accesso simultaneo richiede un'attenta progettazione per evitare la perdita di aggiornamenti e i blocchi.
- Un DBMS non è progettato per calcoli numerici complessi; strumenti specializzati gestiscono meglio questo tipo di carico di lavoro.

