Database aziendali “commerciali”: Microsoft SQL Server

Dal punto di vista tecnico, l’architettura di SQL Server può essere ricondotta al modello “client-server”, nel quale tutti i processi nascono dalla richiesta di un client (generalmente associato ad un utente finale o ad un componente software “utilizzatore”) e proseguono con le elaborazioni effettuate da un articolato framework che lavora “dietro le quinte”, grazie all’interazione di specifici moduli tra loro interconnessi da una logica di funzionamento

Pubblicato il 22 Ott 2020

Analisi dell’Enterprise Architecture: definizione, vantaggi e implementazione

Per comprendere al meglio le potenzialità, il prestigio e l’importanza di Microsoft SQL Server, che oggi rappresenta uno dei gestori di database più diffusi e popolari al mondo, è necessario ripercorrere, seppur sinteticamente, le principali tappe della sua lunga storia, costellata da pioneristiche partnership aziendali, clamorosi colpi di scena oltre che da un successo e una crescita esponenziali.

Un po’ di storia

Lo scenario di riferimento in cui SQL Server nasce e si presenta al mondo delle banche dati digitali è completamente differente da quello attuale: l’azienda fondata da Bill Gates, infatti, non era ancora il colosso internazionale che abbiamo conosciuto nel corso degli ultimi decenni ed il suo prodotto per antonomasia, il sistema operativo Windows, si trovava ancora in uno stato embrionale.

Ci troviamo, in estrema sintesi, agli albori della moderna informatica, in un momento storico in cui Microsoft, già in rampa di lancio grazie alla diffusione del sistema “DOS”, ha estrema necessità di conquistare quote di mercato e di espandere le proprie competenze in campi potenzialmente fruttuosi come quelli dei database, già territorio di conquista da parte di diverse aziende statunitensi, tra le quali, anche a quel tempo, figurava anche Oracle.

In tale contesto, per accelerare i tempi di ingresso in un settore fortemente specialistico, l’azienda di Redmond (in quel periodo si era da poco trasferita nell’ormai iconica sede) decide di stringere un accordo strategico prima con la Sybase, che aveva sviluppato un “Dataserver” per i sistemi UNIX, e poi addirittura con uno degli allora leader mondiali dei DBMS come Ashton-Tate, produttrice del popolare “dBase”.

Nasce, in tal modo, un sodalizio particolarmente affiatato che, nel breve arco di tempo di pochi anni, porterà alla creazione del primo software per personal computer capace di rendere il database relazionale accessibile anche agli utenti finali, il cui nome di battesimo era “Ashton-Tate/Microsoft SQL Server”.

Si trattava, invero, di una vera e propria rivoluzione nel campo delle banche dati perché, per la prima volta, gli archivi digitali uscivano dalle austere e professionali sale CED delle “software house” per entrare, sia pure in punta di piedi, negli uffici di migliaia di sviluppatori, ansiosi di creare software sempre più potenti e raffinati.

Il successo del nuovo prodotto fu immediato e fulminante ma, nonostante gli eccellenti risultati, il sodalizio composto dalle tre compagnie si rivelò ben presto fragile e scricchiolante, soprattutto perché la società di Bill Gates era decisamente orientata verso la nascita del futuro Windows/NT, che avrebbe dovuto costituire la piattaforma unica sulla quale costruire e far girare tutti gli altri moduli software, mentre gli altri due partner puntavano a creare un prodotto potenzialmente compatibile con tutti i sistemi operativi.

Arriva, così, nel 1994 la prima versione di SQL Server targata completamente Microsoft (formalmente si tratta della 6.0) che segnerà anche l’avvio di una nuova stagione per il DBMS, progressivamente integrato e fortemente interconnesso con tutti gli altri pacchetti rilasciati dal colosso statunitense, tra i quali una menzione particolare meritano soprattutto la suite per la produttività individuale “MS Office” e l’ambiente di sviluppo software “Visual Studio”.

A distanza di oltre 40 anni dalla sua nascita, oggi SQL Server, grazie anche ad una continua evoluzione e reingegnerizzazione dei meccanismi di funzionamento, rappresenta il punto di riferimento primario nella gestione dei dati per tutti coloro che operano all’interno del vasto ecosistema Microsoft, tanto da collocarsi stabilmente al terzo posto assoluto nella speciale graduatoria stilata dal prestigioso sito “Db-Engines” (https://db-engines.com/en/ranking) e trovarsi immediatamente alle spalle del solo Oracle tra i DBMS a “codice non aperto”.

Microsoft SQL Server: un prodotto “commerciale” e “non aperto”

Uno degli aspetti che ha maggiormente contraddistinto SQL Server fin dalle sue origini e che ha rappresentato una costante nel corso della sua lunga storia è costituito dalla sua connotazione quale “prodotto commerciale”, “non aperto” e, per molti versi, contrapposto ai DBMS opensource che sono nati e si sono diffusi nel corso dei decenni.

In linea con la filosofia di Microsoft, infatti, SQL Server si basa su una tecnologia proprietaria e su un codice sorgente privato, il cui nucleo originario fu acquistato negli anni 90 da Ashton-Tate e Sybase per essere successivamente rivisto, reingegnerizzato e profondamente trasformato dai tecnici di Redmond.

Con il fine di garantire una diffusione quanto più possibile capillare, però, il DBMS è stato da sempre commercializzato attraverso “edizioni” differenti, che comprendono anche soluzioni di tipo gratuito, utilizzabili liberamente nel rispetto di specifici vincoli e stringenti limitazioni.

Negli ultimi anni, invero, è stata effettuata una profonda revisione e semplificazione del sistema di gestione delle licenze che ha condotto ad una situazione nella quale sono presenti due opzioni a pagamento (Enterprise e Standard) e tre gratuite o comunque estremamente economiche (Web, Developer ed Express).

Per comprendere meglio le diverse opzioni disponibili per i potenziali utilizzatori di SQL Server, è riportata di seguito una sintetica descrizione delle “edizioni” attualmente proposte:

  • Enterprise Edition: rappresenta sicuramente l’offerta principale messa in campo da Microsoft nell’ambito dei DBMS. Si tratta, in sostanza, della punta di diamante dell’intera architettura di gestione dei dati implementata dal colosso americano e, insieme al performante motore di base, offre numerosi servizi aggiuntivi che comprendono anche una vasta gamma di strumenti per la creazione e la gestione di veri e propri “cluster” distribuiti. Per comprendere le grandi potenzialità di questa tipologia di licenza, basti pensare che sia in grado di gestire database fino a 524 petabyte (ossia 524 milioni di gigabyte), indirizzare 12 terabyte di memoria e supportare 640 processori logici.
  • Standard Edition: include il motore di database principale, insieme ai “servizi autonomi”. Si differenzia dall’edizione Enterprise in quanto supporta un minor numero di istanze attive (numero di nodi in un cluster) e non include alcune funzioni ad alta disponibilità come la capacità di gestire il cosiddetto meccanismo dell’“hot-add memory” (che consente di aggiungere memoria “ a caldi”, ossia mentre il server è ancora in esecuzione) e gli utilissimi “indici paralleli”, in grado di velocizzare le funzioni di ricerca ed estrazione di informazioni.
  • Web Edition: costituisce un’opzione con un “costo totale di proprietà” ridotto per provider di servizi di hosting Web, offrendo funzionalità di scalabilità, convenienza e facilità di gestione per applicazioni Web-based di ogni dimensione.
  • Developer Edition: consente agli sviluppatori di compilare qualsiasi tipo di applicazione in SQL Server. Benché includa tutte le funzionalità dell’edizione Enterprise, ne è consentito l’utilizzo solo come sistema di sviluppo e di prova e non come server di produzione.
  • Express Edition: è un database “entry level” gratuito, orientata all’apprendimento e alla compilazione di applicazioni basate sui dati desktop e server di piccole dimensioni. Questa edizione è pensata per rispondere alle esigenze di fornitori di software indipendenti, sviluppatori professionali di applicazioni client o semplici appassionati di scrittura del software. Se sono necessarie funzionalità di database più avanzate, è possibile aggiornare facilmente SQL Server Express a versioni di fascia superiore. È presente anche una versione semplificata di Express, denominata “LocalDB”, che, pur includendone tutte le funzionalità di programmazione, viene eseguita in “modalità utente” e prevede un’installazione veloce senza operazioni di configurazione, nonché un elenco ridotto di prerequisiti. Sebbene non vi siano limitazioni al numero di database o utenti supportati, Express permette l’utilizzo di un solo processore, con 1 GB di memoria e file di database da 10 GB.

L’architettura di Microsoft SQL Server

Dal punto di vista tecnico, l’architettura di SQL Server può essere ricondotta al modello “client-server”, nel quale tutti i processi nascono dalla richiesta di un client (generalmente associato ad un utente finale o ad un componente software “utilizzatore”) e proseguono con le elaborazioni effettuate da un articolato framework che lavora “dietro le quinte”, grazie all’interazione di specifici moduli tra loro interconnessi da una logica di funzionamento.

In particolare, nell’infrastruttura server è possibile individuare tre macro-componenti fondamentali, rappresentati da uno strato di interfaccia (denominato “livello di protocollo”) e da due motori deputati a gestire le fasi di elaborazione (“relational engine”) e memorizzazione (“storage engine”) dei dati trattati dal DBMS.

L’interazione con i client, coordinata dal “protocol layer”, prevede tre tipologie di interlocuzioni e mezzi di comunicazione che possono essere descritti come “shared memory”, nella quale client e server convivono nel medesimo ambiente ed utilizzano le stesse risorse in modalità condivisa, “TCP/IP”, riconducibile ad un classico scenario di funzionamento in una rete internet, e “Named Pipes”, che rappresenta, infine, una situazione “ibrida” nella quale client e server operano in sistemi differenti ma sono tra loro interconnessi tramite una rete privata, generalmente identificata come “intranet”.

Particolarmente interessante, nel contesto delle comunicazioni tra client e server all’interno di SQL Server, è il protocollo “Tabular Data Stream” (conosciuto con l’acronimo TDS), che affonda le proprie origini addirittura ai tempi della collaborazione con Sybase e, grazie anche ad una serie di aggiornamenti e raffinamenti, permette al DBMS di gestire con facilità tutte le modalità di interlocuzione attraverso avanzati meccanismi di astrazione rispetto al canale comunicativo effettivamente utilizzato.

Presentandosi come un sistema commerciale e sostanzialmente “chiuso”, SQL Server si distingue dai competitor “open source” anche per la forte caratterizzazione del proprio motore relazionale, che rappresenta il cuore pulsante di tutta l’architettura ed è, di fatto, uno dei pochi componenti insostituibili dell’intero framework. Se, pertanto, MySQL, MariaDB e la maggior parte dei DBMS aperti enfatizzano la propria capacità di funzionare attraverso motori eterogenei e profondamente diversi tra loro, SQL Server, al contrario, esalta il ruolo fondamentale, unico e assolutamente centrale del proprio “DB engine” che, fin dall’inizio, rappresenta un vero e proprio punto di riferimento in casa Microsoft.

In dettaglio, il motore relazionale di SQL Server si occupa di verificare ed interpretare le “query” inoltrate dai client da un punto di vista sintattico e semantico attraverso una serie di moduli deputati ad ottimizzare le attività di analisi, elaborazione, interpolazione e fornitura dei dati verso l’esterno.

È opportuno, in tale contesto, sottolineare come tutti gli algoritmi finalizzati a individuare i percorsi e le modalità di elaborazione migliori costituiscano una proprietà di Microsoft, che non ha inteso rendere pubblici i meccanismi di funzionamento dell’intera infrastruttura con l’obiettivo di tutelare le competenze e il know-how acquisito in decenni di attività specialistica nell’ambito delle banche dati digitali.

Un ulteriore elemento di rilievo all’interno di SQL Server è il cosiddetto “Storage Engine” che, basandosi ancora una volta su tecnologie proprietarie, permette di rendere persistenti i dati elaborati nelle fasi precedenti presso destinazioni eterogenee e fortemente differenti tra loro ed utilizzando strumenti estremamente sofisticati per garantire la disponibilità, l’integrità e la riservatezza delle informazioni.

In particolare, i dati sono suddivisi in unità elementari chiamate “pagine”, che possiedono una dimensione di 8KB e rappresentano il nucleo più piccolo di informazioni gestito all’interno di SQL Server, sono conservati in due tipologie di repository (ossia in un archivio principale ed una serie di presidi secondari di salvaguardia) e monitorati attraverso le informazioni conservate in un registro delle transazioni.

L’integrazione dei Big Data

Una delle principali innovazioni introdotte nelle ultime versioni di SQL Server, che testimonia anche la propensione di Microsoft verso la continua ottimizzazione del sistema e la ricerca di soluzioni in linea con lo stato dell’arte nel settore IT, è rappresentata dall’integrazione di funzionalità e servizi orientati ai cosiddetti “big data”.

In base a quanto emerge dalla lettura della documentazione ufficiale (https://docs.microsoft.com/it-it/sql/big-data-cluster/big-data-cluster-overview?view=sql-server-ver15), a partire dalla versione 2019 è possibile eseguire query su origini di dati esterne, archiviare Big Data attraverso l’ormai famosissimo framework “Apache Hadoop”, che supporta applicazioni distribuite con elevato accesso ai dati, permettendo alle applicazioni di lavorare con migliaia di nodi e petabyte di dati, o interrogare, attraverso le funzionalità del cluster, fonti eterogenee e diverse tra loro.

È possibile, in tal modo, abilitare la propria piattaforma software all’utilizzo di tecniche di intelligenza artificiale, metodiche basate sul “Machine Learning” o altre attività di analisi ed inferenza.

Una delle funzionalità chiave derivante dall’integrazione con i Big Data consiste nella possibilità di “virtualizzare” le informazioni, che permette di utilizzare i dati direttamente presso le sorgenti remote e di non avviare, di conseguenza, onerose operazioni di trasferimento ma anche le classiche attività di trasformazione e caricamento (generalmente conosciute con l’acronimo di derivazione anglosassone ETL) tipiche degli ambienti distribuiti. In tal modo, sarà possibile eseguire query SQL in maniera del tutto indipendente dalla collocazione fisica dei dati e, addirittura, dal contenitore di riferimento. In tal modo diventa anche possibile utilizzare SQL Server per gestire, da remoto, dati contenuti in DB anche non relazionali come MongoDB, HDFS, etc.

Per garantire una gestione semplificata, snella ed agevole di grandi quantità di informazioni, è stata anche introdotta una funzionalità particolarmente avanzata di individuazione e classificazione dei dati, che dalla versione 2019 è incorporata a livello nativo nel DBMS.

Attraverso la previsione di un meccanismo di assegnazione di etichette ai dati più sensibili, SQL Server riesce, in particolare, a coniugare l’esigenza di soddisfare i requisiti sempre più stringenti inerenti la privacy e la protezione dei dati personali, con la necessità di garantire la sicurezza delle informazioni critiche da attacchi esterni o malfunzionamenti endogeni.

Si pensi alle funzionalità di ultima generazione che permettono di individuare accessi anomali (ad esempio effettuati al di fuori dai canonici orari di lavoro) ai dati sensibili o alla possibilità di identificare in maniera abbastanza agevole la collocazione dei dati sensibili nell’organizzazione, favorendo l’attuazione di politiche più stringenti nelle aree maggiormente esposte.

L’utilizzo dei modelli non relazionali

Ad ulteriore dimostrazione della capacità di Microsoft di comprendere le evoluzioni del mercato e della tecnologia, anche un DBMS tradizionale e storico come SQL Server negli ultimi anni ha iniziato a integrare nella propria architettura i principi e le funzionalità dei modelli non relazionali e dei cosiddetti gestori NoSQL. In particolare, nelle ultime versioni sono proposte due opzioni tipiche dell’universo non relazionale come quelle della “gestione dei documenti” e della modellazione “a grafo”, che permettono di gestire con maggiore comodità i dati non strutturati generalmente disponibili sul web.

L’idea di fondo è quella di estendere i confini del linguaggio SQL per consentire, attraverso innovazioni sintattiche e semantiche, di interrogare, gestire e manipolare dati non aggregati nelle canoniche forme tabellari e non organizzati secondo i principi e i vincoli previsti dal modello relazionale.

Non è una novità, in realtà, per Microsoft che già dai tempi della collaborazione con Sybase ha lanciato il Transact-SQL che, di fatto, propone regole e grammatiche in parte non sovrapponibili e non pienamente compatibili con l’SQL “puro”.

Attraverso il meccanismo della virtualizzazione descritto in precedenza, inoltre, SQL Server riesce anche ad utilizzare i dati contenuti in database non relazionali, consentendo all’utente di ottenere risultati molto vicini a quelli dei cosiddetti “Datawarehouse” che permettono, tra l’altro, di armonizzare e normalizzare informazioni provenienti da fonti eterogenee al fine di creare nuova conoscenza e guidare l’adozione di strategie e scelte aziendali.

La gestione della continuità aziendale

Un ulteriore elemento sul quale gli sviluppatori di SQL Server stanno focalizzando sempre più la propria attenzione è quello della cosiddetta “continuità aziendale” che, in estrema sintesi, punta a garantire la prosecuzione delle attività vitali di un’organizzazione anche a fronte di eventi avversi di medio-grandi dimensioni. Partendo dalla considerazione che tutti i sistemi informativi moderni poggiano le proprie fondamenta su banche dati digitali, diviene assolutamente imprescindibile configurare i DBMS e le architetture di riferimento in maniera da garantire, anche in condizioni estremamente sfavorevoli, l’accesso ai dati ed alle informazioni.

In particolare, nell’ultima versione del prodotto targato Microsoft sono proposte quattro differenti soluzioni per affrontare e mitigare tale problematica, che sono denominate nella documentazione ufficiale come “Disponibilità elevata”, “Ripristino di emergenza”, “Migrazioni e aggiornamenti”, e “Scalabilità orizzontale delle copie leggibili di uno o più database”.

Il primo elemento di presidio è rappresentato, invero, dai cosiddetti “gruppi di disponibilità Always On” che, introdotti a partire dal 2012 nelle versioni Standard ed Enterprise, offrono una protezione a livello di database in cui ogni transazione viene inviata a un’istanza remota, indicata come “replica”, nella quale è contenuta una copia di quel database in uno stato speciale.

Poiché le transazioni sono inoltrate a una replica in tempo reale, i gruppi di disponibilità sono estremamente utili in situazioni nelle quali è fondamentale ripristinare lo status quo in brevissimo tempo e sia necessario, allo stesso tempo, garantire la salvaguardia di tutti i dati.

Una volta definito, attraverso le funzionalità inerenti la “disponibilità elevata”, il meccanismo di sincronizzazione tra due siti adeguatamente distanti tra loro, è necessario anche prevedere procedure finalizzate alla concreta attivazione della replica remota in caso di malfunzionamento del database primario. Anche in questo caso, SQL Server mette a disposizione in maniera nativa, anche attraverso l’interconnessione con altri strumenti di Microsoft quali ad esempio l’”Active Directory”, soluzioni per la configurazione di sistemi di “fail over”, in grado di migrare in maniera più o meno veloce ed automatica le rotte verso i database.

Un altro scenario previsto da SQL Server nell’ambito della continuità operativa è quello della migrazione del CED primario o della distribuzione di aggiornamenti critici potenzialmente in grado di impattare sulla disponibilità e integrità del database. Anche in questo caso il DBMS di Microsoft offre servizi, strumenti e funzionalità dedicate e perfettamente integrate con quelle di altre soluzioni e piattaforme rilasciate dalla stessa casa di Redmond.

La sicurezza in Microsoft SQL Server

In linea con le evoluzioni delle minacce cibernetiche e dei rischi connessi alla gestione di dati sensibili in archivi di grandi dimensioni, gli strumenti di sicurezza presenti in SQL Server sono stati decisamente rafforzati e rielaborati, con il fine di fornire agli amministratori ed agli utenti finali un adeguato livello di protezione e consapevolezza.

Ancora una volta il grande vantaggio del DBMS è quello di poter sfruttare servizi, opzioni, soluzioni e meccanismi già ampiamente testati, conosciuti agli utenti ed ormai divenuti veri e propri standard de facto grazie alla popolarità dei principali software commercializzati da Microsoft.

Un primo esempio eclatante, da questo punto di vista, è rappresentato dalla procedura di autenticazione che presenta le seguenti due opzioni fortemente legate al sistema operativo principe della multinazionale statunitense:

  • L’autenticazione di Windows, che rappresenta l’impostazione predefinita, viene spesso definita “sicurezza integrata “perché è strettamente connessa con le funzionalità offerte dal sistema operativo Windows, tanto che sono stati indentificati a priori, grazie ad un lavoro di assessment condotto dai tecnici, specifiche tipologie di account considerate attendibili per accedere a SQL Server. Gli utenti di Windows che sono già stati autenticati, inoltre, non devono presentare credenziali aggiuntive.
  • La modalità mista supporta l’autenticazione di Windows e quella di SQL Server. In tal caso le credenziali “locali” sono memorizzate direttamente nel DBMS in maniera protetta attraverso opportune tecniche di crittografia.

Tra gli alleati più importanti e fidati sui quali SQL Server può contare, un ruolo di primo piano è svolto senza dubbio dal “framework .Net”, che si sta imponendo da oltre un decennio come una delle piattaforme di sviluppo e progettazione software più popolari ed utilizzate in tutto il mondo.

Rimanendo nel campo della sicurezza, il DBMS può mutuare le funzionalità fornite dal modello di accesso relazionale “ADO.NET” (ActiveX Data Objects) che è stato pensato per fornire uniformità di accesso a tutte le fonti di dati relazionali compatibili con l’ecosistema Microsoft.

Tra le grandi potenzialità di ADO.NET è possibile ricordare la possibilità di convertire in “oggetti” (ossia entità manipolabili tramite un linguaggio di programmazione) le tabelle di un database, permettendo agli sviluppatori di applicazioni software di astrarsi completamente dalla struttura fisica del DBMS.

In SQL Server sono, inoltre, disponibili funzioni per di crittografia dei dati che utilizzano un insieme estremamente ampio di opzioni tecniche, quali i certificati, il sistema a doppia chiave o la crittografia simmetrica. La scelta di combinare tra loro differenti soluzioni crittografiche fornisce sicuramente una maggiore flessibilità all’intera piattaforma, consentendo soprattutto di adottare la tecnica migliore in base ai diversi contesti operativi. Come ricordato anche nella documentazione ufficiale, infatti, la crittografia simmetrica, pur presentando evidenti limiti connessi alla necessità di condividere l’unica chiave utilizzata, garantisce prestazioni decisamente elevate ed è pertanto preferibile in situazioni nelle quali le performance assumono un ruolo primario e decisivo.

Molto interessante è la previsione di un “archivio segreto” nel quale sono memorizzate, attraverso algoritmi ancora più stringenti e complessi, le informazioni necessarie a decodificare i dati memorizzati all’interno delle tabelle.

La piattaforma Azure e la rivoluzione del Cloud

La grande svolta di Microsoft negli ultimi anni è stata quella di puntare in maniera sempre più decisa e diretta verso l’affascinante ed innovativo mondo del cloud, considerato come “disruptive”, ossia in grado di rivoluzionare tutti i canoni fino ad oggi consolidati nel mondo dell’informatica, da tutti gli addetti ai lavori.

Seguendo tale principio, la compagnia di Redmond ha implementato un vero e proprio universo parallelo sulla propria nuvola tecnologica, creando una propria infrastruttura di riferimento, l’ormai famosissima Azure, e migrando tutte le proprie offerte commerciali sulla linea “Microsoft 365”, completamente orientata al Cloud.

Non poteva mancare, naturalmente, la proposta di utilizzare il DBMS di punta nella nuova modalità ed infatti su Azure è possibile acquistare un servizio database nella modalità PaaS (“Platform as a Service”) che garantisce sempre l’aggiornamento all’ultima versione stabile SQL Server.

L’obiettivo della nuova soluzione è quello di consentire agli utenti finali di concentrarsi esclusivamente sulle attività di ottimizzazione e amministrazione del database ed affidare all’infrastruttura il compito di garantire la sicurezza, la salvaguardia e la disponibilità dell’intero sistema.

Dal punto di vista operativo, la versione Cloud di Microsoft SQL Server permette di accedere a tutte le funzionalità previste per le classiche installazioni on-premise mentre sotto il profilo commerciale Microsoft ha deciso di puntare su due modelli di acquisto paralleli tipici del mondo cloud: è infatti possibile scegliere tra l’opzione basata sui “vCore”, ossia sulla potenza elaborativa delle macchine virtuali sulle quali è ospitato il DBMS, e quella incentrata sul numero delle transazioni effettuate (conosciute in ambito tecnico con la locuzione “Database Transaction Unit”, il cui acronimo è DTU).

Conclusioni

SQL Server è sicuramente un punto di riferimento storico nel mondo dei DBMS relazionali ma, nonostante sia da diversi decenni associato in maniera univoca al marchio ed al prestigio di un colosso come Microsoft, ha subito nel corso del tempo diversi “passaggi di proprietà” che hanno marcato in maniera indelebile la struttura e le sue caratteristiche, rendendolo, di fatto, un prodotto unico nel panorama internazionale.

Tra tanti cambiamenti e variazioni, però, un elemento identitario del famoso DBMS è rimasto costante: Microsoft SQL Server si presenta come un prodotto “commerciale”, a “codice chiuso” e può essere utilizzato nella sua interezza solamente da chi acquista una delle licenze rese via via disponibili sul mercato.

La sua più grande forza oggi è sicuramente quella di essere parte integrante dello sterminato ecosistema Microsoft che, potendo contare su piattaforme e suite identificabili quasi come standard de facto, garantisce un bacino di utenti praticamente illimitato. Nel corso del tempo, infatti, SQL Server è stato rivisto, ripensato e reingegnerizzato per utilizzare funzioni, servizi e soluzioni già sperimentate con successo in Windows, Office, Visual Studio, Framework .NET o nell’ambito dei tanti linguaggi di programmazioni targati Microsoft.

Tale situazione, oltre a garantire una popolarità per “osmosi”, ha permesso al DBMS di evolversi e rimanere al passo con la tecnologia in maniera quasi naturale: si pensi, ad esempio, alle funzionalità di autenticazione o crittografia, alla tutela della continuità operativa e, in ultimo, della migrazione verso l’avvincente universo del Cloud. Insieme a gran parte dell’architettura della casa di Redmond, infatti, anche SQL è proposto oggi secondo i paradigmi dei servizi ed in particolare è inglobato nella soluzione “Azure” con la quale la compagnia fondata da Bill Gates sta tentando l’assalto alla nuvola digitale.

L’idea di fondo è quella di fornire i servizi del DBMS all’interno di una soluzione complessiva, in grado di permettere alle aziende di focalizzare la propria attenzione sulle necessità primarie disinteressandosi (o quasi) dei problemi connessi all’infrastruttura fisica, alla sicurezza ed alla disponibilità dei database e dei servizi.

Un ulteriore elemento di novità emerso negli ultimi anni è rappresentato dall’apertura verso i modelli non relazionali che stanno acquisendo un crescente successo soprattutto perché maggiormente adatti a trattare quei dati non strutturati che sempre caratterizzano il web, i social network ed i nuovi canali digitali. Particolarmente interessante, anche sotto questo punto di vista, è la tecnica della “virtualizzazione” che permette a SQL di interrogare e manipolare da remoto dati residenti su fonti eterogenee senza la necessità di effettuare laboriose attività di migrazione o armonizzazione come avviene nel settore dei Datawarehouse.

Valuta la qualità di questo articolo

La tua opinione è importante per noi!

Articoli correlati

Articolo 1 di 2