Introduction
Microsoft a récemment open sourcé pg_durable, une extension PostgreSQL qui permet l'exécution durable de fonctions SQL. Cette technologie vise à simplifier la gestion des tâches de fond pour les équipes qui utilisent déjà PostgreSQL pour stocker leur état. Grâce à pg_durable, les développeurs peuvent définir des flux de travail en SQL et laisser l'extension gérer l'exécution durable de chaque étape, même en cas de panne ou de redémarrage.
Contexte Technique
pg_durable est conçu pour fonctionner sans infrastructure supplémentaire, ce qui signifie qu'il n'a pas besoin de services externes comme Redis ou Temporal. L'extension utilise des opérateurs composites tels que ~> et |=> pour définir les flux de travail en SQL. Les développeurs peuvent ainsi créer des fonctions durables qui survivent aux crashes, aux redémarrages et aux défaillances.
Les principaux avantages de pg_durable incluent la définition de flux de travail en SQL, l'exécution durable avec points de contrôle, et la visibilité opérationnelle grâce aux tables PostgreSQL. L'extension prend en charge les pipelines de données, les tâches planifiées, les agrégations parallèles et les appels d'API externes.
Analyse et Implications
pg_durable a le potentiel de révolutionner la façon dont les équipes gèrent les tâches de fond en leur offrant une solution plus simple, plus fiable et plus évolutive. En éliminant la nécessité de services externes et en réduisant la complexité des flux de travail, pg_durable peut améliorer la productivité des développeurs et réduire les coûts liés à la gestion des infrastructures.
Cependant, il est important de noter que pg_durable n'est pas adapté à toutes les situations. Les cas d'utilisation qui nécessitent une logique d'application arbitraire, des appels d'API non-HTTP ou des flux de contrôle complexes peuvent nécessiter des solutions alternatives.
Perspective
À l'avenir, il sera intéressant de suivre l'évolution de pg_durable et son adoption par la communauté des développeurs. Les prochaines étapes pourraient inclure l'amélioration de la documentation, l'ajout de fonctionnalités et l'intégration avec d'autres outils et technologies. Les développeurs qui s'intéressent à l'exécution durable de fonctions SQL devraient surveiller de près les mises à jour et les annonces liées à pg_durable.