IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Amazon vient d'annoncer un nouveau service appelé Aurora DSQL, une base de données sans serveur et distribuée à l'échelle mondiale
Qui serait "la plus rapide pour des applications toujours disponible"

Le , par Jade Emy

7PARTAGES

9  0 
Lors de l'évènement Re:Invent 2024 à Las Vegas, Amazon a dévoilé un nouveau service appelé Aurora DSQL (distributed SQL). Aurora DSQL serait "la base de données SQL distribuée sans serveur la plus rapide pour des applications toujours disponibles". Amazon met en avant l'échelle globale qu'offre Aurora DSQL. Comme le service est encore récent, les tests ne confirment pas encore toutes les qualités vantées par Amazon.

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 :

Citation Envoyé par Amazon
Les bases de données relationnelles constituent un bloc de construction puissant et flexible pour un large éventail d'applications et de services - des microservices et des sites web, aux backends mobiles et aux applications SaaS. Il y a dix ans, nous avons lancé Amazon Aurora, qui offre des performances et une disponibilité inégalées avec une compatibilité totale avec MySQL et PostgreSQL, à un dixième du coût des bases de données commerciales. Nos clients nous ont demandé une base de données relationnelle plus facile à gérer, qui évolue en fonction de leur charge de travail et qui facilite la création d'architectures multirégions et multizones hautement disponibles.

Aujourd'hui, nous présentons Amazon Aurora DSQL, la base de données SQL distribuée sans serveur la plus rapide pour des applications toujours disponibles. Elle offre une échelle virtuellement illimitée, une disponibilité maximale et une gestion d'infrastructure nulle. Elle peut évoluer pour répondre à n'importe quelle demande de charge de travail sans partage de base de données ni mise à niveau d'instance. Avec son architecture distribuée active-active innovante, Aurora DSQL est conçue pour une disponibilité de 99,99 % dans une configuration à une seule région et de 99,999 % dans une configuration à plusieurs régions, ce qui la rend idéale pour la création d'applications hautement disponibles. Sa conception sans serveur élimine le fardeau opérationnel des correctifs, des mises à niveau, des temps d'arrêt liés à la maintenance, etc. Aurora DSQL offre également une expérience simple, à commencer par la création rapide d'une base de données en quelques étapes. Aurora DSQL est compatible avec PostgreSQL, ce qui permet aux développeurs de créer et de déployer rapidement des applications en utilisant des concepts de bases de données relationnelles bien connus, ainsi que les pilotes, les outils et les cadres qu'ils connaissent déjà.

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 :

Citation Envoyé par Paul Planchon
Pour être honnête, cette base de données semble très prometteuse. Mais pour atteindre ce type de métrique, il faut faire des concessions. AWS n'est pas au-dessus des lois de la physique...

Vitesses et échelle globale

Au moment d'écrire cet article, je n'ai pas encore trouvé de preuve des métriques de lecture/écriture qu'AWS revendique. De plus, le service n'est disponible que dans 2 régions des Etats-Unis pour le moment, donc je ne pense pas qu'il serait juste de tester ces caractéristiques aujourd'hui.

Un benchmark intéressant serait d'effectuer une requête en écriture en us-east-1 et de voir combien de temps il faut pour la propager en eu-west-1, plusieurs fois, sur Spanner et Aurora DSQL.

Compatibilité avec Postgres

AWS affirme que le service est compatible avec Postgres (tout d'abord, qu'est-ce que cela signifie ? est-ce que cela signifie être capable de s'y connecter en utilisant psql ou avoir (un sous-ensemble ou toutes) les fonctionnalités de Postgres ?)

C'est cette partie qui m'a vraiment intéressé dans le produit. Postgres est toujours au cœur de chaque application, est difficile à faire fonctionner correctement, et la plupart du temps coûte beaucoup d'argent. Avoir une solution serverless sur AWS (autre qu'Aurora v2) serait génial !

Au moment de la rédaction de cet article, Aurora DSQL reprend de nombreuses fonctionnalités de Postgres :

  • Base de données (une seule base de données par cluster)
  • Vues
  • Déclencheurs
  • Clés étrangères (un gros morceau...)
  • beaucoup d'extensions, comme pgvector ou postgis
  • Mise à jour de 10 000 lignes par livraison

C'est normal pour un nouveau service, même pour AWS. Il s'agit encore d'une première démo, mais c'est certainement un MVP très solide.

Authentification bizarre

J'ai voulu le tester avec certaines de mes applications pour voir comment il gère une charge de travail normale (charge de travail des développeurs, bien sûr, puisque le service est encore en avant-première). Cependant, la méthode d'authentification est inhabituelle. Vous devez utiliser un jeton de type URL pour vous connecter à la base de données. Alors que DBeaver supporte bien cette méthode, et que je me suis connecté avec succès en suivant le tutoriel, je n'ai pu connecter aucune de mes applications au cluster (en utilisant prisma, ou une méthode plus traditionnelle...).

Il pourrait s'agir d'un problème de compétence.

J'ai également essayé d'utiliser la commande aws dsql dans le CLI, mais la sous-commande n'est pas encore disponible. Ce n'est pas surprenant, puisque le service n'est en ligne que depuis 5 heures !
Source : Amazon

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

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de Jules34
Membre émérite https://www.developpez.com
Le 04/12/2024 à 11:34
La question va sembler idiote pour ceux qui savent mais comment on déploie à l'échelle mondiale une base de données sans serveur ?

Quelle est la différence entre les clusters dont on parle dans l'article et un serveur ?

Quand bien même la bdd est dans un fichier journalisé, on passe bien par un serveur pour alimenter le fichier ? Donc on reste quand même dépendant de l'infra qui soutient le système ?

Du coup ou est le gain en terme de scalabilité ? J'imagine que les prix iront croissant pour les bdd les plus intensives en charge de travail.
0  0 
Avatar de drcd
Membre averti https://www.developpez.com
Le 04/12/2024 à 11:57
Avec des annonces comme celle-ci, comment des gens font pour choisir encore azure?
0  0 
Avatar de Michel.Priori
Membre expérimenté https://www.developpez.com
Le 04/12/2024 à 14:15
Citation Envoyé par drcd Voir le message
Avec des annonces comme celle-ci, comment des gens font pour choisir encore azure?
Ils savent ce que le théorème CAP veut dire ...
0  0