Database: cos’è, a cosa serve, come scegliere il migliore in azienda

Le banche dati rappresentano un elemento imprescindibile all’interno dei sistemi informativi: permettono di memorizzare, modificare, elaborare e interconnettere le informazioni necessarie al corretto funzionamento di software, applicazioni e programmi destinati a funzionare su computer, server o applicazioni mobili

Pubblicato il 28 Set 2022

database vettoriali

Uno dei vantaggi più rappresentativi introdotti  dalla information technology è rappresentato dalla possibilità di analizzare, studiare, mettere in relazione e condividere informazioni eterogenee e apparentemente non connesse tra loro con il fine principale di generare nuova conoscenza ed apportare vantaggi agli individui, alle imprese ed alla collettività.

Basti pensare, ad esempio, alle conquiste dell’intelligenza artificiale, in cui computer ed elaboratori elettronici riescono ad aggregare in tempo reale miriadi di dati per simulare le capacità cognitive del cervello umano, all’Internet delle cose, che permette ad esseri viventi, oggetti e dispositivi elettronici di scambiarsi informazioni senza soluzione di continuità.

Oppure a tutti quei sistemi, quali ad esempio le recentissime automobili a guida autonoma, in grado di processare miliardi di dati ad una velocità impressionante.

Alla base di questa rivoluzione che sta modificando drasticamente il modo di pensare, agire e comunicare dell’uomo si trova, in realtà, una tecnologia relativamente “antica” e per certi versi “matura” (in relazione, naturalmente, ai rapidissimi tempi di evoluzione del mondo informatico) come quella delle basi di dati (o database) e dei loro sistemi di gestione e conduzione, conosciuti come DBMS, dalla locuzione anglosassone Data Base Management System.

Non esiste, di fatto, alcun software o dispositivo elettronico che, in qualche modalità, non memorizzi, tratti, trasformi o rielabori dati residenti su strutture più o meno permanenti che possono variare da sofisticate, ed a volte futuristiche, piattaforme di gestione delle informazioni per giungere a semplici file, registri o porzioni di memoria.

Cos’è un database (base di dati): definizione

In estrema sintesi, è possibile definire una base di dati (o database) come un insieme di dati strutturati, non necessariamente omogenei tra loro per contenuti e formato, memorizzati in forma elettronica e accessibili attraverso funzionalità e servizi digitali.

In prima battuta, un database potrebbe essere considerato come la trasposizione virtuale e informatica di un classico archivio cartaceo in grado di memorizzare in dispositivi elettronici di ridotte dimensioni le medesime informazioni precedentemente conservate in voluminosi faldoni riposti in capannoni o strutture fisiche di centinaia se non migliaia di metri quadrati.

In realtà, una base di dati rappresenta uno strumento molto più potente e straordinariamente efficace in quanto permette di effettuare preziose attività di analisi, elaborazione e correlazione che costituiscono, di fatto, le fondamenta digitali sulle quali si basano praticamente tutte le moderne tecnologie.

I database allo stesso tempo, rendono possibile l’estrazione di nuova conoscenza anche attraverso l’esplicitazione di elementi apparentemente insignificanti se considerati singolarmente ma ricchi di valore nel caso sia possibile riscontrarli con regolarità all’interno di un insieme di dati estremamente elevato.

Se, ad esempio, la circostanza per la quale un utente commette un errore nell’inserimento delle proprie credenziali all’interno di un sistema potrebbe essere considerato in sé un dato poco rilevante, come dovrebbe essere classificata l’informazione relativa a migliaia di errori in un determinato intervallo di tempo?

Sarebbe possibile osservare con facilità questo fenomeno attraverso archivi cartacei o tramite file digitali non opportunamente strutturati?

Cosa sono i Data Base Management System

In tale contesto, un ruolo decisivo è svolto da componenti software conosciuti come Data Base Management System che, in estrema sintesi, è possibile descrivere come sistemi informatici progettati per consentire la creazione, la manipolazione, l’interrogazione e, in linea generale, una efficiente e rapida gestione dei database.

È possibile pensare a un DBMS come a uno strato software in grado di porre in collegamento le applicazioni con i propri dati attraverso strumenti e funzionalità semplici da utilizzare che permettono agli addetti ai lavori (sistemisti, programmatori, analisti, etc) di astrarsi dallo “schema fisico”, ossia dall’implementazione concreta di un data base, e interfacciarsi con un “modello concettuale”, che garantisce una rappresentazione logica più facilmente fruibile e manipolabile.

Quali sono i tre tipi di data base management system

Dal punto di vista architetturale, un DBMS può essere suddiviso in tre componenti principali che è possibile descrivere nel seguente modo:

  • il dizionario dei dati, definito nell’ “IBM Dictionary of Computing” come un “repository centralizzato delle informazioni su dati quali significato, relazioni con altri dati, l’origine, l’uso, e il formato”, consiste essenzialmente in una raccolta di metadati che contengono informazioni sui dati presenti nell’archivio. Si tratta di un componente di fondamentale importanza perché permette di interpretare in maniera univoca la struttura, la finalità ed il valore dei dati contenuti all’interno del database. Può essere considerato come un “biglietto da visita” del db, nel quale sono riassunte le caratteristiche fondamentali in grado di guidare gli utenti e le applicazioni verso un uso corretto e consapevole dei dati memorizzati nell’archivio elettronico.
  • il linguaggio di definizione dei dati è, invece, progettato per strutturare il contenuto di un database attraverso, ad esempio, la creazione, la modifica o la cancellazione delle definizioni delle tabelle, degli utenti, delle autorizzazioni. Tramite questo componente, in particolare, è possibile definire gli schemi logici sottesi al funzionamento di un database (ad esempio è possibile indicare quali colonne debba possedere una tabella) ma non gestire direttamente i dati e, quindi, il patrimonio informativo gestito dal db.
  • il linguaggio di manipolazione dei dati è, infine, utilizzato per cancellare, inserire, modificare e leggere i record di dati contenuti in un database. Si tratta, pertanto, dello strato più operativo, che permette agli utenti esterni di popolare il db nel rispetto dei vincoli definiti nel modulo precedente e di ottenere le informazioni necessarie a ogni singola applicazione che accede al database.

Tra gli compiti dei DMBS, inoltre, è possibile menzionare quelli di assicurare la condivisione e l’integrazione dei dati fra applicazioni differenti, di controllare l’accesso concorrente alle informazioni e garantire la sicurezza e l’integrità delle informazioni trattate attraverso appropriati meccanismi di lettura e scrittura.

Cosa sono i database relazionali?

La tipologia di database più diffusa è certamente quella basata sul modello relazionale, nel quale le diverse entità sono rappresentate sotto forma di tabella, poste in connessione tra loro attraverso le cosiddette “relazioni” e modellate, aggiornate, interrogate e cancellate tramite uno dei linguaggi informatici più conosciuti al mondo, ossia lo Structured Query Language noto anche con l’acronimo SQL.

Tra le caratteristiche principali del modello relazionale si ricordano l’utilizzo di “chiavi primarie”, deputate a individuare in maniera univoca ogni riga di una tabella, di “chiavi esterne”, che mettono in relazione due o più tabelle garantendo il rispetto del vincolo di integrità referenziale, e “indici” in grado di facilitare le attività di ricerca tramite “interrogazioni sql” (conosciute anche con il nome di “query”).

Per comprendere al meglio il significato connesso ai principi appena espressi, si faccia riferimento al caso di una piccola azienda che debba ricevere ed elaborare ordini per i suoi prodotti.

È possibile, in tale contesto, individuare due semplici tabelle che contengono rispettivamente le informazioni sui clienti e sugli ordini ricevuti.

Come è facilmente intuibile, ogni record della tabella “cliente” potrà includere dati quali un identificativo univoco (che rappresenta la “chiave primaria”), il nome, l’indirizzo, le informazioni di spedizione e fatturazione, il numero di telefono, etc mentre nella tabella “ordine”, ogni riga potrebbe includere l’identificativo del cliente che ha effettuato la richiesta, il prodotto ordinato, la quantità, la dimensione e il colore selezionati.

È del tutto evidente, nell’esempio appena illustrato, come i clienti e gli ordini possano essere tra loro correlati attraverso la colonna “ID_UTENTE” che assocerà in maniera univoca una persona ad una richiesta pervenuta all’azienda di riferimento.

Proiettando il ragionamento su un insieme anche molto ampio di tabelle, righe e correlazioni e ipotizzando un database popolato di dati ed informazioni, è possibile immaginare una base di dati relazionale come un grande reticolo in cui tutte le entità sono tra loro in qualche maniera connesse, partecipano alla descrizione di fenomeni anche complessi e sono coinvolte nelle fasi di memorizzazione, estrapolazione, modifica, cancellazione, analisi ed interpolazione di dati ed informazioni, permettendo di ottenere un quadro completo e veritiero dei fenomeni di riferimento.

Cosa sono i database non relazionali

Una delle principali limitazioni connesse ai database relazionali è rappresentata dalla necessità di ricostruire, attraverso una serie di interrogazioni e concatenazioni successive, l’informazione necessaria rispetto ad un caso particolare.

Riprendendo il semplice esempio proposto in precedenza, se un’azienda volesse conoscere tutti gli ordini inviati da uno specifico cliente dovrebbe necessariamente estrapolare i dati dalle tabelle, aggregarli tra loro nella forma più opportuna, assegnare loro una formattazione ed inserirli all’interno di un file, di un documento o di una presentazione per poterli successivamente condividere al proprio interno (ad esempio durante riunioni di carattere organizzativo) o con interlocutori esterni.

Per ovviare a questa difficoltà, che sta diventando sempre più attuale insieme all’evolvere di piattaforme “sociali” nelle quali la rappresentazione grafica e la rapidità di condivisione riveste fondamentale importanza, si sono diffuse negli ultimi anni alcune tipologie di database non connessi a schemi relazionali e classificati, in linea generale, come “non relazionali” o “noSql” (il cui acronimo deriva dalla locuzione inglese Not Only SQL), in quanto non interrogabili con il linguaggio basato sulle tradizionali query.

Le principali tipologie di database noSQL

Partendo dalla considerazione che alla famiglia dei database noSQL appartenga un insieme talmente ampio e variegato di soluzioni software tra loro eterogenee che non è riscontrabile una classificazione univoca delle differenti tipologie implementative, di seguito sono descritte quattro macro-classi di basi di dati non relazionali che stanno riscuotendo, allo stato attuale, grande successo:

  • Database orientati al documento: rappresentano i dati attraverso entità prive di uno schema fisso, conosciute come documenti. Ad ogni unità elementare possono essere associati attributi, in maniera flessibile e dinamica nel tempo, in grado di modellare i diversi aspetti dell’informazione che si intende memorizzare, elaborare o trattare. Ad esempio, un’entità “persona” potrebbe essere rappresentata da un documento cui sono associati attributi canonici quali i dati anagrafici dell’individuo che possono essere arricchiti nel tempo, senza i vincoli tipici dei db relazionali, con ulteriori informazioni connesse, ad esempio, alla professione svolta, ai gusti culinari, etc.
  • Database key/value: si basano su uno strumento logico estremamente utilizzato nel mondo dello sviluppo software cui generalmente ci si riferisce con il nome di “hash table” o “dizionario”, composto da una serie di coppie chiave-valore. In estrema sintesi, un’informazione è associata ad una chiave di ricerca che semplifica e velocizza le attività di ricerca.
  • Database a grafo: anche questa tipologia di banca dati poggia le proprie fondamenta su una struttura particolarmente famosa nel contesto dell’ingegneria del software, che prende il nome di “grafo” ed è assimilabile ad una rete nella quale diversi nodi sono posti in collegamento attraverso degli archi. Un caso estremamente comune di utilizzo delle “reti di informazioni” è rappresentato dai Social Network, nei quali due utenti “amici” possono essere descritti come nodi messi in relazione tra loro da un arco, con l’obiettivo di proporre nuove potenziali conoscenze ad un utente navigando il grafo e recuperando i contatti di secondo livello.
  • “In memory” database: si tratta di una tipologia estremamente innovativa di banche dati che sfruttano in maniera efficiente le potenzialità delle memorie volativi (quali ad esempio le RAM) per garantire prestazioni estremamente elevate e permettere alle applicazioni ed agli utenti di ottenere dati ed informazioni praticamente in tempo reale. In tali tipologie di banche dati è naturalmente necessario prevedere meccanismi in grado di coniugare l’efficienza e la velocità delle memorie con i requisiti di persistenza e storicizzazione tipici dei database e fondamentali per poter recuperare informazioni a distanza di tempo dalla loro creazione.

Le differenze tra database relazionali e non relazionali

In linea generale, è possibile affermare come la più grande differenza intercorrente tra db di tipo tradizionale e basi di dati non relazionali è rappresentata dal mancato utilizzo di strutture logiche quali le tabelle e dalla conseguente presenza di altre strutture di archiviazione, quali ad esempio documenti in grado di raccogliere e rendere immediatamente fruibili, in caso di necessità, tutti i dati relativi ad una specifica entità.

Al fine di poter apprezzare meglio, attraverso un esempio concreto, le differenze tra le due tipologie di database, si consideri il caso della modellazione di una banca dati connessa alla gestione di articoli scientifici, rappresentati generalmente attraverso elementi quali l’autore, la rivista di riferimento, la data di pubblicazione, etc.

In linea di principio, nel caso di un database relazionale, sarebbe necessario individuare e mappare in una tabella differente ogni singolo elemento dell’universo di riferimento: si otterrebbero, pertanto, nel caso in esame, almeno le tabelle connesse all’articolo (presumibilmente composta dalle colonne “idArticolo” e “titolo”), agli autori (con le colonne “idAutore”, “nome” e “cognome”), ed alle riviste scientifiche (nelle quali saranno presenti quanto meno le colonne “idRivista” e “nome”) oltre alle relazioni in grado di mettere in connessione gli articoli con gli autori e con le riviste in cui sono stati pubblicati.

E’ immediatamente intuibile come la rappresentazione appena illustrata abbia il pregio di utilizzare la minor quantità di informazioni possibile ma richieda un’attenta e laboriosa ricostruzione nel momento in cui sia necessario accedere ai dati relativi ad una singola pubblicazione.

In un database NoSQL basato sui documenti, invece, il record di un articolo sarebbe usualmente memorizzato come un singolo documento, generalmente costruito utilizzando il formato di interscambio di dati JSON.

In particolare, tutti gli elementi di un singolo articolo connessi all’autore, alla rivista, al titolo ed alla data di pubblicazione, distribuiti in diverse tabelle nel caso dei db relazionali, sarebbero archiviati come attributi di una singola entità, permettendo in caso di necessità di accedere tempestivamente ed in maniera completa a tutte le informazioni necessarie

Alla luce di quanto appena illustrato, è possibile comprendere come i database NoSQL rappresentino una soluzione ideale per le applicazioni destinate ai dispositivi mobili oppure per quelle fruibili tramite Web o per i videogiochi che richiedono basi di dati flessibili, scalabili, caratterizzate da prestazioni elevate ed altamente funzionali per offrire un’esperienza utente eccezionale.

I vantaggi dei database non relazionali

In estrema sintesi, è possibile schematizzare i vantaggi dei database NoSQL secondo i seguenti principi:

  • Minor carico computazionale: le basi di dati non relazionali, non prevedendo operazioni di aggregazione sui dati, permettono di superare gran parte dei limiti di carattere elaborativo presenti negli ambienti SQL, dove la velocità delle interrogazioni è inversamente proporzionale alle dimensioni generali del database, al numero di tabelle e delle informazioni da scrivere, modificare o cancellare. Per tale motivazione, i database noSQL si rendono particolarmente adatti a soluzioni basate su big-data e nelle quali il tempo di risposta è estremamente importante.
  • Indipendenza rispetto ad uno schema rigido: mentre i classici database relazionali devono necessariamente rimanere entro i rigidi limiti degli schemi, che definiscono in maniera univoca la morfologia delle tabelle e delle relazioni, le basi di dati NoSQL sono in grado di trattare qualsiasi tipo di informazione in maniera estremamente flessibile e dinamica.
  • Maggiore Scalabilità Orizzontale: grazie alla possibilità di aggregare i dati in macrostrutture basate su file e all’assenza di uno schema definito a priori, i database non relazionali presentano notevoli vantaggi anche rispetto al cosiddetto principio della “scalabilità orizzontale” perché permettono di incrementare le prestazioni attraverso la previsione di ulteriori “contenitori” di dati che possono essere processati in maniera concorrente.

Database e DBMS aziendali: i migliori, le caratteristiche e quale scegliere

Una volta che abbiamo definito, seppur a grandi linee, il quadro di riferimento ed aver, in particolare, esplicitato le differenze principali intercorrenti tra i database classici (basati sull’SQL) e quelli di nuova generazione (non connessi a schemi di tipo relazionale), proviamo a comprendere quali siano le soluzioni aziendali maggiormente utilizzate e, soprattutto, a individuare alcuni semplici criteri di scelta adottabili in relazione alle differenti necessità organizzative o alle sempre mutevoli richieste del mercato.

MySQL: il DBMS più diffuso al mondo

Il DBMS di tipo relazionale più diffuso ed usato in tutto il mondo è con molta probabilità MySQL, che rappresenta una soluzione open source, liberamente utilizzabile ed acquistata, grazie anche alla sua crescente popolarità, da un gigante dei database come Oracle, che addirittura ne incorpora alcune funzionalità anche nel proprio DBMS commerciale.

Uno dei punti di forza di MySQL è quello di essere utilizzabile, attraverso una serie di connettori sviluppati nel tempo dalla sua vasta community di sviluppatori, in tutti i principali linguaggi di programmazione, quali Java, Php, Dotnet, Pyton, etc.

Un ulteriore pregio di MySQL, che contribuisce a renderlo un DMBS ideale per un numero estremamente elevato di aziende, è rappresentato dalla possibilità di essere installato sia su sistemi operativi di tipo Windows che su piattaforme Linux/Uninx.

Tra le limitazioni generalmente addebitate a questo DBMS, invece, è possibile registrare una non completa compatibilità con l’SQL standard, una non perfetta gestione degli accessi concorrenti alla banca dati e, infine, la presenza di strumenti limitati per le ricerche di tipo “full-text”, utili soprattutto in caso di testi di lunghezza elevata.

SQL Server: il DBMS più diffuso tra le aziende

Non poteva mancare un prodotto targato Microsoft nella lista dei DBMS più diffusi ed utilizzati a livelli aziendali: fin dalla sua nascita, infatti, SQL Server ha subito riscontrato un buon successo anche grazie alla piena integrazione con gli altri strumenti forniti dalla società di Redmond (si pensi ad esempio all’ambiente di sviluppo “Visual Studio”, al framework .Net, etc).

Tra i punti forza di SQL Server, oltre alla piena compatibilità con SQL, è possibile annoverare l’ampio spettro di licenze d’uso che variano da quelle completamente gratuite quali Express (limitata a 4 core, 1 GB di RAM per istanza e 10 GB di capacità del DB) e Developer (utilizzabile solo in ambienti di sviluppo) per giungere a quelle a pagamento, più complesse ed elaborate, come la Web, la Standard e la Enterprise.

E’ necessario, però, sottolineare come SQL Server non sia pienamente compatibile con sistemi operativi differenti da quelli Microsoft: se, infatti, risulta possibile installarlo anche su alcune distribuzioni di Linux, dalla documentazione ufficiale si evince come alcune funzionalità siano comunque garantite solamente in ambienti Windows.

PostgresSQL: il DBMS universale

PostgresSQL è considerato uno standard universale di riferimento per tutte quelle situazioni nelle quali si rende necessario gestire, oltre ai classici caratteri alfanumerici (quali, ad esempio, lettere, numeri, caratteri speciali, etc), anche dati di natura complessa, come quelli geo-referenziati, o relativi a contenuti di tipi multimediali.

Tale DBMS, infatti, riesce ad ampliare con successo il modello relazionale tradizionale includendo approcci tipici della programmazione orientata agli oggetti quali l’ereditarietà, le classi, l’incapsulamento, che permettono di gestire scenari tipicamente ostici per i DBMS classici come quelli connessi alla tracciatura spaziale, alla gestione di video, file audio, etc.

Si tratta, invero, di una soluzione estremamente matura, grazie agli oltre 30 anni di presenza sul mercato, completamente opensource in grado di garantire conformità quasi completa con lo standard SQL ma anche di supportare il linguaggio “JSON”, tipico dei database non relazionali.

Tra i punti di debolezza è bene ricordare una bassa velocità di lettura, in parte connessa alle particolari proprietà dei dati gestiti, la documentazione a volte lacunosa e disponibile solo in lingua inglese ed un numero di piattaforme di hosting limitato sul quale sia concretamente possibile utilizzare postgresSQL.

Mongodb, il DBMS noSQL

Nella sempre più vasta e variegata galassia dei database noSQL, un posto di prestigio è senza dubbio occupato da MongoDB, che sta riscuotendo uno straordinario quanto repentino successo grazie anche alla scelta operata da colossi del web come Facebook e Twitter di utilizzarlo come piattaforma di riferimento per la gestione del proprio sterminato patrimonio informativo.

In estrema sintesi, MongoDB può essere definito come una “Base di dati orientata al documento” (o in lingua anglosassone “database document-oriented storage”) in quanto, come già accennato in precedenza, l’unità elementare di aggregazione e memorizzazione dei dati è quella del documento, composto da una serie di campi di lunghezza dinamica in grado di memorizzare anche informazioni di natura complessa.

Tra le caratteristiche maggiormente apprezzate di MongoDb, in particolare, sono degne menzione la possibilità di attribuire a qualsiasi attributo un “indice” in grado di velocizzare le ricerche, e la semplicità con la quale il database possa essere distribuito su un numero elevato di server indipendentemente dalla loro dislocazione geografica.

Per tali motivazioni, MongoDB è sempre più spesso utilizzato in ambienti in cui si rende necessario memorizzare e rendere fruibili online grandi volumi di informazioni in intervalli di tempo estremamente ristetti.

MongoDB, grazie ad una ottima integrazione con i più comuni linguaggi di programmazione per il web quali PHP, Python e Ruby, si presta ad essere utilizzato in maniera estremamente semplice sia in progetti finalizzati alla conversione di sistemi operanti su database relazionali che per nuove applicazioni web nativamente basate sul DBMS nosql.

Sap/HANA, il DBSM  che integra i sistemi gestionali

Un elemento fortemente innovativo nel mondo dei database è rappresentato dalla piattaforma HANA (High-performance Analytic Appliance) di SAP che, sfruttando le caratteristiche della “in memory computing”, si pone l’obiettivo di garantire l’elaborazione di grandi volumi di dati operativi e transazionali in tempo reale. In estrema sintesi, HANA punta a integrare i sistemi gestionali in uso presso la maggior parte delle aziende di medio-grandi dimensioni con base di dati estremamente veloci e in grado di supportare le decisioni strategiche attraverso la produzione immediata di report, indici e “business case” particolarmente dettagliati.

Si tratta, invero, di una soluzione articolata e stratificata che permette anche di aggregare ed importare informazioni provenienti da fonti esterne ed eterogenee (quali ad esempio database di tipo tradizionale ma anche social network, file di testo, etc), svolgendo, pertanto, anche le funzioni tipicamente associate ai “data warehouse” e, conseguentemente, permettendo alle organizzazioni di acquisire nuova conoscenza attraverso l’analisi e la concatenazione di dati precedentemente disseminati in banche dati diverse e sconnesse tra loro.

Un’ ulteriore innovazione introdotta da HANA consiste nella possibilità di utilizzare direttamente a livello aziendale, i vantaggi derivanti dai “Big data” grazie soprattutto all’abilità di elaborare ingenti quantità di informazioni attraverso l’applicazione efficace di tecniche di business intelligence e data mining al patrimonio informativo di ogni singola organizzazione.

E’ immediatamente comprensibile, pertanto, come la soluzione proposta da SAP travalichi i confini entro i quali operano generalmente i database per abbracciare tematiche ed ambiti di più ampio respiro, in grado di garantire una gestione “olistica” dell’informazione aziendale ed estrarre valore dai dati memorizzati ed archiviati in tempi e modalità impensabili con le tecniche classiche o tradizionali.

Oracle/Timesten, il DBSM il database In Memory

Quando si discute di database non è certamente possibile prescindere da un colosso come Oracle che ha costruito la propria fama fornendo strumenti, software ed applicazione in grado di gestire con efficienza, straordinaria efficacia ed elevati livelli di sicurezza banche dati anche di notevoli dimensioni e grande criticità.

Nel corso degli anni i DBMS e soluzioni distribuite dall’azienda statunitense, che ha progressivamente ampliato i propri ambiti operativi fino ad abbracciare l’intero perimetro dell’informatica, hanno ottenuto un successo incredibile tanto da essere divenute quasi uno standard de facto.

Tra i prodotti più innovativi lanciati negli ultimi anni da Oracle è necessario menzionare Timesten che si colloca nel solco degli In Memory database e, come anticipato in precedenza anche in relazione ad Hana, permette di ottenere performance impensabili fino a poco tempo fa sia nella fase di ricerca dei dati che in quella di estrazione di report e documenti strategici finalizzati a supportare il governo di organizzazioni sia pubbliche che private.

Conclusioni

Le banche dati rappresentano un elemento estremamente prezioso se non proprio imprescindibile all’interno dei sistemi informativi in quanto, pur essendo pressoché sconosciute agli utenti finali, permettono di memorizzare, modificare, elaborare ed interconnettere le informazioni necessarie al corretto funzionamento di software, applicazioni e programmi destinati a funzionare su computer, server o applicazioni mobili.

Si tratta, invero, di una tematica nata praticamente insieme all’information technology che, fin dalle sue origini, ha dovuto confrontarsi con la necessità di rendere persistenti e semplicemente accessibili i dati a vario titolo trattati da tutti i sistemi informativi durante le proprie attività elaborative.

Allo stesso tempo, però, anche il complesso e articolato universo che orbita intorno alle banche dati si sta evolvendo, migliorando e trasformando grazie soprattutto alle innovazioni introdotte con ritmo travolgente dalle tecnologie emergenti e da colossi del web quali Facebook, Twitter, Instagram, etc.

Le modalità classiche di gestione dei dati, basate sullo schema relazionale e sul celeberrimo linguaggio SQL, sono oggi affiancate dalle metodologie non relazionali che garantiscono una migliore gestione di dati dinamici e non connessi a schemi di riferimento, di ingenti moli di informazioni e riescono, allo stesso tempo, a coniugare le esigenze sempre più frequenti di accesso rapido ed immediato ai dati con le necessità di rendere persistenti le informazioni trattate.

In tale contesto, sono numerosi gli strumenti e le soluzioni software attualmente a disposizione di aziende e sviluppatori, che possono utilizzare, ad esempio, strumenti classici come MySQL o SQL Server, soluzioni ottimizzate per i dati georeferenziati come postgresSQL, oppure framework estremamente innovativi e dirompenti quali MongoDB, oggi alla base di molti social network, “Hana” di SAP e “Timesten” di Oracle, in grado di sfruttare con efficienza le memorie volatili ed integrare le tradizionali funzionalità delle banche con quelle più evolute dei data warehouse e con i “big data”.

Valuta la qualità di questo articolo

La tua opinione è importante per noi!

Articoli correlati

Articolo 1 di 4