J'ai cherché les meilleures pratiques lors de la configuration de votre base de données sur le cloud, mais je ne sais toujours pas laquelle des solutions suivantes devrions-nous choisir?
Je considère Amazon Aurora comme étant la meilleure alternative, mais après quelques recherches, il ne semble pas que les gens l'utilisent. Y a-t-il un problème avec ça?
Vous devez évaluer soigneusement Aurora avant de l’envisager. Lancez une instance et configurez une instance de test de votre application et de votre base de données. Générez le plus de charge possible. Lors de ma dernière entreprise, j'ai constaté que malgré les prétentions de haute performance d'Amazon, Aurora avait échoué de façon spectaculaire. Deux ordres de grandeur plus lent que RDS. Notre application avait un taux élevé de trafic en écriture.
Notre conclusion: si vous avez des index secondaires et que le trafic en écriture est élevé, Aurora ne convient pas. Je parie que c'est bon pour le trafic en lecture seule.
(Edit: les tests que je décris ont été effectués au premier trimestre de 2017. Comme avec la plupart des services AWS, je m'attends à ce qu'Aurora s'améliore avec le temps. Amazon applique une stratégie explicite consistant à " Libérer les idées à 70%, puis les itérer). "À partir de là, nous devrions en conclure qu’un nouveau produit d’AWS mérite d’être testé, mais qu’il n’est probablement pas prêt pour la production au moins quelques années après son introduction).
Dans cette entreprise, j'ai recommandé RDS. Ils ne disposaient pas de personnel DBA dédié et l'automatisation fournie par RDS pour les opérations de base de données telles que les mises à niveau et les sauvegardes était très utile. Vous sacrifiez un peu de flexibilité sur les options de réglage, mais cela ne devrait pas poser de problème.
Le pire inconvénient de RDS est que vous ne pouvez pas avoir un utilisateur MySQL avec le privilège SUPER, mais RDS fournit des procédures stockées pour les tâches les plus courantes pour lesquelles vous auriez besoin du privilège SUPER.
J'ai comparé une instance RDS multi-AZ à un jeu de réplicas d'instances EC2, géré par Orchestrator. Etant donné que Orchestrator nécessite trois nœuds pour que vous puissiez avoir un quorum, RDS était clairement le gagnant du coût ici, ainsi que la facilité de configuration et d'exploitation.
Je n'utilise pas personnellement Aurora, mais je peux fortement recommander RDS à votre propre exécution sur EC2. Faire en sorte que le basculement se produise automatiquement et que les sauvegardes en valent vraiment la peine. Surtout que RDS n'est pas si cher.
Aurara semble vraiment bien sur le papier, mais le choix plus souple d'instances m'a gardé jusqu'à présent chez PostGreSQL. Nous envisageons toutefois de migrer vers Aurora, principalement en raison de l’approvisionnement en stockage à mise à l’échelle automatique et des performances supérieures.
AWS RDS est la solution de base de données gérée qui prend en charge plusieurs options de base de données Amazon Aurora, PostgreSQL, MySQL, MariaDB, Oracle et Microsoft SQL Server. Lorsque vous utilisez RDS, il fournit des options de configuration intégrées telles que.
Cela simplifie la surcharge de l'administration de la base de données. Cependant, la flexibilité est limitée aux offres RDS.
Alternativement, si vous hébergez votre base de données dans une instance EC2, vous pouvez installer les versions requises des moteurs de base de données, installer les extensions requises, etc., ce qui offre une plus grande flexibilité, mais requiert également une expertise et une charge administrative supplémentaire.
Si vous considérez Amazon Aurora dans RDS, il diffère du reste des moteurs car il est entièrement mis en œuvre par Amazon et offre des performances plus élevées, une fiabilité prête à l'emploi (telle que commercialisée par Amazon) à un prix raisonnable. Cependant, une limite avec Aurora réside dans le fait qu’elle n’est pas incluse dans le niveau libre AWS, où le type d’instance le plus petit pris en charge est "petite".
Remarque: Certaines fonctionnalités offertes par RDS et leur coût diffèrent en fonction de l'option de base de données sélectionnée.