SQL Azure : Première application

Maintenant que notre base de donnée est crée sur SQL Azure, il est temps de créer une table, d’ajouter quelques données et enfin de créer une application simple, voire très simple afin de consommer ces données.

Mon précédent billet se terminait avec SSMS connecté sur cette base Azure. Reprenons à partir de là.

image

J’aurais pu créer une table, de la manière la plus simple. Mais je profite de cette occasion pour vous montrer que, dans SSMS, il est possible de créer des scripts SQL sur un ou plusieurs objets (ici production.product) en choisissant comme plateforme cible SQL Azure. J’ai, par ailleurs, choisi de scripter aussi les données de cette table, afin d’obtenir directement un jeu de données pour la future application.

imageimageimageimageimageimageimageimage

Dans le but de simplifier ce petit tutorial, j’ai choisi de ne pas reporter les types utilisateurs, ni le schéma. ce qui n’aurait pas posé de problème particuliers.

OK, commençons par créer la table et insérons les enregistrements. Pour gagner un peu de temps, les index seront crées a postériori.

imageimage

9 secondes pour 500 enregistrements … Je pense qu’il est possible de faire bien mieux Sourire . Ce n’est pas l’objet de cet article, j’ay revendrais plus tard. Mais déjà, au lieu de lancer 500 ordres insert, un seul ordre insert avec les 500 lignes est déjà bien plus performant !!! Et c’est autorisé depuis SQL Server 2008.

La création des index est une simple formalité.

image

Et on peut vérifier que les données sont bien présentes. Notez, qu’il est possible d’obtenir le plan d’exécution des requêtes. Toujours intéressant car n’oubliez pas que le seul moyen dont vous bénéficiez pour obtenir de bonnes performance est de ne faire confiance qu’a vous même car sur Azure, vous partagez les ressources matérielles avec d’autres utilisateurs, d’autres bases et vous n’avez aucun moyen de faire du scale up…

imageimage

OK, passons a présent à une application d’interrogation basique.

imageimageimageimageimageimage

Désolé pour les adeptes de C#, cet exemple est en VB, mais vu la complexité du code que j’ai utilisé, nulle doute que la conversion dans n’importe quel langage ne posera pas de problème.

Vous remarquerez certainement, que rien ne diffère dans ce bout de code de ce que vous êtes habitué à écrire pour vos applications OnPremise. Tout est dans la chaine de connexion. Le reste du code que j’ai écrit n’a aucune valeur spécifique, la majorité d’entre vous doit faire bien mieux que moi.

Une remarque cependant. Gardez toujours à l’esprit que votre base peut “changer” de serveur n’importe quand, sans que vous en soyez prévenus. Il convient donc dans votre code de gérer au mieux les problèmes de connexion. Ne surtout pas chercher à garder la connexion TCP ouverte. Ici, je n’ai pas mis en place d’algorithme intelligent au niveau de la connexion. Des MVPs impliqués sur Azure (@hroggero) vous conseilleraient à juste titre de mettre en place un certain nombre de tentatives de connexion, chacune d’elles espacées de quelques secondes, voire quelque chose de plus sophistiqué encore. Partez du principe que vous fonctionnez en mode déconnecté, ce qui implique de gérer du cache, de penser aux pertes de connexion / reconnexions.

Les prochains articles seront davantage orientés synchronisation de données entre un serveur SQL OnPremise et SQL Azure. Je vous prépare aussi quelques lignes sur la performance, l’optimisation et les limites …

A propos Christophe

Consultant SQL Server Formateur certifié Microsoft MVP SQL Server MCM SQL Server 2008
Cet article, publié dans SQL Azure, est tagué , . Ajoutez ce permalien à vos favoris.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s