Cosa sarebbero i programmi, le applicazioni e perfino i siti web senza poter memorizzare i dati acquisiti o calcolati ?
In questo mondo pervaso da tonnellate di informazioni una delle cose più importanti è come memorizzare questi dati e come ritrovarli velocemente.
E’ compito di chi analizza come l’applicativo utilizzerà le informazioni, progettare la modalità migliore per memorizzare e indicizzarli il più veloce possibile.
Ma dove si possono memorizzare questi dati ?
Tanti anni fa, quando i computer costavano quanto un appartamento, si memorizzavano i dati su nastri, e l’immagine tipica di quei datacenter era quella di enormi armadi con nastri che giravano alla ricerca del dato richiesto.
Poi si è passato ai primi dischi rigidi, su cui una testina leggeva e scriveva dati in file indicizzati su un supporto magnetico.
Con la nascita dei primi personal computer nacquero i primi dischi flessibili (floppy disc) da 8 pollici, poi da 5 pollici e 1/4, fino ai più recenti da 3,5 pollici.
Nel frattempo i dischi rigidi diminuivano di dimensione e contemporaneamente aumentavano di capacità (prima 10 Mb, poi 30, poi 100 fino ad arrivare ai nostri giorni con dischi di svariati Terabytes).
L’ultima versione dei dischi al massimo delle performance sono quelli SSD (Solid State Disk) che usano una tecnologia non meccanica con accesso rapidissimo ai dati.
Ma non basta sapere dove scrivere, occorre sapere anche come scrivere.
Inizialmente bastava memorizzare i dati e poi cercarli sequenzialmente partendo dall’inizio o dalla fine.
Quando i dati erano molto pochi, poteva bastare, ma poi i dati sono aumentati e occorreva rintracciare molto più velocemente i dati.
Algoritmi di ricerca, come quella dicotomica, permettevano di cercare più velocemente i dati, ma ancora non bastava.
Nacquero quindi i primi file con struttura ISAM.
ISAM è l’acronimo di Indexed Sequential Access Method (metodo di accesso sequenziale indicizzato), ed è un modo per immagazzinare dati da estrarre rapidamente. Sviluppato originariamente da IBM, costituisce oggi la base per l’immagazzinamento dei dati in molti database, relazionali e non.
Con una struttura di indici di ricerca a puntamento, questa struttura permette di cercare con pochissime letture un dato record.
L’analista deve essere bravo a organizzare correttamente gli indici di ricerca, altrimenti diventa difficile rintracciare i dati.
Questo modo di accedere ai dati era macchinoso e non perdonava errori di analisi e di struttura dei dati.
Nacquero i primi database con cui l’accesso ai dati era enormemente semplificato.
In informatica, il termine base di dati o banca dati (a volte abbreviato con la sigla DB dall’inglese data base), indica un insieme di dati, omogeneo per contenuti e per formato, memorizzati in un elaboratore elettronico e interrogabili via terminale utilizzando le chiavi di accesso previste.
Le informazioni contenute in una base di dati sono strutturate e collegate tra loro secondo un particolare modello logico scelto dal progettista (ad es. relazionale, gerarchico, reticolare o a oggetti). Gli utenti si interfacciano con le base dati attraverso i cosiddetti query language (query di ricerca o interrogazione, inserimento, cancellazione, aggiornamento ecc.) e grazie a particolari applicazioni software dedicati (DBMS)
Con i database, cambia completamente l’approccio alla gestione dei dati, che diventa più semplice, più facile da gestire e soprattutto più orientato agli utenti. Chiunque con poche istruzioni può leggere dati da un database, mentre per interrogare la banca dati con query più complesse ci sono anche programmi che in maniera visuale, permettono la costruzione di comandi più complessi.
La necessità di archiviare enormi quantità di dati diventa sempre più indispensabile ed in questo le moderne basi di dati permettono di avere performance notevoli grazie ad elaborati algoritmi che prevedono le interrogazioni più frequenti.
I moderni motori di database, creano una serie di statistiche partendo dai comandi che vengono eseguiti con più frequenza, cercando di portare in memoria più informazioni possibili per velocizzare la risposta. Vengono creati indici in automatico per supplire alla progettazione della struttura dei dati.
Per questa ragione, contrariamente a quello che gli utenti pensano, più interrogazioni vengono richieste, più il database viene ottimizzato per rispondere ad una maggiore velocità.
E’ lo stesso principio dei siti web, in cui i moderni browser memorizzano in cache le informazioni maggiormente utilizzate e consentono una maggiore velocizzazione delle pagine, soprattutto se già visitate.
Un ulteriore possibilità di interrogazione rapida quando si ha la necessità di operare su milioni di records, è l’utilizzo della tecnologia OLAP.
OLAP, acronimo dell’espressione On-Line Analytical Processing, designa un insieme di tecniche software per l’analisi interattiva e veloce di grandi quantità di dati, che è possibile esaminare in modalità piuttosto complesse. Questa è la componente tecnologica base del data warehouse e, ad esempio, serve alle aziende per analizzare i risultati delle vendite, l’andamento dei costi di acquisto merci, al marketing per misurare il successo di una campagna pubblicitaria, a una università per organizzare i dati di un sondaggio ed altri casi simili.
Con questa tecnologia, si fa un ulteriore passo in avanti nella gestione di enormi database. Sfrutta la capacità del motore del database di creare dati precalcolati che possono essere interrogati secondo diverse specifiche.
Normalmente esiste una base dati da cui si ramificano le dimensioni con cui interrogare le varie statistiche.
Il sistema crea un cubo con tutti questi dati multidimensionali che possono essere sommati secondo le proprie necessità.
Non è un sistema di facile implementazione, per poterlo creare occorre creare una struttura dati particolare che può essere creata ad hoc (MOLAP Multidimensional OLAP), o che può utilizzare i dati preesistenti (ROLAP Relational OLAP) o una versione ibrida (HOLAP Hybrid OLAP).
Questi dati vengono processati periodicamente per aggiornare i dati memorizzati nel cubo.
L’interrogazione avviene con un linguaggio particolare o utilizzando alcune interfacce come Excel, o come alcuni programmi di Reportistica.
Continua in Accesso ai Dati Seconda Parte.