Avant les fournisseurs de cloud et les services gérés, les bases de données devaient être installées localement et une installation à grande échelle pouvait impliquer l'installation de nombreuses infrastructures et la conservation de plusieurs DBA. Avec l'avènement des fournisseurs de cloud, les bases de données locales ont migré vers le cloud et les besoins en infrastructure locale ont été réduits, voire éliminés. Les fournisseurs de cloud tels qu'Amazon Web Services (AWS) et Oracle Cloud Platform fournissent des services gérés pour les systèmes de bases de données relationnelles couramment utilisés Oracle Database et MySQL, classés respectivement 1 et 2 par DBEngines.com. AWS prend également en charge d'autres bases de données, notamment la base de données PostgreSQL et la base de données SQL Server. AWS prend en charge une base de données NoSQL propriétaire appelée DynamoDB.
Dans cet article, nous aborderons les bases de données disponibles sur les fournisseurs de cloud AWS et Oracle Cloud Platform. Quel que soit le fournisseur de Cloud utilisé, certaines fonctionnalités sont communes à toutes les bases de données de fournisseur de Cloud :services gérés, fonctionnalités évolutives, fiables, sécurisées et de collaboration. Cet article comporte les sections et sous-sections suivantes :
- Bases de données sur Amazon Web Services (AWS)
- RDS
- DynamoDB
- Redshift
- ElasticCache
- Bases de données sur Oracle Cloud Platform
- Base de données Oracle
- Base de données MySQL
- Base de données Oracle NoSQL
- Conclusion
Bases de données sur Amazon Web Services (AWS)
Amazon Web Services (AWS) fournit des services gérés dans différentes catégories :
- Service de base de données relationnelle (RDS) pour les bases de données relationnelles
- DynamoDB pour les bases de données NoSQL
- Redshift pour les bases de données analytiques basées sur des requêtes (entrepôt de données)
- ElasticCache pour le cache en mémoire
RDS
Le service de base de données relationnelle est un service géré hébergé dans le cloud pour les bases de données relationnelles couramment utilisées (base de données Oracle, base de données MySQL, SQL Server, PostgreSQL, MariaDB et Aurora propriétaire), comme illustré à la figure 1.
Figure 1 : Bases de données hébergées sur le RDS
Ce qui fait de RDS une meilleure alternative aux bases de données locales, c'est que RDS fournit une capacité variable, l'automatisation des tâches DBA, le matériel provisionné sur le Cloud, ainsi que des sauvegardes et des correctifs automatiques de la base de données. Les bases de données RDS fournissent à la fois des environnements de production et de développement/test. Les bases de données RDS sont entièrement intégrées aux autres services AWS, tels que S3, IAM, CloudWatch, Database Migration Service et CloudTrail. S3 est utilisé pour le stockage des sauvegardes et des instantanés, qui sont utilisés pour sauvegarder et restaurer une base de données. IAM est pour la gestion des accès. CloudWatch est destiné à la surveillance et à la journalisation. CloudTrail est destiné à l'audit des appels d'API. Le service de migration de base de données permet de migrer des bases de données :migrer une base de données locale vers le Cloud ou migrer entre différentes bases de données dans le Cloud. RDS offre la possibilité de déployer une base de données sur plusieurs zones de disponibilité.
Les différentes éditions des bases de données commerciales Oracle et SQL Server sont disponibles sur RDS. Aurora est une base de données hautes performances entièrement compatible avec les bases de données MySQL et PostgreSQL et offre les avantages suivants :
- Haut débit (5x MySQL et 3x PostgreSQL)
- Stockage SSD à mise à l'échelle automatique (jusqu'à 64 To) tolérant aux pannes
- Répliques à lectures multiples pour une faible latence et un basculement automatique
- Tolérant aux pannes. Les pannes de disque sont réparées sans perte de service.
- Haute disponibilité
- Sauvegardes incrémentielles et restauration ponctuelle
- Isolation du réseau (VPC), autorisations au niveau des ressources à l'aide d'IAM et chiffrement pour sécuriser les bases de données
Les bases de données RDS fournissent un point de terminaison, comme pour la base de données PostgreSQL sur RDS illustrée à la figure 2, pour l'accès avec les clients SQL couramment utilisés.
Figure 2 : Base de données PostgreSQL sur RDS
DynamoDB
DynamoDB est une base de données NoSQL de modèle de données flexible qui fournit une faible latence (milliseconde à un chiffre), une mise à l'échelle automatique de la capacité de lecture et d'écriture avec la possibilité d'obtenir une capacité réservée, des index secondaires globaux pour une requête efficace sur n'importe quel champ (attribut) dans une table, et l'intégration avec CloudWatch pour la surveillance et la journalisation. Si le temps de réponse est relativement plus élevé, ce qui implique des microsecondes, le service DynamoDB Accelerator (DAX) est disponible pour réduire le temps de réponse pour des données cohérentes à terme. Une table DynamoDB est illustrée à la figure 3.
Figure 3 : Tableau DynamoDB
Décalage vers le rouge
Redshift est une base de données (entrepôt de données) pour OLAP (traitement analytique en ligne) de données structurées à l'échelle du pétaoctet stockées sur des disques locaux à l'aide des normes SQL avec la possibilité d'étendre l'interrogation à des données non structurées à l'échelle de l'exaoctet stockées dans S3 à l'aide de Redshift Spectrum. Les formats de données ouverts tels que CSV, TSV, Parquet, Sequence et RCFile peuvent être utilisés avec Redshift Spectrum. Redshift offre les mêmes fonctionnalités de service géré que pour la plupart des services AWS, telles que l'évolutivité, la tolérance aux pannes, les sauvegardes automatisées, le chiffrement, l'intégration pour la surveillance et la journalisation avec CloudWatch et l'isolation du réseau avec VPC. Redshift fournit des pilotes ODBC et JDBC personnalisés en plus des pilotes PostgreSQL ODBC et JDBC standard pour un accès à l'aide de clients SQL couramment utilisés. Un cluster Redshift est accessible sur un point de terminaison provisionné, illustré pour un cluster Redshift dans la figure 4.
Figure 4 : Grappe de décalage vers le rouge
ElasticCache
Amazon ElasticCache est un cache en mémoire distribué dans le Cloud. Deux options de moteur de cluster sont disponibles pour un cluster ElasticCache, ElasticCache pour Redis et Memcached. ElasticCache pour Redis est un magasin de structure de données en mémoire qui peut être utilisé comme base de données, cache et courtier de messages. Memcache est un cache d'objets à mémoire distribuée hautes performances conçu pour accélérer les applications Web dynamiques. Plusieurs options de type de nœud conçues pour un cache sont disponibles, comme illustré à la figure 5.
Figure 5 : Types de nœuds de cache
Des nœuds réservés sont disponibles pour un ElasticCache. Les sauvegardes automatisées et la notification SNS sont disponibles avec ElasticCache. Les clients de cluster memcached ElasticCache sont disponibles pour différents langages :.NET, Java et PHP. Le client PHP est disponible pour plusieurs versions PHP allant de PHP 5.3 à PHP 7.0. Une base de données ElasticCache est illustrée à la figure 6.
Figure 6 : Redis ElasticCache
Bases de données sur Oracle Cloud Platform
Oracle Cloud Services Platform inclut Oracle Database Cloud Service pour Oracle Database et Oracle MySQL Cloud Service pour base de données MySQL. Les services Oracle Cloud sont regroupés en différentes catégories, tout comme les services AWS. Cependant, le service Oracle Database Cloud est destiné aux bases de données, tandis que les services Oracle IaaS Cloud sont destinés à l'infrastructure requise pour exécuter les bases de données sur le cloud.
Base de données Oracle
Oracle Database on the Cloud est disponible dans plus d'éditions qu'une base de données autonome, comme illustré à la figure 7.
Figure 7 : Base de données Oracle sur les éditions Cloud
Pour créer Oracle Database sur le Cloud, cliquez sur Créer un service dans le tableau de bord Oracle Database Cloud Service, comme illustré à la figure 8.
Figure 8 : Création d'un service cloud de base de données Oracle
Les éditions de base de données prises en charge sont 11g R2, 12c R1 et 12c R2, comme illustré à la Figure 9.
Figure 9 : Éditions de la base de données Oracle
Si 12c est utilisé, une base de données enfichable est créée par défaut, pour laquelle un nom de PDB doit être configuré (voir Figure 10). Pour la sauvegarde et la restauration, les options disponibles sont :Disque, Cloud, Disque et Cloud et Aucun.
Figure 10 : Configuration d'un service Oracle Database 12c incluant un PDB
Un service Oracle Database Cloud est illustré dans le tableau de bord de la figure 11.
Figure 11 : Service cloud de base de données Oracle
Une adresse IP publique est créée pour Oracle Database, comme illustré à la figure 12.
Figure 12 : IP publique pour Oracle Database Cloud Service
Les ressources de la base de données incluent les OCPU, la mémoire et le stockage, qui sont également répertoriés dans la figure 12. Les OCPU, la mémoire et le stockage ne sont pas configurables individuellement, mais une forme de calcul avec des paramètres présélectionnés pour les ressources doit être sélectionnée. Une base de données peut être mise à l'échelle vers le haut ou vers le bas, comme illustré par l'option Scale Up/Down de la Figure 13.
Figure 13 : Augmenter/Réduire
Une forme de calcul peut être sélectionnée dans la boîte de dialogue Scale Up/Down, comme illustré à la Figure 14.
Figure 14 : Sélection d'une forme de calcul
Les métriques de surveillance sont disponibles pour un service de base de données, comme illustré à la figure 15.
Figure 15 : Métriques de surveillance
Base de données MySQL
La création d'un service de base de données MySQL sur Oracle Cloud est similaire à la création d'un service de base de données Oracle. Les paramètres de configuration de la base de données MySQL qui doivent être fournis incluent un nom de service (comme illustré à la figure 16), une forme de calcul, un stockage de base de données utilisable (Go), un utilisateur d'administration (racine par défaut), un mot de passe d'administration, un nom de schéma de base de données et une sauvegarde. et configuration de récupération.
Figure 16 : Création d'un service de base de données MySQL
Un descripteur de connexion et une adresse IP publique pour un service de base de données MySQL sont créés, comme illustré à la figure 17.
Figure 17 : Service de base de données MySQL dans Oracle Cloud
Base de données Oracle NoSQL
Oracle Cloud Service fournira également un service géré pour la base de données Oracle NoSQL, dont les principales caractéristiques incluent la haute disponibilité, les transactions, les requêtes parallèles, le stockage et la requête de données à faible latence et la prise en charge d'API pour plusieurs langages clients, notamment C, Java et Node. Oracle NoSQL on the Cloud fournit un modèle de données flexible avec prise en charge de Key-Value, Tables et JSON pour le stockage. Le service Oracle NoSQL Cloud fournit un schéma d'application dynamique et est très performant grâce à l'indexation basée sur la valeur, qui indexe les types simples et complexes (Maps et Arrays) pour des résultats de requête efficaces, et des index cohérents, qui sont des index locaux partagés. L'administration d'Oracle NoSQL on the Cloud est simplifiée grâce à l'équilibrage de charge automatisé pour un accès efficace aux données sur un cluster. La gestion des clusters comprend la mise à l'échelle et les mises à niveau propagées. Oracle NoSQL Database Cloud Service est « bientôt disponible ».
Conclusion
Dans cet article, nous avons exploré les services de base de données fournis par AWS et Oracle Cloud Platform. Les bases de données sur AWS et Oracle Cloud sont des services gérés avec des fonctionnalités qui ne sont pas réalisables dans un service de base de données local à relativement petite échelle.