Amazon est une société technologique offrant des services dans le commerce électronique, le cloud computing, la publicité en ligne, la diffusion numérique en continu et l'intelligence artificielle (IA). Sa division cloud, Amazon Web Services, est un acteur majeur sur le marché du cloud computing. Amazon a la réputation de perturber les industries grâce à l'innovation technologique et au réinvestissement agressif des bénéfices dans les dépenses d'investissement.
Amazon vient d'annoncer un nouveau service appelé Aurora DSQL (distributed SQL), une base de données sans serveur et distribuée à l'échelle mondiale. Amazon qualifie Aurora DSQL de "la base de données SQL distribuée sans serveur la plus rapide pour des applications toujours disponibles". Alors qu'Aurora v2 n'a jamais eu beaucoup de succès, ce nouveau service pourrait être la nouvelle solution de base de données évolutive d'Amazon.
La nouvelle base de données a été dévoilée lors de Re:Invent 2024 à Las Vegas. Aurora DSQL promet plusieurs caractéristiques clés : elle est disponible (SLA > 99,999 %), multirégionale, compatible avec postgres et rapide. Les bases de données ont toujours été notoirement difficiles à mettre à l'échelle, et encore plus difficiles à répliquer dans le monde entier. Jusqu'à présent, Spanner de Google Cloud était l'option pour les bases de données distribuées à grande échelle.
Mais Amazon met en avant l'échelle globale qu'offre Aurora DSQL. AWS affirme que ses offres sont quatre fois plus rapides que Spanner (en lecture et en écriture) et qu'elles sont distribuées à l'échelle mondiale dans plusieurs régions. Pour s'assurer que la base de données reste cohérente d'une région à l'autre, avec des délais minimes, AWS a découplé le calcul et le stockage.
Cette technique n'est pas nouvelle et est utilisée par d'autres sociétés de bases de données comme Neon. La seule différence est que Neon n'est pas en temps réel et global, alors qu'Aurora DSQL le serait. Pour s'assurer que chaque région voit les commits dans le bon ordre, Aurora DSQL utilise Amazon Time Sync Service, un module complémentaire d'EC2 qui synchronise les horloges EC2 à l'aide de satellites d'horloges atomiques.
Présentation de l'architecture d'Aurora DSQL
Aurora DSQL est conçu pour être exécuté dans deux configurations : une configuration à région unique qui gère les défaillances de composants ou les interruptions de zones de disponibilité (AZ) sans temps d'arrêt, et une configuration à régions multiples qui gère les défaillances d'AZ multiples tout en permettant de garder le contrôle total de l'endroit où vos données sont traitées et stockées. Son architecture active-active désagrégée élimine les temps d'arrêt dus au basculement ou à la commutation, ce qui facilite la conception de la disponibilité et de la continuité de l'activité.
Aurora DSQL offre des clusters à région unique qui sont actifs-actifs sur trois AZ, minimisant le délai de réplication et les opérations traditionnelles de basculement de base de données. En cas de défaillance du matériel ou de l'infrastructure, il achemine automatiquement les requêtes vers l'infrastructure saine sans intervention manuelle.
Les transactions dans Aurora DSQL offriraient toutes les propriétés ACID (atomicité, cohérence, isolation et durabilité), même entre plusieurs régions, avec un impact minimal sur la latence. Il met en œuvre une isolation des instantanés et fournit une cohérence des données pour les lectures et les écritures sur les points d'extrémité du cluster.
Topologie d'Aurora DSQL dans un déploiement à région unique
Dans une configuration à région unique, Aurora DSQL engage toutes les transactions d'écriture dans un journal de transactions distribué et réplique de manière synchrone toutes les données du journal engagées vers des répliques de stockage utilisateur dans trois zones de stockage. Les répliques de stockage en cluster sont réparties sur une flotte de stockage pour une performance optimale de la base de données.
Aurora DSQL serait conçu pour une reprise automatisée en cas de défaillance. Lorsqu'un composant ou un AZ devient défectueux, il redirige automatiquement l'accès vers les composants sains et répare les répliques de manière asynchrone. Une fois les répliques endommagées restaurées, Aurora DSQL les réintègre automatiquement au quorum de stockage et les met à la disposition du cluster.
Les clusters multi-régions offrent la même résilience et la même connectivité que les clusters à région unique, tout en améliorant la disponibilité grâce à deux points d'extrémité régionaux, un pour chaque région de cluster liée. Les deux points d'extrémité d'un cluster lié présentent une base de données logique unique et prennent en charge les opérations de lecture et d'écriture simultanées avec une cohérence des données. Cela permet d'équilibrer les applications et les connexions en fonction des emplacements géographiques, des performances ou de la résilience, en veillant à ce que les lecteurs voient toujours les mêmes données.
Architecture d'une application utilisant un cluster Aurora DSQL multi-régions.
Lorsque vous créez un cluster multi-régions, Aurora DSQL crée un autre cluster dans une région différente et les relie entre eux. L'ajout de régions liées garantit que toutes les modifications des transactions validées sont répliquées dans les autres régions liées. Chaque cluster lié possède un point d'extrémité régional et Aurora DSQL réplique les écritures de manière synchrone entre les régions, ce qui permet des lectures et des écritures très cohérentes à partir de n'importe quel cluster lié.
Une troisième région joue le rôle de région témoin. Elle reçoit les données écrites sur les clusters liés, mais n'a pas de cluster ni de point d'extrémité associé. Elle stocke une fenêtre limitée de journaux de transactions chiffrés, qu'Aurora DSQL utilise pour assurer la durabilité et la disponibilité de plusieurs régions.
Voici l'annonce d'Aurora DSQL par Amazon :
Envoyé par Amazon
Autres caractéristiques d'Aurora DSQL
Aurora DSQL permet une mise à l'échelle virtuellement illimitée pour répondre à toute demande de charge de travail. Sa couche de traitement des requêtes, sa couche de validation et sa couche de stockage évoluent indépendamment, s'adaptant aux charges de travail de toute forme, y compris les différents ratios de lecture/écriture, les tailles de données et les complexités des requêtes. Cela signifie que les développeurs peuvent se concentrer sur le prochain grand projet plutôt que de s'inquiéter du maintien des performances de la base de données, même si la croissance de l'entreprise exige une plus grande capacité.
Les développeurs peuvent créer de nouveaux clusters avec un appel API et commencer à utiliser une base de données compatible avec PostgreSQL. Elle prend en charge de nombreux pilotes et outils PostgreSQL courants, ainsi que les fonctions relationnelles de base telles que les transactions ACID, les requêtes SQL, les index secondaires, les jointures, les insertions et les mises à jour.
Aurora DSQL améliore également la posture de sécurité grâce à des contrôles de confidentialité et de sécurité déclaratifs simples et à une intégration avec AWS Identity and Access Management (IAM) et AWS CloudTrail. Il bloque l'authentification standard basée sur le mot de passe de l'utilisateur sans sacrifier la compatibilité avec le protocole filaire de PostgreSQL. Il prend en charge l'authentification par jeton à l'aide d'IAM, avec des fonctions d'aide dans l'interface de ligne de commande AWS (AWS CLI) et le SDK AWS pour la génération de jetons.
Contrairement aux bases de données traditionnelles, Aurora DSQL utilise le contrôle optimiste de la concurrence (OCC) au lieu d'une approche de verrouillage traditionnelle. Au fur et à mesure que vous évoluez, OCC s'assure que vos transactions les plus longues ne ralentissent pas les autres transactions en cours.
Test d'Aurora DSQL
Même si Aurora DSQL est encore récent, des développeurs ont déjà pu le tester. Voici le retour de l'un d'entre eux et ses conclusions :
Envoyé par Paul Planchon
Et vous ?
Pensez-vous que ce nouveau service d'Amazon est crédible ou pertinent ?
Quel est votre avis sur le sujet ?
Voir aussi :
Amazon mise 150 milliards de dollars sur les centres de données nécessaires au boom de l'IA. Son expansion sur le marché du cloud suscite à la fois l'admiration et des préoccupations sur ses impacts
Le Cloud Spanner de Google défie AWS avec la moitié du coût de DynamoDB. Cloud Spanner serait 50 % plus rentable que DynamoDB pour la plupart des charges de travail
Neon PostgreSQL, une nouvelle approche moderne du développement bases de données, est disponible : Autogéré, extensibilité automatique, calculs et stockage séparé pour être plus évolutif