>_ DevTrendsfr

Langue

Accueil

Langages

Sections

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embarqué Sécurité
Unknown

Comment cesser de réinventer la roue avec SQL Server

Imaginez que vous ayez besoin de tester rapidement une nouvelle fonctionnalité dans une base de données ou de déployer un environnement de démonstration pour un client. Habituellement, cela se transforme en quête : trouver une structure de tables, la remplir avec des données au moins quelque peu réalistes, et ne pas oublier les index. Microsoft a résolu ce problème depuis longtemps en regroupant tout ce dont vous avez besoin pour travailler avec les données en un seul endroit.

Qu'est-ce que ce dépôt

Le projet sql-server-samples est le « bac à sable » officiel de Microsoft. Il ne contient pas seulement des extraits de code, mais des exemples complets pour toute la gamme Azure Data : du SQL Server classique à Azure Synapse et SQL Edge.

La valeur principale ici réside dans les bases de données et les scénarios prêts à l'emploi. Si vous commencez tout juste à apprendre SQL ou si vous souhaitez voir comment des fonctionnalités complexes comme In-Memory OLTP fonctionnent dans des conditions réelles, ce dépôt vous fera gagner des dizaines d'heures.

À quoi sert cet ensemble

Le dépôt possède plusieurs domaines clés, chacun répondant à des tâches spécifiques des développeurs ou administrateurs de bases de données.

Bases de données prêtes à l'emploi pour toutes les tâches

Au lieu de tables vides, vous obtenez des projets remplis de données. Les plus connus sont :

  • Wide World Importers. La norme moderne pour SQL Server 2016 et versions ultérieures. Elle a tout : des transactions classiques (OLTP) aux cubes analytiques (OLAP).
  • AdventureWorks. Un classique avec lequel plusieurs générations d'administrateurs ont grandi. Disponible en différentes variantes : des versions légères aux entrepôts de données massifs.
  • Northwind. Pour ceux qui aiment visualiser la structure, les versions incluent même un diagramme d'entités de cette base de données.

Démonstration de performance

L'une des sections les plus intéressantes est la démo de performance In-Memory OLTP. C'est une démonstration prête à l'emploi qui montre clairement la différence de vitesse entre les tables classiques et les tables in-memory. Quand vous devez justifier la migration vers de nouvelles technologies auprès de la direction, de tels chiffres fonctionnent mieux que n'importe quelle présentation.

Scénarios Internet des objets

Pour ceux qui travaillent avec du matériel, il y a IoT Smart Grid. C'est un exemple de la façon dont SQL Server gère des flux massifs de données provenant de capteurs. Il démontre l'ensemble du cycle : de l'ingestion des données à l'analytique en temps réel.

Comment travailler avec ceci

Le dépôt est énorme — plus de 500 Mo. Le cloner entièrement pour un seul script n'a aucun sens. Les développeurs ont anticipé cela et proposent un checkout partiel (sparse checkout). Cela vous permet de télécharger uniquement les dossiers dont vous avez besoin.

Voici comment récupérer uniquement les fonctionnalités et les matériaux de démonstration :

git clone -n https://github.com/Microsoft/sql-server-samples
cd sql-server-samples
git config core.sparsecheckout true
echo samples/features/* >> .git/info/sparse-checkout
echo samples/demos/* >> .git/info/sparse-checkout
git checkout

Au fait, si vous ne voulez pas vous embêter avec du code et de la compilation, consultez la section Releases. Il y a des fichiers .bak et .bacpac prêts à l'emploi. Vous pouvez simplement les déployer sur votre serveur en quelques clics.

Cas d'utilisation pratiques

J'utilise souvent ces matériaux dans deux scénarios. Premièrement, pour la formation. Si vous devez expliquer à un collègue comment fonctionnent le partitionnement ou les index Columnstore, il est plus facile de démontrer sur Wide World Importers que de dessiner des diagrammes sur un coin de table.

Deuxièmement, c'est une excellente base pour les tests de charge. Au lieu de générer du bruit aléatoire, vous prenez la structure AdventureWorks et exécutez vos requêtes dessus. Cela donne des résultats beaucoup plus prévisibles et réalistes.

Le dépôt microsoft/sql-server-samples sera utile pour :

  • Les développeurs qui ont besoin de données réalistes pour déboguer des applications.
  • Les architectes étudiant les bonnes pratiques de conception de bases de données directement auprès des créateurs du moteur.
  • Quiconque souhaite essayer Azure Synapse ou SQL Edge sans perdre de temps à configurer un environnement à partir de zéro.

Ce n'est pas un projet que vous étudierez tous les jours, mais ça vaut vraiment le coup de l'ajouter aux favoris. Quand une tâche d'optimisation ou de migration se présente, vous vous remercierez de ne pas avoir écrit de générateurs de données manuellement.

Projets similaires