Tout ce que vous ne saviez pas sur Amazon Aurora

Les systèmes de base de données traditionnels présentent de nombreuses limitations en termes de performances, de disponibilité et d’évolutivité. Amazon Aurora est la solution à ces limitations.

Les bases de données sont nécessaires pour alimenter les applications qui gèrent l’entreprise. Ils devraient être plus gros, plus fiables et plus rapides pour fournir de meilleurs services. Amazon Web Services permet aux entreprises de gérer facilement les données et d’améliorer la satisfaction client.

Le service Web AWS Aurora d’Amazon est un exemple d’un tel service. Il utilise le volume du cluster pour gérer ses données et les allouer pour la sauvegarde d’urgence.

Qu’est-ce qu’Amazon Aurora ?

Amazon Aurora, une base de données cloud native, est entièrement compatible avec MySQL Open Source et PostgreSQL. Aurora prend en charge toutes les fonctionnalités MySQL open source. Il permet également une compatibilité directe avec les applications qui s’exécutent sur ces bases de données.

Aurora a été conçu pour les clients qui ont besoin d’un service de base de données entièrement géré avec la rentabilité et la simplicité des bases de données open source mais les mêmes performances qu’une base de données commerciale.

Aurora offre des performances cinq fois plus rapides que MySQL traditionnel et trois fois meilleures que PostgreSQL. Amazon RDS gère des tâches telles que le provisionnement, la sauvegarde et la récupération. Il n’y a pas de frais initiaux et vous ne payez que des frais mensuels.

Aurora est unique en ce sens qu’elle offre un bilan d’excellence opérationnelle et de fonctionnalités d’entreprise à une fraction du coût des bases de données commerciales.

Aurora offre des performances, une disponibilité, une sécurité et une fiabilité inégalées à l’échelle mondiale. Aurora est le service à la croissance la plus rapide du portefeuille d’AWS depuis sa création en 2014.

À quoi sert Amazon Aurora ?

La croissance remarquable d’Aurora a été stimulée par un vif intérêt de la part de nombreuses industries. Au cours des douze derniers mois, nous avons constaté un vif intérêt pour les services financiers, les logiciels et Internet, ainsi que pour les secteurs du divertissement, des jeux et de la vente au détail.

Les clients migrent vers Aurora MySQL et Aurora PostgreSQL pour consolider leurs bases de données MySQL et PostgreSQL. Nous voyons également de nombreux clients migrer de bases de données héritées comme Oracle ou Microsoft SQL Server vers Aurora PostgreSQL.

Ces clients « sans rupture » en ont assez de payer des frais de licence élevés et de s’enfermer dans des bases de données héritées. Les clients à forte croissance souhaitent évoluer rapidement et de manière transparente dans toutes les régions. Ils souhaitent également pouvoir s’intégrer aux services AWS.

Avantages d’Amazon Aurora

Voici les avantages de l’utilisation d’Amazon Aurora :

Évolutivité

Vous pouvez activer la mise à l’échelle automatique. Cela augmentera la capacité de stockage lorsque vous aurez plus de stockage. Cela réduira également la taille de votre base de données s’il y a une diminution de l’espace de stockage.

Rentable

Ne payez que pour la puissance de traitement et l’espace de stockage que vous utilisez. Il n’y a pas de frais initiaux ni d’autres frais. Il est simple d’effectuer des paiements mensuels.

Sécurité

Amazon VPC vous permet d’isoler le réseau à partir duquel votre base de données s’exécute.

Utilisez AWS Key Management Service pour créer des clés de chiffrement qui protègent vos données.

Haute disponibilité et durabilité

Vous pouvez créer des répliques de l’Aurora dans de nombreuses zones de disponibilité.

Il s’agit d’une base de données globale qui peut facilement être distribuée dans plusieurs régions AWS, ce qui pourrait réduire la vitesse de lecture/écriture locale.

Prise en charge de la migration

Pour migrer votre base de données locale vers Aurora, vous pouvez utiliser les commandes pg-dump ou MySQL dump.

Entièrement géré

Aurora est très facile à utiliser. Il est facile de configurer une instance à l’aide de la console AWS RDS. Aurora propose une surveillance avec Amazon Cloudwatch sans frais supplémentaires.

Vous n’avez pas à vous soucier de l’approvisionnement, de la mise à jour ou de la mise à niveau. Amazon a un contrôle total sur tous les aspects de votre logiciel et effectuera les correctifs nécessaires.

Meilleures fonctionnalités d’Amazon Aurora

Voici les meilleures fonctionnalités d’Amazon Aurora :

Évolutivité : C’est la meilleure fonctionnalité d’Amazon Aurora. La taille de la base de données augmente automatiquement en fonction des besoins de stockage. Le volume peut augmenter par incréments jusqu’à 10 Go et peut atteindre un maximum de 128 To. Cela permet un stockage transparent.

Débit élevé : les benchmarks SysBench ont montré une augmentation de 5 fois du débit. Amazon Aurora utilise une variété de techniques logicielles et matérielles afin de maximiser la mémoire, l’informatique et la mise en réseau disponibles. Pour améliorer la cohérence des performances, les opérations d’entrée et de sortie utilisent des techniques de système distribué telles que les quorums.

Surveillance et réparation des instances : Amazon RDS surveille en permanence la santé et les performances de la base de données Amazon Aurora ainsi que des instances EC2 sous-jacentes. Amazon RDS redémarre automatiquement la base de données en cas de défaillance de la base de données et de tous les processus associés.

Chiffrement : Amazon Aurora offre une sécurité élevée en vous permettant de chiffrer la base de données à l’aide de clés que vous contrôlez et créez via AWS Key Management Service. Amazon Aurora utilise le cryptage SSL pour protéger les données pendant le transit.

Facile à utiliser : il est facile d’utiliser Amazon Aurora. La console de gestion Amazon RDS est utilisée pour créer la nouvelle instance de base de données Amazon Aurora. Cet appel d’API, ou CLI, ne prend qu’un seul appel d’API. Les instances DB Amazon Aurora sont préconfigurées avec les paramètres et paramètres appropriés pour chaque type d’instance DB.

Rentable : ne payez que ce que vous utilisez. Il n’y a pas de frais initiaux ni d’autres frais. Il est simple d’effectuer des paiements mensuels.

Prise en charge de la migration : pour migrer votre base de données locale d’Aurora vers Aurora, vous pouvez utiliser les commandes pg-dump ou MySQL dump.

Aurora est entièrement géré : vous pouvez commencer à l’utiliser immédiatement. Il vous suffit de créer une instance à l’aide de la console AWS RDS ou d’appeler une API à partir de votre code. Vous n’avez pas à vous soucier de l’approvisionnement, de la mise à jour ou de la mise à niveau.

Architecture Amazon Aurora

Toute l’architecture de la base de données Aurora repose sur un SGBD traditionnel. Il réutilise la majorité des composants du SGBD tels que le gestionnaire de transactions, le moteur d’exécution des requêtes et le gestionnaire de récupération.

Amazon Aurora est un nouveau SGBD qui va au-delà du jeu traditionnel. Il apporte de nombreuses améliorations aux SGBD existants pour augmenter leur disponibilité, leur fiabilité et leur évolutivité.

Ces changements sont :

  • Une configuration de réplique principale est utilisée
  • Le stockage à distance des données peut être répliqué
  • Seuls les journaux des modifications doivent être enregistrés sur le disque distant

L’architecture d’Amazon Aurora peut faire évoluer les couches de stockage des bases de données relationnelles traditionnelles.

L’instance de base de données principale d’Amazon Aurora transmet le fichier de journalisation à sa couche de stockage pour traitement. Les journaux sont traités par la couche de stockage, qui crée et stocke de nouvelles versions de page et sauvegarde tout jusqu’à S3.

Crédit d’image : AWS

Amazon Aurora n’a besoin que de créer des instances de moteur de base de données supplémentaires et de les connecter à la couche de stockage existante lors d’un scale-out. Cela élimine le goulot d’étranglement dans la réplication des données en déléguant ces tâches de traitement parallèle à la couche de stockage.

Cela permet la création de nombreuses nouvelles fonctionnalités, telles que :

  • Récupération instantanée après un crash : vous n’avez pas besoin de relire les journaux du dernier point de contrôle
  • Basculements rapides : vous n’avez pas à vous soucier de la base de données répliquée qui possède l’enregistrement de journalisation le plus récent. La couche de stockage gère cela.
  • Retour en arrière : étant donné que la couche de stockage a diffusé des journaux redo, elle peut « rembobiner » les données à des points spécifiques dans le passé sans avoir à restaurer un point de contrôle à partir de la sauvegarde S3

Configuration d’Amazon Aurora

Vous trouverez ci-dessous les étapes pour configurer Amazon Aurora avec succès.

#1. Connectez-vous à la console de gestion AWS et ouvrez RDS.

#2. Cliquez sur créer une base de données.

#3. Sélectionnez l’option Moteur comme Amazon Aurora.

#4. Sélectionnez la version d’Aurora MySQL dont vous avez besoin.

#5. Créez un identifiant de cluster de bases de données et définissez le nom d’utilisateur et le mot de passe des paramètres d’informations d’identification.

#6. Sélectionnez la configuration de l’instance dans l’option déroulante et choisissez une option pour créer ou non un réplica.

#sept. Sélectionnez les options de connectivité comme indiqué ci-dessous.

#8. Choisissez parmi un groupe de sécurité VPC existant ou créez-en un nouveau.

#9. Activez la surveillance améliorée, sélectionnez l’option de granularité et de rôle de surveillance.

#dix. Enfin, cliquez sur créer une base de données.

#11. Vous avez créé avec succès la base de données Amazon Aurora.

Modèle de tarification : Amazon Aurora

Les ACU sans serveur Aurora v2 coûtent 0,12 $ de l’heure, soit le double du prix des ACU Aurora provisionnées. Ça signifie:

  • Coût de fonctionnement actuel minimum : 4 ACU, 0,48 $ de l’heure ou 350 $ par mois
  • Pour les charges de travail qui déclenchent pathologiquement la fonction de mise à l’échelle automatique, il y a une augmentation minimale de la scalabilité de 30 secondes ou 0,0005 $ pour une demi-UCA.

Le coût mensuel pour Aurora Serverless V2 est de 350 $. Chaque événement de mise à l’échelle automatique sera facturé au moins 0,0005 USD. Bien que la capacité équivalente d’Aurora soit de 175 $ par mois, elle n’aurait pas de mise à l’échelle automatique sans serveur réactive.

Cas d’utilisation : Amazon Aurora

#1. Logiciel en tant que service (SaaS)

Il utilise des architectures multi-talents qui peuvent être flexibles dans le stockage et la mise à l’échelle des instances. Par conséquent, Amazon Aurora permet aux entreprises de se concentrer sur le développement d’applications de haute qualité sans se soucier de la base de données.

#2. Objectif de jeu

AWS Aurora fonctionne de la même manière que la base de données relationnelle. Il offre un débit élevé, une capacité de stockage massive, une haute disponibilité et une haute disponibilité.

#3. Application d’entreprise

Amazon Aurora est compatible avec toute entreprise déjà plus filmée que Relational Database. Aurora est rentable car il réduit le prix jusqu’à 90 % par rapport aux autres options.

Compatibilité d’Aurora avec MySQL et PostgreSQL

Amazon Aurora est conçu pour des performances élevées, une disponibilité mondiale et une compatibilité MySQL/PostgreSQL complète. Les outils standard facilitent la migration des bases de données MySQL et PostgreSQL depuis Aurora. Vous pouvez également exécuter des applications SQL Server héritées avec Babelfish pour Aurora PostgreSQL, nécessitant des modifications de code minimales.

Amazon Aurora fonctionne avec les outils d’importation/exportation PostgreSQL standard, tels que pg_dump ou pg_restore. Vous pouvez également créer une nouvelle table Amazon Aurora à l’aide d’un instantané de base de données Amazon RDS ou MySQL.

Les instantanés de base de données sont généralement rapides à réaliser, mais cela dépendra de la quantité et du format des données migrées.

Amazon Aurora contre Amazon RDS

Conception architecturale

L’architecture RDS est similaire en ce sens qu’elle vous permet d’installer manuellement un moteur de base de données sur Amazon EC2, mais laisse le provisionnement et la maintenance à AWS. RDS fournit de nombreuses fonctionnalités telles que le basculement automatique, les sauvegardes, etc. RDS utilise les volumes Amazon EBS pour stocker les données de journal et de base de données.

Le système de stockage de base de données Aurora est fiable et tolérant aux pannes. Le stockage de la base de données pour Aurora est indépendant des instances. Aurora stocke les données en six copies, chacune avec des morceaux de 10 Go. Ces copies sont distribuées dans trois zones de disponibilité. Même si vous n’avez qu’une seule instance Aurora, il y aura toujours six copies de vos données.

Performance

RDS utilise le stockage SSD pour améliorer les performances de débit d’E/S. Deux options de stockage basées sur SSD sont disponibles. L’un est destiné aux applications OLTP hautes performances, tandis que l’autre est destiné à une utilisation polyvalente et économique.

Aurora offre deux fois les performances de PostgreSQL et cinq fois celles de MySQL standard sur un matériel comparable. Les performances d’Aurora ont été constamment plus élevées et plus cohérentes.

Prise en charge du moteur de base de données

RDS est compatible avec MySQL, PostgreSQL et MariaDB, ainsi qu’avec Microsoft SQL Server et Oracle.

Aurora est compatible avec PostgreSQL et MySQL. Cela signifie que vous pouvez utiliser vos outils et applications de base de données existants sur PostgreSQL et MySQL sans apporter de modifications.

Durabilité et disponibilité

Aurora dispose d’un modèle de stockage unique qui permet des sauvegardes et des restaurations continues avec un RPO très faible (objectif de points de récupération). Cela le rend plus fiable et durable que le RDS.

Les données sont durables par conception dans Aurora. Il y a toujours plusieurs copies de vos données. Chaque cluster Aurora dispose de six nœuds de stockage répartis sur trois AZ. Même si vous n’avez qu’un seul nœud de calcul, il existe toujours plusieurs copies de vos données.

Résilience

En raison de sa conception architecturale, Aurora est plus résistant que RDS. Il se remet rapidement des échecs. Si un nœud de calcul tombe en panne, Aurora peut récupérer rapidement.

Stockage

La mise à l’échelle automatique du stockage RDS fait évoluer la capacité de stockage jusqu’à 64 Tio (à l’exception des 16 Tio de SQL Server) pour s’adapter aux charges de travail croissantes de la base de données. Il n’y a pas de temps d’arrêt.

Aurora augmente automatiquement le stockage en l’augmentant d’un minimum de 10 Go à un maximum de 128 Tio. Le stockage est augmenté par incréments de 10 Go sans aucun effet sur les performances de la base de données.

Évolutivité

Mise à l’échelle verticale : RDS et Aurora vous permettent tous deux de mettre à l’échelle la mémoire et les ressources de calcul jusqu’à un maximum de 244 Gio de RAM et 32 ​​processeurs virtuels. En quelques secondes, vous pouvez faire évoluer les opérations.

Aurora Auto Scaling Dynamic : Aurora Auto Scaling ajuste dynamiquement le nombre de réplicas Aurora disponibles pour un cluster de base de données Aurora en utilisant la réplication à maître unique. RDS ne prend PAS en charge une telle mise à l’échelle automatique.

Réplication

RDS peut être utilisé pour fournir jusqu’à cinq répliques. Le processus de réplication est également plus lent qu’Aurora.

Aurora peut provisionner jusqu’à 15 répliques et la réplication ne prend que quelques secondes. Aurora évolue plus rapidement car il peut rapidement ajouter de nouveaux réplicas en lecture.

Basculement

Dans RDS, le basculement pour lire le réplica se produit manuellement. Cela pourrait entraîner une perte de données. Multi-AZ (instance de secours) peut être utilisé pour automatiser le basculement et éviter la perte de données.

Pour éviter la perte de données, Aurora utilise le basculement pour lire automatiquement les répliques. Aurora a un temps de basculement plus rapide.

Points de terminaison de cluster

RDS a un point de terminaison de cluster que vous pouvez utiliser pour exécuter vos requêtes d’écriture. Il s’agit du pointeur DNS vers votre instance de base de données principale actuelle. RDS achemine le point de terminaison vers le nouveau maître via un simple changement DNS lors d’un basculement.

Le point de terminaison du cluster est toujours disponible dans Aurora pour écrire des requêtes. Ce point de terminaison agit également comme un équilibreur de charge pour vos réplications en lecture. Ce point de terminaison peut être utilisé pour répondre à vos requêtes de lecture.

Sauvegarde

RDS crée et enregistre automatiquement des sauvegardes de vos instances de base de données pendant la fenêtre de sauvegarde de votre instance de base de données. RDS crée un instantané de votre instance de base de données en tant que volume de stockage, en sauvegardant toutes les bases de données et pas seulement celles que vous sélectionnez.

Aurora sauvegarde automatiquement les volumes de cluster et continue de restaurer les données pendant toute la durée de la période de conservation des sauvegardes. Les sauvegardes Aurora sont continues et incrémentielles afin que vous puissiez rapidement restaurer n’importe quel point pendant la période de conservation des sauvegardes.

Vous trouverez ci-dessous le tableau récapitulatif pour Amazon Aurora par rapport à Amazon RDS :

Amazon AuroraAmazon RDSVous pouvez étendre le stockage de 10 Go à 64 GoBRDS autorise 64 Go pour tous les moteurs, mais seulement 16 Go pour le serveur SQLVous pouvez faire évoluer la mémoire et le calcul jusqu’à un maximum de 32 vCPU et 244 Go de RAMIdentique à AuroraPrend en charge MySQL et PostgreSQLPrend en charge Microsoft SQL Server, MariaDB, Oracle Database, MySQL, PostgreSQL et Amazon AuroraPrend en charge quinze répliquesPrend en charge cinq répliquesLe prix dépend des opérations d’E/SVous pouvez l’essayer gratuitement sans frais d’utilisation minimum

Amazon Aurora contre DynamoDB

Durabilité et disponibilité

Chaque élément de données DynamoDB est répliqué sur plusieurs nœuds physiques. Amazon a placé ces nœuds physiques dans plusieurs zones (ou zones de disponibilité) pour garantir une durabilité et une disponibilité élevées en cas de catastrophe comme un incendie ou une panne de courant majeure. L’opération se poursuivra même si une copie tombe en panne. Les SSD sont également très fiables et durables.

Sauvegardes et restauration

DynamoDB propose une sauvegarde à la demande ainsi que des PITR (sauvegardes ponctuelles), qui vous permettent d’accéder à n’importe quel état de la base de données. DynamoDB est capable de sauvegarder n’importe quelle quantité de données. Les performances et la disponibilité ne seront pas affectées. La sauvegarde prend très peu de temps et les utilisateurs n’ont pas à se soucier des calendriers de sauvegarde ou des processus en arrière-plan. AWS permet la récupération de sauvegarde avec un seul appel d’API.

Le processus de sauvegarde Amazon Aurora est similaire à DynamoDB. Il a été créé sans interruption des performances ni interruption du service de base de données. Les sauvegardes Amazon sont enregistrées dans un compartiment S3. Aurora créera automatiquement une sauvegarde de 30 minutes si nous ne spécifions pas de fenêtre de sauvegarde.

Contrôle d’accès

DynamoDB prend en charge les utilisateurs et les rôles IAM avec des politiques précises qui limitent la création de bases de données et les privilèges de requête. Amazon Aurora a également un schéma d’autorisations similaire.

Cependant, Aurora fournit également des interfaces de connexion compatibles MySQL et PostgreSQL pour se connecter à la base de données.

DynamoDB, un service régional, n’est pas soumis à la limite VPC. Cependant, les clusters de bases de données Aurora doivent être établis dans un VPC qui définit clairement sa limite de réseau. Vous pouvez également utiliser les groupes de sécurité VPC pour contrôler quels appareils ou instances Amazon EC2 sont autorisés à se connecter à l’instance de base de données.

Vous trouverez ci-dessous le tableau récapitulatif pour Amazon Aurora par rapport à DynamoDB :

Amazon AuroraDynamoDBLa base de données relationnelle prenant en charge MySQL et PostgreSQLBase de données NoSQLMulti-région, maître uniqueMulti-région, multi-maîtreLa réplique peut être promue primaire en une minuteHaute disponibilitéLa latence de réplication est inférieure à 1 secondeLa latence de réplication est inférieure à quelques millisecondes

Conclusion

C’était ça. Nous entrons tous dans une nouvelle ère des bases de données relationnelles, et Aurora n’est que le début. Les clients ont répondu avec un accord écrasant. Les leaders de tous les secteurs, tels que Capital One, Dow Jones, Netflix et Verizon, migrent leurs charges de travail de bases de données relationnelles vers Aurora, y compris les éditions compatibles avec MySQL et PostgreSQL.