24 novembre 2020
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.
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.
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.
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:
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.
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.
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:
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.
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.
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.
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.
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:
Superare tutte queste sfide può essere un processo lungo e impedire agli amministratori di database di svolgere funzioni più strategiche.
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.
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.