Utilisation de Google Cloud SQL
Google récemment annoncé Nous avons testé leur nouvelle génération de solutions MySQL hébergées sur Cloud SQL, et nous voulions créer une base de données SQL basée sur le cloud que nous pourrions ensuite utiliser comme infrastructure pour des applications mobiles, ou même pour des analyses de données avancées depuis nos ordinateurs.
Selon Google, les deux principaux objectifs de la deuxième génération de Cloud SQL étaient une meilleure performance et une capacité de montée en charge par dollar investi. Il semble qu'ils aient atteint ces objectifs : la deuxième génération de Cloud SQL est plus de sept fois plus rapide que la première. De plus, elle peut gérer jusqu'à 10 To de données, 15 000 opérations d'entrée/sortie par seconde (IOPS) et 104 Go de RAM par instance, ce qui représente une amélioration considérable par rapport à la première génération. Il semble donc qu'il s'agisse d'une base de données idéale, évolutive et basée sur le cloud, pour les applications mobiles.


Il est fortement recommandé de modifier votre mot de passe administrateur et de n'autoriser l'accès à votre instance cloud que depuis les réseaux autorisés qui hébergeront vos machines de développement ou vos serveurs de back-end pour l'application mobile que vous développez. Par exemple, dans un prochain article de blog, nous explorerons la création d'une application mobile basée sur cette base de données, et le serveur de back-end MobileTogether qui fournira toutes les fonctionnalités et le flux de travail pour notre application mobile devra pouvoir accéder à cette instance Cloud SQL.
Pour utiliser l'instance Cloud SQL depuis votre ordinateur de développement, vous devrez télécharger les outils MySQL adaptés à votre système, ce qui vous permettra d'utiliser l'outil en ligne de commande mysql. De plus, pour utiliser la base de données Cloud SQL depuis d'autres applications sur votre ordinateur, vous devrez télécharger les connecteurs MySQL correspondants. Dans cet article de blog, nous utiliserons Altova DatabaseSpy pour accéder à l'instance SQL, importer des données, puis effectuer des analyses. Par conséquent, vous devrez télécharger le connecteur MySQL/ODBC pour Windows. En résumé, DatabaseSpy est similaire à Toad, mais il vous permet de vous connecter à plusieurs instances de bases de données différentes, situées sur différents serveurs, simultanément. Ainsi, vous pouvez avoir une connexion ouverte vers Cloud SQL, une connexion vers un serveur SQL Server local, et une troisième connexion vers une base de données Oracle, le tout au sein d'un même espace de travail. C'est très pratique.
Une remarque importante : assurez-vous de télécharger le pilote Connector/ODBC approprié. Si vous utilisez la version 64 bits de DatabaseSpy, vous aurez également besoin de la version 64 bits du pilote MySQL Connector/ODBC. Ou, mieux encore, vous pouvez télécharger les versions 32 bits et 64 bits de Connector/ODBC et les installer tous les deux. Ainsi, vous pourrez utiliser Cloud SQL à partir de logiciels 32 bits et 64 bits sur votre machine.
Pour peupler notre instance Cloud SQL avec des données utiles pour l'expérimentation et l'analyse, nous avons téléchargé l'excellente base de données Lahman's Baseball Database, qui est disponible sous forme de fichier MySQL compressé. Après l'avoir téléchargé sur notre ordinateur, nous avions une description complète des tables de la base de données SQL, ainsi que toutes les données, le tout dans un seul fichier SQL, ce qui permet de le charger facilement dans notre instance Cloud SQL.
La première étape consiste à créer une nouvelle base de données dans votre instance Cloud SQL Vous pouvez le faire soit via l'utilitaire en ligne de commande mysql, soit via la console Google Cloud, ou encore via cURL. Consultez le lien au début de ce paragraphe pour plus de détails. Nous appellerons simplement cette base de données "lahman".
Maintenant, nous pouvons nous connecter à cette base de données depuis DatabaseSpy en choisissant la commande "Se connecter à une base de données" et en suivant les étapes indiquées dans l'assistant de connexion. Tout d'abord, nous sélectionnons MySQL comme technologie de base de données :

Ensuite, nous vérifions que le pilote MySQL Connector/ODBC que nous avons téléchargé précédemment est bien utilisé

Enfin, et non des moindres, nous spécifions l'adresse IP, le nom d'utilisateur et le mot de passe de notre instance Cloud SQL, puis nous cliquons sur le bouton "Tester" pour vérifier la connexion. Si cela fonctionne, nous pouvons maintenant créer une source de données en lui attribuant un nom, et également en spécifiant la base de données "lahman" que nous avons créée précédemment :

Nous sommes maintenant prêts à importer toutes les données dans les tables de notre nouvelle base de données. Pour cela, nous allons simplement ouvrir le fichier SQL de la base de données Lahman Baseball que nous avons précédemment téléchargé et décompressé, qui apparaît ainsi dans DatabaseSpy :

Comme vous pouvez le constater, le fichier SQL de cette base de données contient toutes les commandes nécessaires pour recréer toutes les tables sur notre nouvelle instance Cloud SQL. Il ne nous reste plus qu'à cliquer sur le bouton "Exécuter" et à attendre. Selon la vitesse de votre connexion Internet, cela peut prendre un certain temps, car vous allez maintenant créer 24 tables contenant des statistiques détaillées sur le baseball, de 1871 à 2014, dont certaines comportent plus de 160 000 lignes. Dans mon cas, cela a pris environ 8 minutes pour se terminer.
Vous pouvez maintenant cliquer sur "Actualiser" dans votre navigateur de base de données en ligne dans DatabaseSpy, puis explorer toutes les tables et les données qu'elles contiennent, ainsi que la structure de la base de données Lahman. Vous pouvez également utiliser cette base de données pour calculer des données historiques intéressantes, effectuer des analyses statistiques et utiliser d'autres outils couramment utilisés en sabermétrie afin de mieux comprendre la qualité des joueurs.
Par exemple, nous allons examiner le pourcentage de coups de circuit (HR) marqués par David Ortiz pour chaque présence au bâton (AB) tout au long de sa carrière, et nous représenterons cela en fonction de son âge. Vous trouverez les statistiques d'un joueur au bâton dans la table "Batting" et son nom, sa date de naissance, etc., dans la table "Master". Il est facile de joindre les deux tables en SQL et de sélectionner les données pour David Ortiz, puis nous pouvons calculer sa trajectoire de coups de circuit sur l'ensemble de sa carrière simplement en utilisant le ratio HR/AB, et représenter ce résultat en fonction de son âge pour une année donnée :
SELECT yearID-birthYear AS Age, HR/AB AS CareerHRTrajectory FROM Batting, `Master`
WHERE Batting.playerID = `Master`.playerID AND nameLast='Ortiz' AND nameFirst='David'
ORDER BY Age ASC
Une fois que vous cliquez sur "Exécuter", cette requête est envoyée à l'instance Cloud SQL et les données résultantes sont renvoyées presque instantanément sous forme de tableau. Vous pouvez ensuite cliquer sur le bouton "Graphique" dans la vue du tableau de résultats pour visualiser les données et représenter graphiquement l'évolution de la performance RH en fonction de l'âge :

Comme vous pouvez le constater, il est très facile de se connecter aux nouvelles instances Google Cloud SQL et de les utiliser depuis Altova DatabaseSpy, ou, plus généralement, depuis tous les autres outils de développement Altova, notamment XMLSpy, MapForce, MobileTogether, StyleVision et UModel. De plus, vous pouvez facilement utiliser les instances Cloud SQL depuis le serveur MapForce pour des projets d'intégration et de conversion de données.
Dans un prochain article de blog, nous nous connecterons à cette instance Cloud SQL à partir d'une application mobile et nous explorerons la facilité avec laquelle il est possible de créer une interface utilisateur mobile pratique, en utilisant la base de données de baseball Lahman.