Vues T-SQL avec un pool SQL dédié et un pool SQL serverless dans Azure Synapse Analytics

Dans cet article, vous trouverez des conseils d’utilisation de vues T-SQL et de développement de solutions avec un pool SQL dédié et un pool SQL serverless dans Azure Synapse Analytics.

Pourquoi utiliser des vues

Des vues peuvent être utilisées de différentes façons afin d’améliorer la qualité de votre solution. Cet article met en évidence présente exemples montrant comment enrichir votre solution avec des vues, ainsi que les limites à prendre en considération.

Pool SQL – Créer une vue

Notes

La syntaxe de CREATE VIEW n’est pas abordée dans cet article. Pour plus d’informations, consultez la documentation CREATE VIEW.

Abstraction architecturale

Un modèle d’application courant consiste à opérer une recréation de tables à l’aide de la fonction CREATE TABLE AS SELECT (CTAS), suivie de l’application d’un modèle de changement de nom d’objet lors du chargement des données.

L’exemple suivant permet d’ajouter de nouveaux enregistrements de date à une dimension de date. Notez comment une nouvelle table, DimDate_New, est d’abord créée, puis renommée pour remplacer la version d’origine de la table.

CREATE TABLE dbo.DimDate_New
WITH (DISTRIBUTION = ROUND_ROBIN
, CLUSTERED INDEX (DateKey ASC)
)
AS
SELECT *
FROM   dbo.DimDate  AS prod
UNION ALL
SELECT *
FROM   dbo.DimDate_stg AS stg
;

RENAME OBJECT DimDate TO DimDate_Old;
RENAME OBJECT DimDate_New TO DimDate;

Gardez à l’esprit que cette approche peut avoir pour effet que des tables apparaissent et disparaissent pour l’utilisateur, et que des messages d’erreur « Cette table n’existe pas » s’affichent. Vous pouvez utiliser des vues pour fournir aux utilisateurs une couche de présentation cohérente pendant que les objets sous-jacents sont renommés.

L’accès aux données étant fourni via des vues, les utilisateurs n’ont pas besoin de voir les tables sous-jacentes. En plus d’une expérience utilisateur cohérente, cette couche garantit que les concepteurs d’analyse peuvent faire évoluer le modèle de données. La possibilité de faire évoluer les tables sous-jacentes signifie que les concepteurs peuvent utiliser CTAS pour optimiser les performances lors du processus de chargement de données.

Optimisation des performances

Il est également possible d’utiliser des vues pour mettre en place entre les tables des jointures aux performances optimisées. Ainsi, une vue peut inclure une clé de distribution redondante parmi ses critères de jointure, afin de réduire le nombre de déplacements de données.

L’exécution forcée d’une requête spécifique ou l’adjonction d’un conseil est un autre avantage lié à l’utilisation de vues T-SQL. Par conséquent, la fonctionnalité des vues garantit que les jointures sont toujours effectuées de manière optimale. Cela évite aux utilisateurs de devoir se souvenir de la construction correcte pour leurs jointures.

Limites

Les vues dans SQL Synapse sont stockées uniquement en tant que métadonnées. De ce fait, les options suivantes ne sont pas disponibles :

  • Il n’existe aucune option de liaison de schéma.
  • Il n’est pas possible de mettre à jour les tables de base via la vue.
  • Il n’est pas possible de créer des vues sur des tables temporaires.
  • Les conseils EXPAND/NOEXPAND ne sont pas pris en charge.
  • Il n’existe pas de vue indexée dans SQL Synapse.

Étapes suivantes

Pour obtenir des conseils supplémentaires en matière de développement, consultez Présentation du développement SQL Synapse.