Fonctionnalités de performance
Commençons par examiner certaines des fonctionnalités de performance d’Azure SQL par rapport à SQL Server.
Azure SQL Database et Azure SQL Managed Instance étant basés sur le moteur de base de données SQL Server, la plupart des fonctionnalités fournies avec SQL Server sont également disponibles dans Azure SQL. Quand vous déployez et configurez Azure SQL, vous devez tenir compte de certaines fonctionnalités qui ont un impact sur les performances de vos bases de données. Il s’agit notamment des capacités maximales, des index, de l’OLTP en mémoire, des partitions, des améliorations de SQL Server et des performances intelligentes.
Capacité de mémoire, de processeur et d’e/s
Le choix du niveau de déploiement et de service approprié pour Azure SQL Database ou SQL Managed Instance peut être important pour les performances. Dans le deuxième module, vous avez examiné les différentes options de déploiement pour Azure SQL. Tenez compte des capacités maximales importantes dans le cadre de votre déploiement :
- Azure SQL Database peut prendre en charge 128 vCores, 4 To de mémoire et des bases de données de 4 To.
- L’option de déploiement Hyperscale prend en charge des bases de données pouvant atteindre une taille de 100 To.
- Azure SQL Managed Instance peut prendre en charge 80 vCores, 400 Go de mémoire et des bases de données de 8 To.
- Le nombre de vCores et le niveau de service affectent également les capacités d’autres ressources, comme le taux maximal de journalisation des transactions, le nombre d’E/S par seconde (IOPS), la latence des E/S et la mémoire.
- Les objets de tâche Windows sont utilisés pour prendre en charge certaines limites de ressources, comme la mémoire. Utilisez sys.dm_os_job_object pour trouver de vraies capacités pour votre déploiement.
Index
Les index sont souvent essentiels pour interroger les performances de SQL Server et d’Azure SQL. Voici les points importants à prendre en compte concernant les index et Azure SQL :
- Tous les types d’index, cluster et non-cluster, sont pris en charge dans Azure SQL.
- Les index en ligne et pouvant être repris sont entièrement pris en charge. Les index en ligne et pouvant être repris peuvent être essentiels pour une disponibilité maximale.
- Les index ColumnStore sont disponibles dans presque tous les niveaux de service. Pour toute exception, consultez la documentation.
OLTP en mémoire
Le facteur important qui caractérise le traitement transactionnel en ligne (OLTP) est une application qui lit et écrit des données avec de nombreuses transactions simultanées en temps réel. L’OLTP en mémoire est une fonctionnalité conçue pour les applications sensibles à la latence des transactions, comme celles où un grand nombre d’utilisateurs simultanés modifient des données. Voici les points importants liés à l’OLTP en mémoire et à Azure SQL :
- Les tables à mémoire optimisée sont uniquement disponibles dans les niveaux Critique pour l’entreprise.
- Le groupe de fichiers (FILEGROUP) à mémoire optimisée est créé au préalable dans Azure SQL Database et SQL Managed Instance lors de la création d’une base de données (même pour les niveaux Usage général).
- La quantité de mémoire pour les tables à mémoire optimisée est un pourcentage de la limite de mémoire dépendante de vCore.
Partitions
Avec SQL Server, vous utilisez souvent des partitions pour les tables qui ont un grand nombre de lignes afin d’améliorer les performances en subdivisant les données dans une colonne dans la table. Tenez compte des points suivants liés aux partitions avec Azure SQL :
- Les partitions sont prises en charge dans Azure SQL Database et SQL Managed Instance.
- Vous pouvez uniquement utiliser des groupes de fichiers avec des partitions dans SQL Managed Instance.
Amélioration récentes des performances de SQL Server
La plupart des fonctionnalités relatives aux performances introduites depuis SQL Server 2019, comme le traitement intelligent des requêtes (IQP), sont également disponibles dans Azure SQL Database et Azure SQL Managed Instance. Toutefois, il existe des exceptions. Par exemple, l’optimisation des métadonnées de tempdb
n’est pas encore disponible pour Azure SQL. Pour obtenir la liste définitive des fonctionnalités IQP prises en charge, passez en revue les fonctionnalités de traitement intelligent des requêtes.
Performances intelligentes
Les performances intelligentes couvrent les fonctionnalités d’Azure SQL qui incluent le traitement intelligent des requêtes, la correction automatique des plans et le réglage automatique (y compris les index). Vous en apprenez davantage sur ces fonctionnalités dans une unité ultérieure.