Quand devrais-je utiliser SQL Azure et quand devrais-je utiliser le stockage par tables ?

Quand devrais-je utiliser SQL Azure et quand devrais-je utiliser le stockage par tables ?

C’est une excellente question et l’une des décisions les plus difficiles et les plus difficiles à inverser que les architectes de solutions doivent prendre lors de la conception pour Azure.

Il y a de multiples dimensions à considérer :
Du côté négatif, SQL Azure est relativement coûteux par gigaoctet de stockage, ne se met pas super bien à l’échelle et est limité à 150 Go/base de données.
Cependant, et c’est très important, il n’y a pas de frais de transaction pour SQL Azure et vos développeurs savent déjà coder dessus.

ATS est un animal complètement différent. Capable d’une mise à l’échelle massive, il est très bon marché pour le stockage, mais devient coûteux pour les accès fréquents. Il nécessite également une quantité significative de puissance CPU de vos noeuds pour la manipulation. Il force essentiellement vos noeuds de calcul à devenir des mini-serveurs de base de données puisque la délégation de toute activité relationnelle leur est transférée.

Donc, à mon avis, les données fréquemment consultées qui n’ont pas besoin d’une mise à l’échelle énorme et ne sont pas de très grande taille devraient être destinées à SQL Azure, sinon Azure Table Services.

Votre exemple spécifique, les données transactionnelles provenant de transactions financières, est un cas parfait pour ATS, tandis que les méta-informations (profils de compte, noms, adresses, etc.) sont parfaites pour SQL Azure.