Serveur d'impression

Un résumé de ses meilleures fonctionnalités – Redmondmag.com – Serveur d’impression

Par Titanfall , le 8 janvier 2020 - 8 minutes de lecture

Joey sur SQL Server

SQL Server 2019 est arrivé: un résumé de ses meilleures fonctionnalités

Des clusters Big Data à une récupération de base de données plus rapide, voici les plus grands changements apportés par Microsoft à son nouveau serveur de base de données phare.

Microsoft a annoncé la disponibilité générale de SQL Server 2019 et SQL Server Big Data Clusters lors de sa conférence Ignite lundi. SQL Server 2019 s'appuie sur des fonctionnalités de traitement de requêtes intelligentes qui ont été implémentées dans SQL Server 2017 et les étend à de nouvelles zones du moteur de base de données.

Prenons une plongée plus profonde dans certaines des nouvelles fonctionnalités clés.

Clusters Big Data et PolyBase
J'ai beaucoup écrit sur les clusters Big Data et je pense qu'il y a beaucoup de technologies très intéressantes dans la plateforme. La plateforme exécute SQL Server sur Kubernetes et connecte directement SQL Server à Apache Spark pour un apprentissage automatique en mémoire et des fonctions analytiques avancées. Bien qu'il s'agisse d'un développement énorme, ce sera un très grand changement de paradigme pour de nombreuses organisations à adopter, donc j'ai l'impression que l'adoption sera plus lente.

Le composant le plus intéressant de cet ensemble de fonctionnalités est une amélioration majeure de PolyBase qui vous permet de connecter SQL Server à Oracle, MongoDB et Teradata en mode natif et offre une connectivité ODBC à d'autres sources de données (par exemple, des listes SharePoint). Cela signifie que vous pouvez écrire des requêtes T-SQL pour renvoyer des données à partir de tables dans Oracle et avoir une requête optimisée. Microsoft appelle cela la «virtualisation des données». Il peut vous aider en réduisant les efforts liés à vos processus d'extraction, de transformation et de chargement (ETL).

PolyBase a également été ajouté à SQL Server Standard Edition, ce qui signifie qu'il est disponible pour davantage de clients.

Traitement intelligent des requêtes
SQL Server 2016 a introduit une merveilleuse fonctionnalité appelée Query Store – ou, comme j'aime l'appeler, l'enregistreur de données de vol pour SQL Server. Cette fonctionnalité vous permet d'avoir des informations d'exécution et des plans d'exécution pour toutes vos requêtes, permettant à un administrateur de base de données d'isoler très rapidement la cause première d'un problème de performances.

SQL Server et Azure SQL Database ont développé l'intelligence de cette fonctionnalité en ajoutant un réglage automatique des requêtes pour les plans d'exécution qui régressent en performances. SQL Server 2019 va plus loin en modifiant la quantité de mémoire allouée aux requêtes de tri et de comparaison, ce qui peut entraîner des problèmes de débit et de performances.

SQL Server 2019 introduit également la fonction scalaire en ligne et la compilation différée pour les variables de table. Les deux fonctionnalités étaient des anti-modèles de performances dans les versions antérieures de SQL Server, car elles entraînaient des estimations de lignes incorrectes dans le traitement des requêtes. Lors de mes tests, j'ai vu jusqu'à 10 fois des améliorations de performances pour les requêtes utilisant des fonctions scalaires dans SQL Server 2019. Il existe un certain nombre d'autres fonctionnalités dans cet espace, que nous aborderons plus en détail dans une prochaine colonne.

Surveillance plus intelligente
La fonctionnalité Query Store était un avantage majeur, mais sur certains systèmes, elle a provoqué des problèmes de contention de ressources. Cela a été particulièrement impactant pour les clients qui exécutaient exclusivement du SQL dynamique (où chaque requête émise contre la base de données est une valeur de hachage unique). SQL Server 2019 introduit une option de capture personnalisée qui vous permet d'affiner la collecte de données pour éviter ce problème.

De plus, un certain nombre d'améliorations ont été apportées à la collecte des plans d'exécution. Ceux-ci vous permettent de capturer des plans d'exécution réels, ce qui vous permet d'examiner le nombre de lignes utilisé par une requête et de les comparer aux estimations utilisées par l'optimiseur de requête. À son tour, cela peut vous aider à isoler rapidement un problème de performances. Vous pouvez toujours le faire avant d'utiliser le profileur ou la fonctionnalité d'événements étendus, mais les frais généraux liés à l'exécution de ces captures étaient extrêmement élevés.

Performance d'insertion optimisée
SQL Server a longtemps souffert d'un goulot d'étranglement lors de la tentative d'insertion d'enregistrements séquentiels dans une table à un volume très élevé. Cela est dû à des conflits de mémoire, car un seul thread de travail peut accéder à une page de données à un moment donné. La fonctionnalité OLTP en mémoire a été conçue pour résoudre ce problème, mais elle n'est pas compatible à 100% avec tous les types de données et ne peut donc pas être utilisée partout.

SQL Server 2019 introduit une fonctionnalité facultative appelée "Optimiser_pour_la_séquence_périentielle" qui réduit l'effet de ces goulots d'étranglement. Microsoft cite jusqu'à 40% de gains de performances avec cette fonctionnalité, et je peux ajouter que j'ai personnellement vu ces gains avec un client lors du développement de la fonctionnalité. Cette fonctionnalité peut être ajoutée au niveau de la table et ne doit être utilisée que pour les charges de travail qui en bénéficieront.

Une autre amélioration des performances vient de l'espace de travail temporaire de SQL Server, TempDB. Tirant parti de la fonction OLTP en mémoire, qui élimine un goulot d'étranglement au niveau de la couche de verrouillage des données, les métadonnées TempDB optimisées en mémoire permettent un débit plus global vers la TempDB occupée.

Récupération de base de données plus rapide
Quiconque a déjà été administrateur de base de données a ressenti la douleur de la restauration à 100%, puis à rester assis longtemps après, à attendre et à attendre que le processus se termine réellement. Cela est dû à un processus appelé récupération après incident, dans lequel les transactions qui se trouvaient dans le journal des transactions de la base de données mais pas dans la sauvegarde de la base de données doivent être lues dans la base de données.

La récupération de base de données accélérée modifie ce processus en implémentant un magasin de versions pour permettre la lecture des transactions beaucoup plus rapidement après une restauration ou un redémarrage du serveur. Il y a un léger surcoût en termes de performances (1 à 2% dans les tests clients), mais les effets peuvent être dramatiques. Un retour d'échantillon qui a pris 90 secondes est descendu à 1 seconde.

Le reste des fonctionnalités
Il existe de nombreuses fonctionnalités intéressantes dans cette version, y compris la création d'index pouvant être repris, ce qui signifie que vous pouvez créer un index dans les fenêtres de maintenance ou reprendre la construction après une panne de serveur. La fonctionnalité Always Encrypted a également reçu une grande amélioration appelée enclaves sécurisées, qui permet au moteur de base de données de fonctionner sur des données chiffrées dans T-SQL sans que les données soient visibles pour un utilisateur ou un administrateur.

Vous remarquerez que je n'ai pas mentionné Azure dans cette colonne. Bien que bon nombre de ces fonctionnalités soient activées dans Azure SQL Database depuis des mois, Microsoft est toujours déterminé à créer SQL Server sur site, car il s'agit d'un gros produit pour l'entreprise.

Enfin, Microsoft a également annoncé une mise à jour pour SQL Server 2019, donc si votre organisation attend généralement le premier correctif d'un produit nouvellement publié, vous pouvez l'installer aujourd'hui.

A propos de l'auteur

Joseph D'Antoni est architecte et MVP SQL Server avec plus d'une décennie d'expérience de travail à la fois dans le Fortune 500 et les petites entreprises. Il est actuellement consultant principal pour Denny Cherry and Associates Consulting. Il est titulaire d'un BS en systèmes d'information informatique de la Louisiana Tech University et d'un MBA de la North Carolina State University. Joey est coprésident du Philadelphia SQL Server Users Group. Il intervient fréquemment lors des événements PASS Summit, TechEd, Code Camps et SQLSaturday.

Click to rate this post!
[Total: 0 Average: 0]

Commentaires

Laisser un commentaire

Votre commentaire sera révisé par les administrateurs si besoin.