Database e Hosting: la 'connessione' che fa la differenza
19/07/2022
PMIPrivatiProfessionisti
Uno dei fattori più importanti nella scelta di un hosting, ma spesso tra i più trascurati, è quello del Database, o meglio del DBMS, sottile differenza che andiamo a spiegare in questo post. Partendo dal fatto che la scelta del database, spesso, non è del tutto libera, principalmente per due motivi: il framework/CMS utilizzato, la tipologia di offerta dell’hosting .
Cos'è un Database e cos’è un DBMS
Per definizione un Database, italianizzato in “base di dati” o abbreviato in DB, è un insieme di informazioni (i dati, appunto) strutturate secondo criteri logici, e archiviati elettronicamente, digitalizzati.
Nella sua implementazione più tipica nel corso degli anni, si è soliti rappresentare un database come un insieme di tabelle suddivise in righe e colonne al cui interno sono inseriti i dati di riferimento. Per intendersi, anche se di recente il paradigma è leggermente cambiato, è come avere tanti fogli Excel (o Numbers) ognuno corrispondente a una collezione di dati al cui interno sono memorizzate le informazioni di riferimento.
Naturalmente, in modo diverso diverso da un foglio di calcolo, impiegato perlopiù per facilitare l’utilizzo di formule e di calcoli, un database è strutturato per popolare i dati, richiederli ed elaborarli tramite linguaggi specifici, il più diffuso di solito è il linguaggio SQL (Structured Query Language).
DMBS, il tutor dei dati
Il "complesso’’ che gestisce il Database, il linguaggio SQL, la memorizzazione dei dati, e tutti i fattori che ruotano attorno ad essi si chiama invece Database Management System, quasi sempre abbreviato in DBMS, italianizzato in Sistema di Gestione di Basi di Dati.
Per definizione un DBMS è un software che permette di gestire collezioni di dati che siano grandi, condivise e persistenti, assicurando loro affidabilità e ‘privatezza’ . Per privatezza, in gergo, si intende infine la possibilità di avere privilegi ed accessi diversi in base all’utente che utilizza la base di dati.
Nella pratica, lo scopo è quello di riuscire a immagazzinare dati considerevoli, anche oltre i miliardi e, se la memoria lo permette, rendere possibile l’accesso da diverse applicazioni e diversi utenti, evitando di avere copie duplicate e non sincronizzate tra loro, e che infine i suddetti dati continuino a esistere anche quando le applicazioni smettono di funzionare.
Per affidabilità si intende che il contenuto del database debba essere sempre corretto e conservato intatto, anche in caso di malfunzionamenti, aggiungendo un ulteriore livello tramite procedure di backup.
A grandi linee queste caratteristiche rendono un database differente da un foglio di calcolo. Ricapitolando e semplificando: il database è l’insieme dei dati, mentre il DBMS è il sistema ‘nervoso’ che li coordina e li gestisce.
I DBMS più diffusi
Tra i sistemi DBMS più diffusi troviamo MySQL, Microsoft Access, Microsoft SQL Server, FileMaker Pro, Oracle Database, MariaDB, CouchDB, MongoDB e dBASE.
Anche se non è oggetto di questo articolo, è importante sottolineare che tra quelli elencati vi siano oltre a dei classici database utilizzabili tramite SQL, anche dei più recenti sistemi a cui si fa riferimento come NoSQL, che differiscono dai primi in quanto non hanno una struttura fissa ma dinamica.
Nel parlare dei DBMS e quindi dei database più diffusi, in particolar modo dei database per hosting, ci soffermeremo principalmente su due sistemi: Oracle MySQL e Microsoft SQL Server. Queste due sono generalmente le proposte, seppur non obbligatorie, quando si approccia alla scelta di un nuovo hosting, in particolar modo il primo si affianca quasi sempre ad un Hosting Linux, mentre il secondo ad un Hosting Windows.
Oracle MySQL
Oracle MySQL, meglio noto come MySQL è un RDBMS (relational database management system), ovvero un sistema di gestione dei database relazionali. Poiché ne esistono versioni specifiche per Microsoft Windows, Linux, macOS, ecc. è corretto definirlo multipiattaforma.
Nella sua versione più diffusa è distribuito in licenza libera, la GNU GPL, ed oltre ad essere conforme agli standard ANSI SQL, offre una serie molto ampia di librerie per l’utilizzo ed è supportato da innumerevoli linguaggi di programmazione, sposandosi in particolar modo con PHP.
Di certo è uno dei DBMS più diffusi al mondo, tanto che la sua combinazione con il sistema operativo Linux, il server web Apache, e il linguaggio di programmazione PHP è identificata come sistema LAMP (o WAMP quando a Linux si sostituisce Windows): generalmente la scelta più praticata da chi opta per un servizio di hosting.
A esso si poggiano oggi alcuni tra i siti, framework e CMS più consistenti e diffusi al mondo. Per citarne alcuni: Wikipedia, Twitter, AirBnB, WordPress, Joomla, Shopify, etc.
Microsoft SQL Server
SQL Server è l’RDBMS di casa Microsoft, e come ovvio è il sistema di gestione di basi dati più diffuso su Windows, sebbene sia realizzato anche per Linux, ove però non trova lo stesso spazio.
Microsoft SQL Server utilizza Transact-SQL, una versione leggermente modificata del SQL standard del 1992. Per ovviare alle richieste più disparate è presente in diverse versioni, in particolare sono molto utilizzate in internet SQL Server Express, la versione gratuita entry level, e SQL Server Web, la versione per Service Provider, ma probabilmente questo DBMS trova maggiore diffusione su applicazioni desktop.
Database e Hosting, la scelta
Fatte tutte le premesse del caso e fornite le informazioni di base, ora possiamo ci focalizzarci sul punto iniziale. Come scegliere un database da associare al nostro hosting?
Per avere una risposta adeguata all’esigenza, occorre fare un passo indietro e chiedersi quale sarà l’utilizzo del db in relazione al nostro progetto, quale software (o CMS) utilizzeremo o in quali linguaggio svilupperemo.
Se la nostra applicazione è scritta in un linguaggio PHP, Perl, Python o Ruby, probabilmente la nostra scelta cadrà su un servizio hostato su Linux, e quasi per ovvietà il DBMS scelto sarà MySQL.
L’accoppiata Hosting Linux + Database MySQL, infatti, è un binomio quasi imprescindibile nei casi più comuni.
Scelta obbligata anche nel caso si volesse utilizzare uno dei CMS più diffusi, come Joomla, Magento, Drupal, PrestaShop, ed ovviamente WordPress, a cui andrebbe dedicato un capitolo a sé, data l’enorme diffusione che ha praticamente fatto sì che nascessero servizi ottimizzati allo scopo che prendono il nome di Hosting WordPress.
Di contro, se la nostra applicazione è basata su ASP o .NET la scelta di un sistema operativo Windows è la migliore, ed un Hosting Windows + Database Microsoft SQL Server è la scelta che può dare maggiori soddisfazioni.
Infine non è da sottovalutare la possibilità offerta in diversi casi di avere un Hosting Linux e Windows insieme, con due spazi isolati e distinti ma cooperanti tra loro, nel quale sono presenti due diversi DB, con i quali sarà possibile interagire in base alle necessità.
In conclusione, la scelta finale del DB e del DBMS è per dire molto personale, più che altro legata alla scelta dell’hosting in relazione agli sviluppi da fare, considerando che ogni sistema ha i suoi pro ed i suoi contro, ma senza scordare che, almeno i due citati, sono ampiamente supportati.