Che cos'è un database?

24 novembre 2020

Che cos'è un database?

Definizione di database

Un database è un insieme di informazioni (o dati) strutturate in genere archiviate elettronicamente in un sistema informatico. Di solito, il database viene controllato da un sistema DBMS (Database Management System). Si fa riferimento ai dati, al sistema DBMS e alle applicazioni associate come sistema di database, spesso abbreviato solo in database.

I dati all'interno dei tipi più comuni di database attualmente in funzione vengono generalmente presentati in righe e colonne contenute in una serie di tabelle per garantire l'efficienza di elaborazione e query dei dati. Tali dati possono poi essere facilmente visualizzati, gestiti, modificati, aggiornati, controllati e organizzati. La maggior parte dei database utilizza il linguaggio SQL (Structured Query Language) per scrivere i dati ed eseguirne le query.

Che cos'è SQL (Structured Query Language)?

SQL è un linguaggio di programmazione utilizzato da quasi tutti i database relazionali per eseguire query, manipolare e definire i dati, nonché fornire il controllo dell'accesso. Sviluppato per la prima volta negli anni '70 in IBM con l'importante contributo di Oracle, che ha determinato l'implementazione dello standard SQL ANSI, SQL è stato fonte di ispirazione per numerose estensioni create da aziende quali IBM, Oracle e Microsoft. Sebbene SQL sia ampiamente utilizzato ancora oggi, nuovi linguaggi di programmazione stanno iniziando a fare il loro ingresso sul mercato.

Evoluzione del database

La crescita evolutiva dei database è stata notevole dai suoi inizi nei primi anni 60'. I sistemi originali utilizzati per memorizzare e manipolare i dati erano i database dedicati alla navigazione, quali il database gerarchico (che si basava su un modello ad albero e consentiva solo una relazione di tipo uno-a-molti) e il database di rete (un modello più flessibile in grado di permettere più relazioni). Sebbene semplici, questi primi sistemi mancavano di flessibilità. Negli anni 80', i database relazionali acquisirono notorietà, seguiti dai database orientati agli oggetti negli anni 90'. Più di recente, sono comparsi i database NoSQL in risposta alla crescita di Internet e per soddisfare l'esigenza di maggiore velocità ed elaborazione dei dati non strutturati. Oggi, i database cloud e i database con funzionalità di self-driving stanno aprendo le porte all'innovazione per quanto riguarda le procedure di raccolta, archiviazione, gestione e utilizzo dei dati.

Qual è la differenza tra database e fogli di calcolo?

I database e i fogli di calcolo (ad esempio, Microsoft Excel) sono entrambi soluzioni pratiche per archiviare le informazioni. Le principali differenze tra i due strumenti riguardano:

  • Modalità di memorizzazione e manipolazione dei dati
  • Utenti autorizzati ad accedere ai dati
  • Quantità di dati che è possibile memorizzare

I fogli di calcolo sono stati progettati in origine per un unico utente e le loro caratteristiche rispecchiano tale intento. Rappresentano una soluzione ideale per utenti singoli o in numero limitato che non devono eseguire molte delle complicatissime procedure di manipolazione dei dati. I database, invece, sono destinati a contenere insiemi molto più estesi di informazioni organizzate, presenti talvolta in massicce quantità. I database consentono a più utenti contemporaneamente di accedere ai dati ed eseguirne query in modo rapido e sicuro mediante una logica e un linguaggio estremamente complessi.

Tipi di database

Esistono molti tipi diversi di database. e il più adatto a un'organizzazione specifica dipende dal modo in cui tale organizzazione intende utilizzare i dati.

    Database relazionali

  • I database relazionali assumono un ruolo predominante negli anni '80. Gli elementi di un database relazionale sono organizzati sotto forma di set di tabelle composte da colonne e righe. La tecnologia di questo tipo di database offre la soluzione più efficiente e flessibile per accedere alle informazioni strutturate.
  • Database orientati agli oggetti

  • Le informazioni contenute in un database orientato agli oggetti vengono rappresentate sotto forma di oggetti, come avviene nella programmazione che ha la stessa denominazione.
  • Database distribuiti

  • Un database distribuito è composto da almeno due file presenti in sedi diverse. Il database può essere memorizzato su più computer che condividono la stessa posizione fisica o sono dislocati su reti differenti.
  • Data warehouse

  • Un data warehouse, ossia un repository centralizzato per i dati, è un tipo di database progettato espressamente per query e analisi veloci.
  • Database NoSQL

  • Un database NoSQL, o non relazionale, consente di archiviare e manipolare dati non strutturati e semi-strutturati, a differenza di quanto accade con un database relazionale che definisce come devono essere composti tutti i dati inseriti nel database. La diffusione dei database NoSQL è aumentata notevolmente con la crescente disponibilità e complessità delle applicazioni Web.
  • Database grafici

  • Un database grafico memorizza i dati in termini di entità e relazioni tra le entità.
  • Database OLTP. OLTP è un database di analisi dei dati veloce progettato per far fronte a un gran numero di transazioni eseguite da più utenti.

Le tipologie menzionate rappresentano solo alcune delle diverse dozzine di tipi di database oggi in uso. Altri database meno comuni vengono personalizzati in base a funzioni scientifiche, finanziarie o di altro tipo estremamente specifiche. Oltre ai diversi tipi di database disponibili, i cambiamenti di approccio allo sviluppo tecnologico e gli straordinari progressi, quali il cloud e l'automazione, stanno spingendo i database verso direzioni completamente nuove. Ecco alcuni dei database più recenti:

    Database open source

  • Un sistema di database open source contiene un codice sorgente di tipo open source. I database che rientrano in questa categoria possono essere SQL o NoSQL.
  • Database cloud

  • Un database cloud è un insieme di dati, strutturati o non strutturati, che risiede in una piattaforma di cloud computing privata, pubblica o ibrida. Esistono due tipi di modelli di database cloud: tradizionali e database as a service (DBaaS). Con DBaaS, le attività amministrative e la manutenzione vengono eseguite da un provider di servizi.
  • Database multi-modello

  • I database multi-modello associano diversi tipi di modelli di database in un singolo back-end integrato. Ciò significa che possono accogliere vari tipi di dati.
  • Database documentale/JSON

  • I database documentali, progettati per memorizzare, recuperare e gestire informazioni orientate ai documenti, rappresentano uno strumento moderno per archiviare i dati in formato JSON e non in righe e colonne.
  • Database con funzionalità di Self-Driving

  • I tipi di database più innovativi e rivoluzionari, vale dire i database con funzionalità di self-driving (noti anche come database autonomi), sono basati su cloud e utilizzano funzionalità di machine learning per automatizzare tuning, sicurezza, backup, aggiornamento e altre attività di gestione di routine tradizionalmente eseguite dagli amministratori di database.

Che cos'è un software di database?

Il software di database viene utilizzato per creare, modificare e gestire file e record di database, consentendo una creazione più semplice di file e record, immissione di dati, modifica, aggiornamento e reporting dei dati. Il software gestisce anche lo storage, il backup e il reporting dei dati, il controllo di più accessi e la sicurezza. Oggi, è particolarmente importante poter contare su una sicurezza del database solida, poiché il furto di dati è sempre più frequente. Il software di database è talvolta indicato anche come "sistema di gestione dei database" (Database Management System, DBMS).

Il software di database semplifica la gestione dei dati consentendo agli utenti di archiviare i dati in una forma strutturata e quindi accedervi. In genere, presenta un'interfaccia grafica per aiutare a creare e gestire i dati e, in alcuni casi, gli utenti possono creare i propri database utilizzando un software di database.

Che cos'è un sistema di gestione dei database (Database Management System, DBMS)?

Un database, in genere, richiede un software di database completo noto come DBMS, acronimo di Database Management System, ossia un sistema di gestione del database. Un DBMS agisce da interfaccia tra il database e gli utenti finali o i programmi per consentire agli utenti di recuperare, aggiornare e gestire il modo in cui le informazioni vengono organizzate e ottimizzate. Inoltre, un DBMS agevola la supervisione e il controllo dei database, rendendo disponibile un'ampia gamma di operazioni amministrative: monitoraggio delle performance, tuning e backup e ripristino.

Alcuni esempi di software di database o sistemi DBMS più diffusi sono: MySQL, Microsoft Access, Microsoft SQL Server, FileMaker Pro, Oracle Database e dBASE.

Che cos'è un database MySQL?

MySQL è un sistema di gestione dei database relazionali open source basato su SQL. È stato progettato e ottimizzato per le applicazioni Web e può essere eseguito su qualsiasi piattaforma. A fronte dei nuovi e diversi requisiti emersi con Internet, MySQL è diventata la piattaforma che sviluppatori Web e applicazioni basate su Web prediligono. Poiché è in grado di elaborare milioni di query e migliaia di transazioni, MySQL è uno strumento molto ambito dalle aziende di e-commerce che devono gestire più trasferimenti di denaro. La flessibilità on demand è la caratteristica principale di MySQL.

MySQL rappresenta il sistema DBMS alla base di alcuni tra i più importanti siti Web e applicazioni basate su Web del mondo, tra cui Airbnb, Uber, LinkedIn, Facebook, Twitter e YouTube.

Uso dei database per migliorare le performance aziendali e il processo decisionale

Grazie all'imponente insieme di dati provenienti dall'Internet of Things, che sta trasformando vite e settori di tutto il mondo, le aziende oggi possono accedere a un maggior numero di dati rispetto al passato. Le organizzazioni lungimiranti ora sono in grado di utilizzare i database per superare l'archiviazione dei dati e le transazioni di base e analizzare vaste quantità di dati derivanti da molteplici sistemi. Attraverso l'uso del database e di altri strumenti informatici e di business intelligence, le organizzazioni possono trarre vantaggio dai dati raccolti per attuare un'esecuzione più efficiente, favorire un miglior processo decisionale e diventare più agili e scalabili. L'ottimizzazione dell'accesso e del throughput dei dati è essenziale per le aziende di oggi perché vi è un volume di dati maggiore da monitorare. È fondamentale avere una piattaforma in grado di garantire le prestazioni, la scalabilità e l'agilità di cui le aziende hanno bisogno mentre crescono nel corso del tempo.

Il database con funzionalità di self-driving è pronto a imprimere un notevole impulso a tali funzionalità. Poiché automatizzano i lunghi e costosi processi manuali, i database autonomi disimpegnano gli utenti aziendali che possono così dedicarsi ai dati in modo più proattivo. Grazie al controllo diretto sulla possibilità di creare e utilizzare i database, gli utenti acquisiscono controllo e autonomia e, allo stesso tempo, continuano a preservare importanti standard di sicurezza.

Sfide dei database

I grandi database di classe enterprise di oggi spesso supportano query estremamente complesse e ci si aspetta che forniscano risposte immediate. Di conseguenza, i Database Administrator sono costantemente costretti a utilizzare una vasta gamma di metodi per riuscire a migliorare le performance. Ecco alcune delle sfide più comuni che devono affrontare:

  • Farsi carico di un significativo aumento nel volume dei dati. L'esplosione di dati provenienti da sensori, computer connessi e dozzine di altre origini crea non pochi pensieri ai Database Administrator per quanto riguarda la gestione e l'organizzazione efficiente dei dati delle aziende di cui si occupano.
  • Garantire la sicurezza dei dati. In questo periodo, si verificano violazioni dei dati ovunque e gli hacker non mancano di trovare soluzioni sempre più ingegnose. Oggi, garantire la sicurezza dei dati, ma consentire anche il facile accesso agli utenti è assolutamente prioritario.
  • Tenersi al passo con la domanda. Nell'attuale ambiente aziendale in rapida evoluzione, le società devono accedere ai propri dati in tempo reale per sostenere il processo decisionale e cogliere nuove opportunità.
  • Eseguire la gestione e la manutenzione del database e dell'infrastruttura. I Database Administrator devono controllare costantemente che non si verifichino problemi nel database ed eseguire la manutenzione preventiva, oltre ad applicare upgrade e patch al software. A fronte del progressivo aumento di complessità dei database e di crescita nei volumi dei dati, le aziende sono costrette a sostenere le spese per assumere ulteriori talenti che eseguano il monitoraggio e il tuning dei propri database.
  • Eliminare i limiti di scalabilità. Un'azienda deve crescere se vuole sopravvivere e la gestione dei dati deve farlo di pari passo. Tuttavia, è molto difficile per i Database Administrator prevedere di quanta capacità avrà bisogno l'azienda, soprattutto nel caso dei database on-premise.
  • Garantire la residenza dei dati, la sovranità dei dati o i requisiti di latenza. Alcune organizzazioni hanno casi d'uso più adatti per l'esecuzione on-premise. In questi casi, sono ideali i sistemi ingegnerizzati preconfigurati e pre-ottimizzati per l'esecuzione dei database.

Superare tutte queste sfide può essere un processo lungo e impedire agli amministratori di database di svolgere funzioni più strategiche.

In che modo la tecnologia autonoma sta migliorando la gestione dei database

I database con funzionalità di self-driving rappresentano la tendenza del futuro e offrono una straordinaria possibilità alle organizzazioni che ambiscono a utilizzare la migliore tecnologia di database disponibile senza affrontare le difficoltà di eseguire e gestire tale tecnologia.

I database con funzionalità di self-driving utilizzano la tecnologia basata su cloud e funzionalità di Machine Learning per automatizzare molti dei compiti quotidiani necessari per gestire i database: tuning, sicurezza, backup, aggiornamenti e altre attività di gestione di routine. Grazie all'automazione di queste noiose mansioni, i Database Administrator sono liberi di occuparsi del lavoro più strategico. Le funzionalità autonome a livello di gestione, sicurezza e correzione, di cui sono dotati i database con funzionalità di self-driving, sono pronte a rivoluzionare il modo in cui le aziende gestiscono e proteggono i propri dati, garantendo vantaggi a livello di performance, riduzione dei costi e maggiore sicurezza.

Futuro dei database e dei database autonomi

Il primo database autonomo è stato annunciato alla fine del 2017 e diversi analisti di settore indipendenti hanno rapidamente apprezzato la tecnologia e il suo potenziale impatto in ambito computing.

Un report di Wikibon 2021 (PDF) ha elogiato la tecnologia del database autonomo dicendo: "Oracle ha di gran lunga la migliore piattaforma di database cloud Tier-1... Wikibon ritiene che Oracle abbia la più potente piattaforma di database cloud con Autonomous Database."

E KuppingerCole's Leadership Compass 2021 (PDF) ha dichiarato: "Oracle Autonomous Database, che automatizza completamente il provisioning, la gestione, l'ottimizzazione e i processi di aggiornamento delle istanze di database senza tempi di inattività, non aumenta sostanzialmente la sicurezza e la conformità dei dati riservati memorizzati nei database Oracle, ma fornisce un argomento convincente per spostare questi dati in Oracle Cloud." Poiché Oracle Autonomous Database si basa sull'architettura altamente disponibile e scalabile di Oracle Exadata, è possibile ridimensionare facilmente la distribuzione del database di pari passo con la crescita delle esigenze.