Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

MySQL, MongoDB, Cloudera e Hortonworks

Microsoft Azure e la gestione dei database Open Source: MySQL, MongoDB, Cloudera e Hortonworks.
Microsoft Azure e la gestione dei database Open Source: MySQL, MongoDB, Cloudera e Hortonworks.
Link copiato negli appunti

Microsoft Azure e database Open Source

SQL Azure non è l'unica soluzione per l'archiviazione e la gestione dei dati di Azure, il Cloud di Microsoft offre infatti diverse tecnologie per la creazione e l'amministrazione dei database, alcune delle quali Open Source. Ciò a dimostrazione delle opportunità offerte dalla piattaforma per l'interoperabilità tra applicazioni di diversa natura, comprese quelle libere e aperte.

Un DBA abituato a lavorare con un Database Manager relazionale ampiamente diffuso come per esempio MySQL potrà continuare ad operare con esso anche su Microsoft Azure così come già accadeva nel caso delle architetture on-premises, ma chi sceglierà il Cloud privilegiando una configurazione SaaS (Software-as-a-Service) avrà il vantaggio di lavorare all'interno di un'infrastruttura completa senza dover affrontare oneri di startup spesso anche considerevoli in termini di costi, tempo e mantenimento.

Nello stesso modo, chi preferisce sviluppare applicazioni in grado di interagire con soluzioni NoSQL, come per esempio un Database Manager non relazionale e orientato ai documenti quale MongoDB, potrà ricorrere a questa alternativa anche su Microsoft Azure. Le informazioni raccolte potranno poi essere elaborate utilizzando soluzioni avanzate come la distribuzione Open Source del framework Apache Hadoop offerta da Cloudera, uno strumento pensato per semplificare lo storage e la gestione dei Big Data in ambito enterprise.

Prova gratuitamente Azure

L'interoperabilità tra tecnologie disponibile attraverso la piattaforma si estende alla possibilità di adottare strumenti per DiM (Data-in-Motion) e il DaR (Data-at-Rest) come per esempio quelli offerti da Hortonworks, grazie ai quali le aziende potranno sfruttare le potenzialità di Hadoop per processare e analizzare grandi quantità di dati, sia strutturati che non strutturati, da utilizzare negli ambiti più diversi, dal Web, all'ecosistema mobile fino all'IoT (Internet of Things).

Creare un database MySQL con Microsoft Azure

Se si desidera disporre di un database basato sul DBMS (Database Management System) Open Source MySQL tramite Microsoft Azure, la via più semplice per iniziare la necessaria procedura è quella di accedere al portale per la gestione del servizio e di clickare sulla voce "Esplora" presente nella sidebar. Da questa posizione si può raggiungere velocemente il link per la creazione della nuova base di dati utilizzando il pratico motore di ricerca interno del servizio come mostrato dalla figura seguente.

Figura 1. Creazione di un database MySQL su Azure.
Creazione di un database MySQL su Azure

Clickando su "Database MySQL", e successivamente su "Aggiungi", viene messo a disposizione un form attraverso il quale indicare il nome che si vuole associare al database, "mysqlHtmlit" nel nostro esempio, il tipo di sottoscrizione desiderata per il pagamento del servizio (per esempio "in base al consumo" e cioè soltanto per l'effettivo utilizzo), il tipo di database, il gruppo di risorse al quale si desidera associarlo, la località di riferimento (ad esempio quella più vicina all'utilizzatore come l'"Europa Occidentale" per chi opera dall'Italia) e il piano tariffario più adatto al proprio progetto.

Figura 2. Caratteristiche del database MySQL.
Caratteristiche del database MySQL

Analizzando nel dettaglio le voci disponibili è bene sottolineare che il tipo di database si riferisce alla possibilità di creare un archivio che possa essere "Condiviso" come nell'esempio corrente, e quindi accessibile da più progetti in ambito collaborativo, o "Dedicato". Per quanto riguarda il gruppo di risorse a cui assegnare il database, si può utilizzare una raccolta preesistente (il gruppo "DataHTMLIT" impiegato nella precedente lezione per ospitare un archivio basato su SQL Azure) o creare un nuovo gruppo.

La selezione del piano tariffario dipende invece dal numero di connessioni attivabili sul database, dalla scelta di disporre da subito o meno di una base di dati pronta per la produzione e dalla necessità di poter accedere a feature aggiuntive quali per esempio backup, distribuzione geografica e supporto clienti 24 ore su 24, 7 giorni su 7.

Una volta completato il form si deve clickare su "Crea" per completare la procedura iniziata. Al termine della distribuzione del database MySQL quest'ultimo risulterà disponibile nel relativo gruppo.

Figura 3. Database MySQL nel gruppo di risorse.
Database MySQL nel gruppo di risorse

Gestione del database MySQL in Azure

Il database precedentemente creato sarà selezionabile dal gruppo di appartenenza in modo da poter accedere agli strumenti per la sua gestione. Dopo l'apertura della schermata verranno proposte alcune informazioni a corredo del database tra le quali anche il nome dell'host attraverso cui stabilire le connessioni; nel caso del nostro esempio quest'ultimo è:

eu-cdbr-azure-west-d.cloudapp.net

Questo non è l'unico parametro necessario per la connessione, per visualizzare gli altri è possibile seguire il percorso "Nome database > Impostazioni > Proprietà" in modo da visualizzare anche le informazioni relative a nome utente e password che consentono di autenticarsi su MySQL tramite un client per l'amministrazione del database, Web application o altra App. L'interfaccia permette anche di copiare una stringa di connessione già pronta da incollare nel codice dei propri progetti.

Figura 4. Proprietà del database MySQL.
Proprietà del database MySQL

Microsoft offre l'applicazione ClearDB come interfaccia visuale online per la gestione del database, attraverso di essa si possono curare diversi aspetti legati alla DBA, come per esempio effettuare il download dei certificati SSL per la cifratura dei dati, monitorare il livello delle prestazioni, eseguire backup criptati dei dati, visualizzare le copie di sicurezza disponibili e accedere ad informazioni sui cluster così come creare, aggiornare e cancellare database.

Figura 5. Gestione database con ClearDB.
Gestione database con ClearDB

Interazione tra database e applicazioni in Azure

Per proporre un esempio pratico riguardante l'utilizzo di un database MySQL creato con Microsoft Azure è possibile realizzare una piccola applicazione Internet destinata ad interagire con esso. Si crei quindi una nuova Web Application tramite la sezione "Servizi App" del portale di gestione seguendo la procedura descritta nella lezione dedicata a "Sviluppare Web App in Azure".

Nel caso specifico verrà implementato un progetto basato sull'applicazione denominata "PhpMyApp" e basata sul linguaggio di sviluppo PHP.

Figura 6. Applicazione "PhpMyApp".
Applicazione

Seguendo il percorso "Nome applicazione > Strumenti > Visual Studio Online" si accederà all'IDE in modo da poter operare direttamente sulla root del progetto che, nel caso del nostro esempio è:

https://phpmyapp.scm.azurewebsites.net/dev/wwwroot/

Si creai quindi un nuovo file, lo chiameremo "index.php", dall'interfaccia di Visual Studio online; fatto questo il passaggio successivo prevede di realizzare un semplice script per la connessione al database utilizzando l'estensione PDO. Per comodità del lettore il codice utilizzato viene presentato di seguito.

‹?php
/*
  parametri di connessione al database
*/
// nome di host di MySQL
$hostname = "eu-cdbr-azure-west-d.cloudapp.net";
// nome del database
$database = "mysqlHtmlit";
// utente per la connessione
$username = "bxxx7";
// password per la connessione
$password = "2xxx3";
/*
  connessione al database
*/
try {
  // connessione al DBMS on PDO
  $connection = new PDO("mysql:host=$hostname;dbname=$database", $username, $password);
  // eventuale report degli errori
  $connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  echo "
Connessione stabilita
";
  // chiusura della connessione
  $connection = null;
}
catch(PDOException $e)
{
  // eventuale messaggio in caso di errore nella connessione
  echo $e->getMessage();
}
?>

L'IDE salva automaticamente il file e il contenuto modificato permettendoci di passare alle fase di esecuzione.

Figura 7. Creazione del file per la connessione al database.
Applicazione

Per eseguire lo script è sufficiente clickare sul pulsante "Run" posto sulla sidebar di Visual Studio online; in assenza di segnalazioni di errori la connessione tra script e Web application potrà dirsi effettuata con successo.

Prova gratuitamente Azure

Ti consigliamo anche