Vidéo: Building Apps for Mobile, Gaming, IoT, and more using AWS DynamoDB by Rick Houlihan 2024
AWS RDS prend en charge un certain nombre de moteurs de base de données. Bien sûr, soutenir un seul RDBMS pourrait sembler faire l'affaire d'abord parce qu'ils font tous essentiellement la même chose. Cependant, vous devez prendre en compte un certain nombre de facteurs lors du choix d'un moteur de base de données. Ces facteurs incluent (par ordre d'importance):
- Le SGBDR actuellement utilisé pour la plupart de vos projets existants
- Besoins de codage, tels que la capacité d'exécuter des scripts de manière spécifique
- Besoins d'interopérabilité, en particulier lorsque vous travaillez avec d'autres organisations
- Besoins d'automatisation, tels que la capacité à exécuter des scripts en réponse à des événements ou à un moment spécifique
- Préoccupations de sécurité pouvant supplanter d'autres besoins de stockage de données
- Taille de stockage de données ou exigences de type
Pour les développeurs, la première priorité absolue dans le choix d'un SGBDR consiste à utiliser la même base de données que l'organisation utilise pour assurer une transition en douceur de l'environnement de test à l'environnement de production. Une exception à cette règle se produit lorsque l'organisation prévoit de consolider les produits SGBDR et passe donc à un nouveau produit pour répondre à des besoins spécifiques. Étant donné que le nombre de moteurs SGBDR disponibles aujourd'hui est énorme, il est peu probable que RDS les soutienne tous. Au moment d'écrire ces lignes, RDS prend en charge six moteurs de base de données, dont chacun a des caractéristiques en sa faveur, comme expliqué dans la liste suivante:
- Amazon Aurora: Ce produit est essentiellement un clone MySQL. Si vous aimez MySQL, vous aimez probablement aussi Amazon Aurora. Cependant, selon un certain nombre de sites, Amazon a réussi à rendre Aurora plus rapide, plus évolutif et incluant un certain nombre de fonctionnalités supplémentaires intéressantes. Bien sûr, vous payez aussi un prix plus élevé pour Amazon Aurora, donc si vous n'avez pas besoin des fonctionnalités supplémentaires, l'utilisation de MySQL est probablement un meilleur choix. Les articles du blog de 2ndWatch et Ivan Zoratti fournissent une comparaison plus détaillée d'Amazon Aurora à MySQL.
- MariaDB: Ceci est un autre clone MySQL, mais il a aussi un nombre important de fonctionnalités supplémentaires. Vous devez tenir compte de quelques différences majeures lors du choix de ce produit. D'une part, MariaDB est purement open source, ce qui signifie qu'elle utilise une seule licence plus simple à gérer que MySQL. Cependant, en raison des licences, les clients d'entreprise traitent avec des implémentations open source équivalentes dans MariaDB (comme le pool de threads), au lieu des implémentations MySQL d'origine, ce qui peut entraîner des problèmes de compatibilité. MariaDB est également actuellement verrouillé au niveau de MySQL 5. 5, vous n'aurez peut-être pas accès aux dernières fonctionnalités de MySQL nécessaires au bon fonctionnement de votre application.
- MySQL: Ce produit n'est pas aussi ancien que d'autres offres de SGBDR qu'Amazon supporte, mais il sert de standard à d'autres produits. Le problème avec le fait d'être le leader, c'est que tout le monde vous prend en photo et tente de déstabiliser vos clients, ce qui est précisément ce qui arrive à MySQL. Vous pouvez lire quelques-uns des avantages et des inconvénients de choisir MySQL. Le fait est que MySQL définit la norme, c'est pourquoi il offre probablement la plate-forme la plus stable et la plus fiable que vous pouvez choisir lorsque ces problèmes sont la principale préoccupation.
- Oracle: Ce produit existe depuis de nombreuses années, il a donc une longue histoire d'assistance et de flexibilité. Ce qui distingue Oracle de quelques autres produits, tels que MySQL et SQL Server, c'est que les administrateurs Linux et les développeurs ont tendance à le préférer. Comme avec MySQL, Oracle est un setter standard que tout le monde aime à comparer avec d'autres produits, même lorsque ces comparaisons ne sont pas un bon match. Contrairement à d'autres produits de cette liste, l'affichage de Oracle Cloud en tant que produit distinct de la configuration de l'entreprise est essentiel. les deux produits ne sont pas complètement compatibles et ont des caractéristiques différentes. Vous pouvez trouver quelques avantages et inconvénients d'utiliser Oracle Cloud.
- PostgreSQL: Il s'agit d'un produit de combinaison dans la mesure où la plupart des gens le considèrent comme une version open source d'Oracle, mais aussi se donnent beaucoup de mal pour le comparer avec MySQL. Les développeurs aiment PostgreSQL car il fournit un nombre significatif de fonctionnalités que MySQL a tendance à ne pas supporter. En outre, la transition pour les développeurs d'Oracle ou de SQL Server est relativement simple car PostgreSQL tend à suivre leur exemple. Cependant, MySQL tend à fournir une meilleure facilité d'utilisation et est un peu plus rapide que PostgreSQL. Vous pouvez trouver des avantages et des inconvénients intéressants sur ce produit à Anchor et DigitalOcean.
- SQL Server: Ce produit fournit une fonctionnalité RDBMS essentielle avec un nombre considérable d'add-ons. La chose importante à retenir à propos de SQL Server est que Microsoft l'a créé pour Windows, et tout sur ce produit reflète ce début. En général, les administrateurs trouvent que travailler avec SQL Server est relativement facile à moins qu'ils n'aient besoin d'utiliser une large gamme de ces modules complémentaires. Les développeurs aiment SQL Server car il s'intègre bien avec les produits de langage Microsoft. Vous pouvez lire les avantages et les inconvénients de ce produit sur InfoWorld, The Register et SQLServerF1.
Même avec ce bref aperçu des différents choix, vous pouvez voir la nécessité de rechercher votre choix RDS complètement avant de vous engager dans une option particulière. Dans certains cas, vous devrez peut-être configurer une configuration fictive et effectuer des tests pour voir quelle option fonctionne le mieux pour votre application particulière. Une fois que vous avez commencé à remplir le SGBDR avec des données réelles, le déplacement vers un autre moteur de base de données est généralement une tâche coûteuse, sujette aux erreurs et qui prend du temps. Le développeur intelligent prend plus de temps pour faire un bon choix dès le début, plutôt que de découvrir qu'un choix particulier est une erreur après que l'application se déplace dans les étapes de développement (ou, pire encore, de production).