Comment fonctionne Postgres serverless, quel est son coût et quand l'architecture lakebase est la solution la plus adaptée
PostgreSQL (Postgres) serverless est un modèle de base de données cloud entièrement géré qui découple le calcul et le stockage. Cela permet à chacun de s'adapter indépendamment et automatiquement en fonction de la demande. Au lieu de gérer directement les serveurs de bases de données, les applications interagissent avec des systèmes qui provisionnent automatiquement les ressources de calcul en réponse à la charge de travail et les réduisent lorsqu'elles sont inactives.
Dans les environnements Postgres traditionnels, en revanche, les équipes doivent dimensionner l'infrastructure à l'avance, estimer les besoins en capacité et gérer la mise à l'échelle au fil du temps. Cela entraîne souvent un surprovisionnement, un gaspillage des coûts liés aux ressources inactives et des goulots d'étranglement des performances lorsque la demande dépasse la capacité disponible.
Le Serverless Postgres élimine une grande partie de cette surcharge en :
Le terme « serverless » peut être trompeur, car il ne signifie pas que les applications fonctionnent sans serveurs ni infrastructure. Les systèmes sous-jacents existent toujours, mais ils sont masqués par une couche d'abstraction et entièrement gérés par le fournisseur cloud. Les tâches telles que la configuration, la mise à l'échelle et la maintenance des serveurs sont en grande partie invisibles pour les utilisateurs et n'ont pas besoin d'être configurées ou gérées directement.
Les architectures PostgreSQL ont évolué au fil du temps, passant de modèles d'infrastructure provisionnés à des conceptions cloud-natives plus dynamiques.
Les déploiements Postgres traditionnels exécutent des ressources de calcul fixes en continu, quelle que soit la charge de travail. La mise à l'échelle nécessite une intervention manuelle ou des seuils préconfigurés, ce qui engendre des coûts permanents même lorsqu'une base de données est inactive.
Le Serverless Postgres a introduit un modèle différent. Les ressources de calcul sont provisionnées à la demande, s'adaptant automatiquement à l'activité de la charge de travail et se réduisant à zéro lorsqu'elles ne sont pas utilisées. La facturation est basée sur la consommation réelle plutôt que sur la capacité réservée.
Serverless Postgres peut également être utilisé aux côtés de plateformes de calcul serverless telles que Databricks SQL, permettant aux requêtes analytiques de s'exécuter indépendamment tout en accédant aux mêmes données sous-jacentes au sein d'une architecture lakehouse unifiée.
Cette transition est possible grâce à des changements architecturaux tels que le découplage des couches de stockage et l'orchestration du calcul à la demande, qui permettent aux ressources de s'adapter indépendamment et de répondre de manière dynamique à l'activité de la charge de travail.
Les principales différences sont les suivantes :
| Fonctionnalité | Postgres traditionnel | Serverless Postgres |
|---|---|---|
| Provisionnement | Configuration manuelle de l'infrastructure | Entièrement géré par le fournisseur |
| Mise à l'échelle | Manuelle ou préconfigurée | Automatique et à la demande |
| Modèle de coût | Capacité fixe ou réservée | Facturation basée sur l'utilisation |
| Comportement du calcul | Toujours actif | Démarre à chaque requête, se réduit à zéro |
| Surcharge opérationnelle | Élevée (maintenance, optimisation) | Réduite (service géré) |
À mesure que les architectures de bases de données évoluent, un troisième modèle émerge, qui s'appuie sur le serverless Postgres tout en répondant à ses limites. Cette approche est parfois appelée architecture lakebase.
Le Serverless Postgres améliore l'évolutivité et réduit la surcharge opérationnelle, mais il reste généralement séparé des systèmes analytiques. Cette séparation nécessite souvent le déplacement, la duplication ou la synchronisation des données entre les bases de données opérationnelles et les plateformes analytiques.
Les architectures lakebase changent notre façon de concevoir le stockage et le traitement des données. Elles combinent la puissance des bases de données transactionnelles avec la flexibilité d'une fondation lakehouse, créant ainsi une plateforme unique où les charges de travail opérationnelles et analytiques peuvent s'exécuter ensemble. Cela signifie qu'au lieu d'avoir des systèmes distincts pour différentes tâches, tout peut être fait sur une seule plateforme de données partagée. Le résultat est une réduction de la duplication des données et un moyen beaucoup plus simple d'accéder aux données et de les utiliser. En rassemblant tout, les architectures lakebase facilitent la gestion et l'analyse des données, ce qui peut conduire à une meilleure prise de décision et à des opérations plus efficaces.
Les architectures lakebase s'appuient sur les modèles de serverless Postgres tout en introduisant une intégration plus étroite avec le stockage cloud et les plateformes de données.
Les composants clés comprennent :
En combinant des capacités transactionnelles et analytiques sur une fondation partagée, les architectures lakebase peuvent :
Cette transition reflète un passage de l'optimisation de systèmes individuels à leur unification au sein d'une architecture de données unique.
Le Serverless Postgres repose sur une architecture cloud-native qui sépare le calcul et le stockage en couches indépendantes. Ce principe de conception fondamental améliore l'efficacité et la flexibilité en permettant à chaque composant de s'adapter indépendamment.
Une caractéristique clé de cette architecture est le comportement de mise à l'échelle à zéro (scale-to-zero). Lorsqu'aucune requête n'est en cours d'exécution, le système suspend automatiquement les ressources de calcul. Lorsqu'une nouvelle requête est émise, le calcul est réactivé. Cela introduit un court délai appelé latence de démarrage à froid (cold start), qui peut aller de quelques millisecondes à plusieurs secondes selon le fournisseur et la configuration.
Une autre capacité importante est la création de branches de base de données (branching), souvent implémentée à l'aide de techniques de copie sur écriture (copy-on-write). La création de branches permet aux équipes de créer des environnements de base de données isolés pour le développement, les tests ou la préproduction sans dupliquer les données. Les modifications apportées dans une branche n'affectent pas la base de données d'origine, ce qui permet une itération plus rapide et une expérimentation plus sûre.
Les offres de serverless Postgres reflètent différentes étapes de l'évolution des bases de données provisionnées vers des architectures entièrement cloud-natives. Les premiers services gérés ont introduit la mise à l'échelle automatique au sein des architectures de bases de données existantes. Les conceptions cloud-natives plus récentes sont conçues pour prendre en charge les agents d'AI, les applications en temps réel et les charges de travail opérationnelles modernes. Ces systèmes découplent entièrement le calcul et le stockage et introduisent des capacités difficiles à obtenir avec les modèles antérieurs, telles que la mise à l'échelle rapide, la création de branches et une gestion plus flexible des ressources. Neon et Databricks Lakebase reposent sur cette fondation, conçue pour répondre aux exigences des applications axées sur l'AI et des systèmes basés sur des agents.
Pour les charges de travail d'analyse et de traitement de données, le calcul serverless est également disponible sur des plateformes telles que Databricks SQL. Bien qu'il ne s'agisse pas d'une base de données transactionnelle (OLTP), ces systèmes fournissent une exécution de requêtes serverless pour l'analyse et peuvent fonctionner aux côtés de systèmes basés sur Postgres.
Postgres est un système de gestion de base de données relationnelle open source largement utilisé. Les offres Postgres serverless sont construites sur cette base et conservent une compatibilité totale avec l'écosystème Postgres plus large, qui comprend des extensions, des outils en ligne de commande tels que psql, des ORM courants et plus encore.
Les implémentations diffèrent selon la part du système sous-jacent qui est ouverte ou propriétaire. Certains fournisseurs, comme Neon, s'appuient sur une infrastructure open source et exposent davantage leur architecture à la communauté. D'autres, comme Amazon Aurora Serverless, sont des services gérés propriétaires qui masquent une grande partie de l'implémentation sous-jacente.
Quelle que soit l'approche, la plupart des solutions Postgres serverless visent à maintenir une compatibilité totale avec Postgres tout en ajoutant des fonctionnalités cloud-native telles que la mise à l'échelle automatique, le branchement de base de données et les opérations gérées.
Ces différences peuvent influencer le niveau de visibilité et de contrôle dont disposent les équipes sur les performances et les coûts. Les systèmes basés sur l'open source peuvent offrir une plus grande transparence et flexibilité, tandis que les services gérés propriétaires privilégient souvent la facilité d'utilisation et la simplicité opérationnelle.
Lors de l'évaluation de Postgres serverless pour des charges de travail de production, il est important de comprendre comment les modèles de tarification et les caractéristiques de performance influencent le coût, la latence et le comportement global du système.
La plupart des fournisseurs de Postgres serverless facturent selon trois dimensions principales :
Le calcul étant provisionné à la demande, les coûts s'adaptent à l'activité des charges de travail. Cela rend la tarification serverless particulièrement adaptée aux applications ayant un trafic variable ou imprévisible.
De nombreux fournisseurs proposent des offres gratuites utiles pour le développement, les tests et les charges de travail à petite échelle. Ces offres incluent généralement des limites sur l'utilisation du calcul, le stockage ou le temps d'exécution actif, ce qui les rend moins adaptées aux charges de travail de production ou aux applications à trafic soutenu.
Bien que la tarification serverless puisse être avantageuse pour les charges de travail variables, elle n'est pas toujours l'option la moins coûteuse. Dans le cas de charges de travail à fort trafic et continues, ou de requêtes à exécution longue, les coûts totaux peuvent dépasser ceux d'une instance de base de données provisionnée à capacité fixe.
L'une des principales considérations de performance avec Postgres serverless est la latence du démarrage à froid. Lorsqu'une base de données a été réduite à zéro, le calcul doit être réactivé avant que les requêtes puissent s'exécuter. Cela introduit un délai qui peut aller d'environ 100 millisecondes à plusieurs secondes selon le fournisseur et la configuration.
Plusieurs options d'atténuation peuvent réduire l'impact des démarrages à froid :
Les systèmes serverless s'appuient également sur la mise à l'échelle automatique pour gérer l'évolution des charges de travail. Les ressources de calcul peuvent augmenter en réponse à un volume de requêtes accru et, dans certains cas, mettre à l'échelle les réplicas de lecture de manière indépendante pour prendre en charge les accès simultanés. Cette élasticité est particulièrement utile pour les applications sujettes à des pics de trafic imprévisibles.
Pour les charges de travail de production, la disponibilité et la tolérance aux pannes sont des considérations critiques. La plupart des fournisseurs de Postgres serverless gérés répliquent les données sur plusieurs zones de disponibilité et proposent des fonctionnalités intégrées de sauvegarde et de restauration. Cependant, les garanties de niveau de service et le comportement de restauration varient selon le fournisseur, il est donc important d'examiner et de vérifier la couverture SLA avant toute utilisation en production.
Des fonctionnalités telles que le comportement de démarrage à froid et la mise à l'échelle automatique rendent Postgres serverless bien adapté aux charges de travail à trafic variable, mais peuvent introduire des compromis pour les applications sensibles à la latence ou fonctionnant en continu.
Postgres serverless et l'architecture lakebase répondent à des besoins de charge de travail différents. Comprendre quel modèle correspond à votre cas d'usage peut aider à éviter une complexité et des coûts inutiles.
Les directives suivantes peuvent vous aider à déterminer si Postgres serverless ou l'architecture lakebase est la solution la mieux adaptée à votre charge de travail.
Idéal pour Postgres serverless
Mieux adapté à l'architecture lakebase :
Pour les charges de travail qui nécessitent des performances plus constantes ou une disponibilité continue, l'architecture lakebase répond à ces besoins en repensant la coordination du calcul et du stockage sur une plateforme de données partagée.
Démarrer avec Postgres serverless implique généralement un processus de configuration simple :
Bien que la configuration soit relativement simple, les premiers choix peuvent avoir un impact profond sur les performances globales et la durabilité. Les considérations liées au premier déploiement doivent inclure :
Postgres serverless peut être utilisé aux côtés de plateformes de calcul serverless telles que Databricks SQL pour l'analyse et l'ingénierie des données. Cette séparation permet aux requêtes analytiques de s'exécuter indépendamment du traitement transactionnel tout en fonctionnant sur les mêmes données sous-jacentes.
Pour les équipes qui gèrent des données opérationnelles aux côtés des analyses, les architectures émergentes telles que Databricks Lakebase étendent cette approche en unifiant les charges de travail transactionnelles et analytiques sur une plateforme de données partagée. Cela réduit les mouvements de données et simplifie l'accès aux données entre les systèmes.
Postgres serverless simplifie les opérations de base de données en éliminant une grande partie de la gestion de l'infrastructure et en alignant plus étroitement les coûts sur l'utilisation réelle. Le calcul et le stockage étant découplés, les ressources s'adaptent à la demande. Pour les équipes ayant des charges de travail plus exigeantes, l'architecture lakebase va encore plus loin sur cette base.
Ces compromis doivent être évalués avec soin. La prévisibilité des performances, le coût à grande échelle et des facteurs tels que la latence du démarrage à froid et la gestion des connexions varient selon la charge de travail.
Le choix du fournisseur est crucial. Les différences en matière de comportement de démarrage à froid, de modèles de tarification, de granularité de la mise à l'échelle et d'adéquation à l'écosystème peuvent avoir un impact significatif sur les résultats. Pour les charges de travail d'analyse et d'ingénierie de données, des plateformes telles que Databricks SQL offrent une exécution de requêtes serverless. Les équipes peuvent également découvrir comment ce modèle s'étend aux charges de travail opérationnelles grâce à la visite guidée du produit Databricks Lakebase.
Alors que les architectures de bases de données continuent d'évoluer, l'architecture lakebase unifie les charges de travail opérationnelles et analytiques sur un socle de données partagé.
(Cet article de blog a été traduit à l'aide d'outils basés sur l'intelligence artificielle) Article original
Abonnez-vous à notre blog et recevez les derniers articles directement dans votre boîte mail.