29 min de lecture

Objectifs d'apprentissage

À la fin de ce module, vous serez en mesure de:

  • Expliquer ce que sont les services de base de données managés et pourquoi les organisations les choisissent par rapport aux solutions autogérées
  • Décrire les caractéristiques clés et les cas d'utilisation de Managed PostgreSQL, MongoDB et MariaDB
  • Identifier les situations où utiliser In-Memory DB pour la mise en cache et l'analyse en temps réel
  • Expliquer comment Event Streams for Apache Kafka permet le traitement de données en temps réel et les scénarios IoT

Unité 2.5 : Services de base de données et de données

Introduction

Imaginez une cuisine de restaurant très fréquentée où le chef se concentre entièrement sur la création de plats exceptionnels, tandis qu'une équipe dédiée gère la maintenance des équipements, l'inventaire des ingrédients et le nettoyage. Le chef ne s'inquiète pas de réparer les fours ou de commander les fournitures, car ces responsabilités incombent à des spécialistes. Les services de bases de données managées fonctionnent de la même manière. Ils permettent à votre équipe de se concentrer sur la création d'applications de qualité, tandis qu'IONOS CLOUD gère l'infrastructure, les correctifs, les sauvegardes et la maintenance.

Dans cette unité, vous explorerez les offres Database-as-a-Service (DBaaS) d'IONOS CLOUD. Vous découvrirez les bases de données relationnelles telles que Managed PostgreSQL et MariaDB pour les données structurées, les bases de données documentaires telles que Managed MongoDB pour les schémas flexibles, In-Memory DB pour la mise en cache ultra-rapide, et Event Streams for Apache Kafka pour le traitement d'événements en temps réel. Comprendre ces services vous aide à choisir la base de données adaptée aux besoins de votre application.

1. Aperçu des bases de données managées

Database-as-a-Service (DBaaS) fournit des moteurs de base de données entièrement managés qui s'exécutent sur une infrastructure dédiée à l'intérieur de votre centre de données virtuel. IONOS CLOUD gère le provisionnement, la correction des vulnérabilités, les sauvegardes et la haute disponibilité, tandis que vous conservez le contrôle total sur vos données et la configuration de votre base de données.

1.1 Ce qui rend une base de données « managée »

Un service de base de données managée prend en charge l'ensemble de la pile logicielle de la base de données, du matériel et du système d'exploitation jusqu'au moteur de base de données et à la maintenance continue. Vous provisionnez un cluster via Data Center Designer ou via API, et en quelques minutes, vous disposez d'une base de données prête pour la production, sans avoir à installer de logiciels ni à configurer des serveurs.

Les bases de données managées diffèrent des déploiements auto-managés à plusieurs égards essentiels. Le fournisseur cloud fournit le matériel, applique les correctifs du firmware et du système d'exploitation, et gère les mises à jour du logiciel de base de données. Vous évitez l'achat de serveurs physiques, le montage des équipements et la maintenance de l'infrastructure. Les bases de données sont livrées pré-configurées avec les meilleures pratiques de sécurité, des sauvegardes automatisées et des fonctionnalités de haute disponibilité intégrées. Votre équipe se concentre sur la conception des schémas, l'optimisation des requêtes et le développement d'applications, plutôt que sur les opérations de routine.

1.2 Avantages des services de bases de données managées

Le tableau suivant compare les bases de données managées aux déploiements auto-managés dans les domaines opérationnels critiques :

Domaine Avantages des bases de données managées Exigences en auto-gestion
Matériel et firmware Le fournisseur provisionne, installe et maintient automatiquement les serveurs, les pilotes et le firmware Acheter, monter, alimenter, connecter au réseau et appliquer les correctifs aux machines physiques manuellement
Configuration initiale Les bases de données sont pré-configurées et prêtes à l'emploi à la demande Installer le logiciel de base de données, régler les paramètres, configurer la réplication et la sécurité
Exploitation et personnel Le personnel se concentre sur le développement d'applications plutôt que sur les opérations de routine Nécessite des DBA ou des ingénieurs pour gérer les installations, les correctifs, la surveillance et le dépannage
Correctifs et mises à niveau Application automatique des correctifs réguliers pendant les fenêtres de maintenance Suivre les versions de sécurité, planifier les interruptions, tester les mises à niveau, les appliquer manuellement
Haute disponibilité Clusters HA intégrés avec basculement automatique et réplication Concevoir et implémenter votre propre topologie de réplication et tester les procédures de basculement
Sauvegarde et restauration Sauvegardes automatisées quotidiennes avec récupération à un instant donné (PITR) Déployer des agents de sauvegarde, planifier des instantanés, gérer la rétention, tester les restaurations
Évolutivité Mise à l'échelle verticale et horizontale via API ou console Acquérir des serveurs plus grands, ajouter des nœuds, reconfigurer les équilibreurs de charge, migrer les données
Sécurité Chiffrement TLS, contrôle d'accès basé sur les rôles, connectivité en réseau privé Renforcer le système d'exploitation, gérer les certificats, configurer les pare-feu et la segmentation réseau
Surveillance Métriques, journaux et alertes intégrés via les services Monitoring et Logging Services de la plateforme (Grafana) et via API Installer des agents de surveillance, créer des tableaux de bord, maintenir les pipelines d'alertes
Modèle de coûts Facturation à la minute au prorata des ressources utilisées Dépense en capital pour le matériel, capacité sur-provisionnée, contrats à long terme

Les bases de données managées offrent rapidité et simplicité en fournissant des environnements prêts pour la production en quelques minutes. Elles offrent une fiabilité grâce aux configurations de haute disponibilité automatisées et aux correctifs pris en charge par le fournisseur. Elles améliorent l'efficacité opérationnelle en libérant votre équipe des tâches d'administration de routine. Elles offrent une flexibilité financière grâce à une tarification basée sur la consommation qui s'adapte à votre utilisation réelle.

1.3 Fonctionnalités courantes des bases de données managées

Tous les services de bases de données managées d'IONOS CLOUD partagent des capacités fondamentales qui garantissent une fiabilité et une sécurité de niveau entreprise. Chaque service s'exécute sur des machines virtuelles dédiées avec des ressources CPU, RAM et de stockage garanties. Les clusters sont déployés dans des LAN privés au sein de votre centre de données virtuel, assurant l'isolation et la sécurité du réseau.

La haute disponibilité est incluse par défaut grâce aux clusters multi-nœuds avec basculement automatique. Si un nœud tombe en panne, le cluster promeut automatiquement un réplique pour maintenir la continuité du service. La réplication peut être configurée en asynchrone pour une performance optimale ou en synchrone stricte pour une perte de données nulle (la disponibilité varie selon le moteur).

La sécurité est intégrée à chaque couche. Toutes les connexions client utilisent le chiffrement TLS pour protéger les données en transit. Le contrôle d'accès basé sur les rôles vous permet de définir des permissions granulaires pour les utilisateurs et les applications. Les bases de données ne sont accessibles que via des réseaux privés, jamais exposées directement à Internet. Les sauvegardes sont chiffrées et stockées en toute sécurité dans IONOS Cloud Object Storage.

Les sauvegardes automatisées sont exécutées quotidiennement pour tous les moteurs, avec une récupération à un instant donné (PITR) généralement disponible jusqu'à une semaine ; pour Managed MongoDB, PITR est disponible uniquement sur l'édition Enterprise (l'édition Business prend en charge la restauration par instantané, et les sauvegardes Playground sont désactivées). Vous pouvez restaurer des clusters entiers ou des bases de données spécifiques à n'importe quel moment pendant la période de rétention. Les fenêtres de maintenance vous permettent de planifier les correctifs et les mises à niveau à des moments pratiques avec un minimum de perturbation.

La surveillance et le reporting sont intégrés à Data Center Designer et disponibles via les API. Vous pouvez suivre l'utilisation du CPU, la consommation de mémoire, la capacité de stockage, le nombre de connexions et les performances des requêtes. Les métriques et les journaux vous aident à optimiser les performances et à dépanner les problèmes avant qu'ils n'affectent les utilisateurs.

2. Services de bases de données relationnelles

Les bases de données relationnelles organisent les données dans des tables avec des schémas définis, appliquent les relations par le biais de clés étrangères et prennent en charge les requêtes complexes en utilisant SQL. IONOS CLOUD propose deux moteurs de base de données relationnels : PostgreSQL et MariaDB.

2.1 Managed PostgreSQL

Managed PostgreSQL fournit une base de données PostgreSQL de classe entreprise, entièrement compatible, en tant que service managé. PostgreSQL est réputé pour ses fonctionnalités avancées, sa capacité d'extension et sa prise en charge à la fois des données relationnelles traditionnelles et des documents JSON modernes. Il fonctionne sur des clusters dédiés avec un CPU, une RAM et un stockage configurables au sein de votre centre de données virtuel.

PostgreSQL prend en charge les transactions ACID, garantissant la cohérence et la fiabilité des données pour les applications critiques. Il offre des options d'indexation avancées, la recherche en texte intégral et une optimisation puissante des requêtes. Vous pouvez utiliser les extensions de PostgreSQL pour ajouter des fonctionnalités telles que la prise en charge des données géospatiales (PostGIS), des statistiques avancées et des fonctions cryptographiques. La base de données gère à la fois les données structurées dans des tables et les données semi-structurées stockées au format JSON ou JSONB.

Les principales capacités incluent la mise à l'échelle verticale (ajout de CPU, de RAM et de stockage à la volée) et la mise à l'échelle horizontale (ajout d'instances répliquées pour le trafic en lecture). La haute disponibilité est assurée par des clusters multi-nœuds avec des modes de réplication configurables. Choisissez la réplication asynchrone (par défaut) pour les meilleures performances, ou la réplication strictement synchrone pour des garanties d'engagement sans perte de données. La réplication strictement synchrone nécessite deux nœuds opérationnels ; un minimum de trois instances est recommandé pour la production.

La surveillance expose les métriques du cluster via Data Center Designer, l'API Telemetry et Monitoring Service, avec une durée de rétention configurable par le client (une rétention plus longue augmente le coût de stockage ; aucune période par défaut fixe n'est publiée). Les sauvegardes automatisées combinent l'archivage continu du journal d'avance d'écriture (WAL) avec des sauvegardes de base quotidiennes, permettant une restauration à un instant donné pendant une durée maximale d'une semaine. Vous pouvez même cloner des clusters à partir de sauvegardes existantes pour des environnements de test ou de développement.

2.2 Managed MariaDB

Managed MariaDB fournit une base de données relationnelle compatible MySQL, qui a pris son origine comme une bifurcation communautaire de MySQL. Elle alimente des services à fort trafic tels que Wikipedia et WordPress.com. MariaDB offre une syntaxe et un comportement MySQL familiers, tout en ajoutant des améliorations pour les performances, les moteurs de stockage et l'analyse.

MariaDB est entièrement conforme aux normes ACID et prend en charge les déclencheurs, les procédures stockées et les vues. Elle inclut plusieurs moteurs de stockage optimisés pour différentes charges de travail, du moteur transactionnel InnoDB aux moteurs à colonnes pour l'analyse. La prise en charge native des fonctions JSON et GIS en fait une solution adaptée aux applications qui mélangent des données structurées et semi-structurées.

Le service offre une mise à l'échelle verticale jusqu'à 16 cœurs et 32 Go de RAM par nœud, avec des clusters haute disponibilité multi-nœuds pour une bascule automatique. Chaque utilisateur dispose de 250 connexions et max_connections est défini sur 500. Le stockage est basé sur des SSD, la limite supérieure pour la taille du stockage est de 2 To.

Une fonctionnalité unique de restauration autonome vous permet de restaurer des sauvegardes spécifiques ou de revenir à n'importe quel instant pendant la période de rétention d'une semaine, directement via Data Center Designer ou l'API. Cette capacité réduit les temps d'arrêt et le risque de perte de données sans nécessiter d'ouvertures de tickets de support.

2.3 Choisir entre PostgreSQL et MariaDB

PostgreSQL et MariaDB sont tous deux d'excellentes bases de données relationnelles, mais elles excellent dans des scénarios différents. Comprendre quand utiliser chacune vous aide à faire le bon choix pour votre application.

Choisissez PostgreSQL lorsque vous avez besoin de fonctionnalités sophistiquées telles que l'indexation avancée, des extensions étendues ou une cohérence transactionnelle stricte. PostgreSQL excelle dans les requêtes analytiques complexes, les applications qui mélangent des données relationnelles et JSON, et les charges de travail nécessitant une réplication synchrone sans perte de données. Il est idéal pour les systèmes financiers, les applications ERP et l'entrepôt de données où les garanties ACID et la flexibilité des requêtes sont essentielles.

Choisissez MariaDB lorsque vous disposez de connaissances ou d'applications MySQL existantes, avez besoin d'une syntaxe compatible MySQL familière, ou développez des applications web et des plateformes de commerce électronique. MariaDB offre d'excellentes performances pour les charges de travail à forte concurrence et à prédominance de lecture, et fournit de solides capacités GIS et JSON. Il convient bien aux systèmes de gestion de contenu, aux plateformes SaaS et aux scénarios où la compatibilité MySQL simplifie la migration.

3. Bases de données documentaires et services NoSQL

Les bases de données documentaires stockent les données sous forme de documents flexibles de type JSON, au lieu de tables à schéma fixe. Cette flexibilité les rend idéales pour les applications dont les modèles de données évoluent rapidement ou dont les structures de données sont très variables.

3.1 Managed MongoDB

Managed MongoDB est le service entièrement géré d'IONOS CLOUD pour la base de données documentaire MongoDB. MongoDB stocke les données sous forme de documents BSON (JSON binaire) dans des collections, permettant à chaque document d'avoir une structure différente. Cette flexibilité du schéma accélère le développement en éliminant les migrations de schéma rigides.

MongoDB est proposé en trois éditions pour répondre à différents besoins. L'édition Playground offre un cluster mononœud gratuit avec 2 Go de RAM, 1 vCPU et 50 Go de stockage sur une infrastructure partagée, destiné au développement et aux tests. L'édition Business propose des modèles prédéfinis pour les charges de travail en production, avec des clusters multi-instances basés sur des VM Cube et un stockage NVMe. L'édition Enterprise offre un contrôle total sur la dimensionnement des nœuds à l'aide de VM Dedicated Core, d'un stockage en bloc SSD et HDD, de configurations de sharding, et inclut l'accès à l'équipe de support professionnel de MongoDB en plus du support d'IONOS CLOUD.

Les principales fonctionnalités incluent la mise à l'échelle horizontale grâce au sharding intégré et aux ensembles de répliques. Le sharding répartit les données sur plusieurs nœuds pour gérer des jeux de données massifs et un débit d'écriture élevé. Les ensembles de répliques assurent la haute disponibilité avec une bascule automatique. MongoDB prend en charge jusqu'à environ 114 000 connexions par cluster, dépassant de loin les limites de connexions des bases de données relationnelles.

Le stockage NVMe est disponible dans l'édition Business, hébergée sur des VM Cube. Le stockage en bloc SSD ou HDD est disponible dans l'édition Enterprise, hébergée sur des VM à cœurs dédiés. Les clusters multi-instances répliquent automatiquement les données entre les nœuds, le nœud principal gérant les écritures et les nœuds secondaires servant les lectures. Le service inclut une collecte continue des journaux avec une rétention de 30 jours et des métriques intégrées pour le CPU, la mémoire, le stockage, les connexions et la santé du cluster.

MongoDB est certifié par MongoDB Inc. et entièrement compatible avec les outils, pilotes et l'invite mongo standard de MongoDB. Vous gérez les clusters via le Data Center Designer, l'API REST dédiée de MongoDB, ou des SDK. Les instantanés quotidiens hors site sont stockés dans Object Storage pendant sept jours au maximum, et les clusters Enterprise ajoutent la restauration à un instant donné.

3.2 Quand utiliser MongoDB

MongoDB excelle dans les scénarios où la flexibilité du schéma est précieuse. Les projets de développement rapide bénéficient de la possibilité de modifier la structure des documents sans migrations de base de données. Les systèmes de gestion de contenu, les backends d'applications mobiles et les plateformes IoT ont souvent des structures de données variables qui s'adaptent naturellement aux modèles documentaires.

Les charges de travail à forte intensité d'écriture exploitent la mise à l'échelle horizontale de MongoDB par le sharding. Les applications qui génèrent d'énormes volumes de données, telles que l'analyse des flux de clics ou le suivi des événements utilisateur, peuvent répartir les écritures sur plusieurs shards pour une meilleure performance. Le modèle documentaire simplifie également le stockage de structures de données complexes imbriquées, qui nécessiteraient plusieurs tables et jointures dans les bases de données relationnelles.

Utilisez MongoDB lorsque votre application a des exigences évolutives et que vous devez ajouter de nouveaux champs ou modifier les structures de données fréquemment. Choisissez-le pour les applications SaaS multi-locataires où chaque locataire peut avoir des champs personnalisés. Envisagez-le pour l'analyse en temps réel, où la flexibilité du schéma et les nombres élevés de connexions sont des avantages.

4. Services de base de données spécialisés

Au-delà des bases de données relationnelles et documentaires traditionnelles, IONOS CLOUD propose des services spécialisés pour la mise en cache et le flux d'événements. Ces services résolvent des défis spécifiques de performance et d'architecture.

4.1 In-Memory DB

In-Memory DB est le service de base de données entièrement géré et compatible Redis de IONOS CLOUD qui stocke toutes les données en RAM pour des temps d'accès inférieurs à la milliseconde. Contrairement aux bases de données basées sur le disque qui lisent depuis le stockage, In-Memory DB sert les données directement depuis la mémoire, offrant des performances des milliers de fois plus rapides.

Le service est construit sur Redis, un serveur de structures de données en mémoire à code source ouvert. Il prend en charge divers types de données, y compris les chaînes de caractères, les hachages, les listes, les ensembles, les ensembles ordonnés, les bitmaps, les hyperloglogs, les index géospatiaux et les flux. Cette flexibilité le rend utile au-delà de la simple mise en cache par paires clé-valeur.

Les options de persistance vous permettent d'équilibrer la vitesse et la durabilité. Choisissez l'absence de persistance pour la mise en cache pure où les données peuvent être reconstruites, les instantanés RDB pour des points de contrôle périodiques, la journalisation AOF (Append-Only File) pour une durabilité d'écriture continue, ou combinez les deux pour une protection maximale. La persistance écrit les données sur SSD afin que les Cluster puissent se rétablir après des redémarrages.

In-Memory DB offre une mise à l'échelle verticale (ajout de CPU, de RAM, de stockage) et une mise à l'échelle horizontale (ajout de nœuds). La capacité de stockage évolue automatiquement en fonction de la RAM et du mode de persistance choisi. La haute disponibilité est réalisée grâce à des Cluster multi-nœuds avec une réplication asynchrone par défaut, et un mode semi-synchrone optionnel pour une cohérence plus forte.

La sécurité inclut des connexions client chiffrées par TLS, un contrôle d'accès basé sur les rôles et un déploiement uniquement sur le réseau privé. Chaque instance s'exécute sur des VM Enterprise dédiées et n'est accessible que via des LAN privées dans votre VDC. Les limites de ressources incluent un quota par contrat par défaut de 16 cœurs CPU, 32 GB de RAM, 1500 GB d'espace disque et 10 Cluster de base de données, avec jusqu'à 5 instances par Cluster et jusqu'à 2 TB de stockage par instance.

4.2 Cas d'utilisation d'In-Memory DB

In-Memory DB excelle en tant que couche de mise en cache de base de données. Placez-le devant votre base de données principale pour stocker les données fréquemment accédées en RAM. Cela réduit le nombre de requêtes atteignant votre base de données, diminue la latence et améliore la réactivité globale de l'application. La mise en cache est particulièrement précieuse pour les charges de travail intensives en lecture où les mêmes données sont accédées de manière répétée par de nombreux utilisateurs.

Les applications d'analyse en temps réel utilisent In-Memory DB pour traiter des données en flux avec une latence inférieure à la milliseconde. Les plateformes de publicité en ligne, les moteurs de recommandation et les tableaux de bord en temps réel nécessitent un accès instantané aux données que le stockage basé sur le disque ne peut pas fournir. In-Memory DB peut agréger de grands volumes d'événements en mémoire, effectuer des calculs et servir les résultats aux applications immédiatement.

Le stockage de sessions est un autre cas d'utilisation courant. Les applications Web stockent les données de session utilisateur dans In-Memory DB pour un accès rapide sur plusieurs serveurs d'application. Le stockage en mémoire garantit que les recherches de session ne ralentissent pas les interactions utilisateur. La messagerie intermédiaire et les classements pour les applications de jeu bénéficient également de la vitesse et du support des structures de données fournis par In-Memory DB.

4.3 Event Streams for Apache Kafka

Event Streams for Apache Kafka est le service entièrement géré de IONOS CLOUD pour le flux et le traitement d'événements en temps réel. Apache Kafka est une plateforme de flux distribuée qui agit en tant que courtier de messages à haut débit et journal d'événements. Les applications publient des flux d'événements dans des sujets Kafka, et d'autres applications s'abonnent à ces sujets pour traiter les événements en temps réel.

Kafka organise les données en sujets, qui sont partitionnés et répliqués sur plusieurs brokers pour l'évolutivité et la durabilité. Les partitions permettent un traitement parallèle tout en maintenant l'ordre des messages au sein de chaque partition. La réplication garantit que les données ne sont pas perdues si un broker échoue. Les producteurs écrivent des événements dans les sujets, et les consommateurs lisent les événements à leur propre rythme, permettant des architectures flexibles.

IONOS CLOUD Event Streams propose cinq tailles de Cluster prédéfinies de XS à XL, chacune avec du CPU, de la RAM et du stockage SSD dédiés. Vous pouvez mettre à l'échelle les Cluster vers le haut ou vers le bas selon que vos besoins en débit et en stockage changent. La haute disponibilité est intégrée grâce à des nœuds redondants et une bascule automatique. Vous configurez le facteur de réplication pour contrôler le nombre de copies de chaque partition existant sur les brokers.

La sécurité inclut la communication chiffrée par TLS, une authentification forte par certificats TLS et des contrôles d'autorisation fins. Les Cluster sont attachés à des LAN privées pour un trafic réseau isolé entre vos applications et Kafka. Vous pouvez ajuster les partitions, la durée de rétention et la taille de rétention pour correspondre aux exigences de débit et de stockage.

La gestion est disponible via l'interface graphique Data Center Designer, les API et les SDK. Vous pouvez créer et configurer des Cluster, des sujets, des brokers et des autorisations sans une expertise approfondie de Kafka. Le service gère l'infrastructure sous-jacente, les correctifs et la surveillance, permettant à votre équipe de se concentrer sur la construction d'applications de flux.

4.4 Cas d'utilisation d'Event Streams

Event Streams excelle dans le traitement de données en temps réel à grande échelle. Les plateformes de commerce électronique ingèrent des millions de transactions, mises à jour d'inventaire et interactions utilisateur par jour. Kafka gère ce volume grâce à la partitionnement et au traitement parallèle. Les cadres de traitement de flux comme Kafka Streams, Apache Flink ou Spark lisent depuis les sujets Kafka, effectuent un traitement d'événements complexe et écrivent les résultats dans les systèmes en aval comme les bases de données ou les tableaux de bord. Cela permet la personnalisation en temps réel, la détection de fraude et l'analyse opérationnelle.

La gestion de données IoT exploite Kafka pour collecter des flux continus depuis des milliers de capteurs. Les initiatives de villes intelligentes déploient des Cluster Kafka près des emplacements périphériques pour minimiser la latence. Les capteurs poussent la télémétrie dans les sujets, et les tâches de traitement de flux détectent les modèles, déclenchent des alertes et alimentent les pipelines IA/ML. La compaction des journaux conserve l'état le plus récent par appareil, tandis que les politiques de rétention gèrent les données historiques. Cette architecture permet la surveillance en temps réel, la détection d'anomalies et la maintenance prédictive.

L'analyse des flux de clics pour les sites Web et les applications mobiles est un autre cas d'utilisation courant. Les interactions des utilisateurs affluent dans les sujets Kafka où elles peuvent être analysées en temps réel pour personnaliser le contenu, détecter les modèles de comportement et suivre les indicateurs commerciaux. Les services financiers utilisent Kafka pour le traitement des transactions, la conformité réglementaire et les flux de données de marché où la faible latence et l'ordre garanti sont critiques.

5. Choisir le bon service de base de données

La sélection du service de base de données approprié dépend de votre modèle de données, de vos exigences de cohérence, de vos besoins en matière d'évolutivité et de vos attentes en matière de performance. La compréhension des forces de chaque option vous aide à associer les services aux exigences de l'application.

5.1 Cadre de décision

Le tableau suivant compare les services de base de données d'IONOS CLOUD selon des caractéristiques clés :

Fonction / Critère Managed PostgreSQL Managed MongoDB Managed MariaDB In-Memory DB Event Streams for Kafka
Modèle de données Relationnel (SQL) avec JSON et GIS Documentaire (BSON/JSON) Relationnel (compatible MySQL) Clé-valeur avec structures de données Journal d'événements / Flux de messages
Idéal pour Transactions complexes, conformité ACID, jointures Schémas flexibles, développement rapide Applications web, migration MySQL Mise en cache, analyse en temps réel Traitement d'événements en temps réel, IoT
Évolutivité Verticale + horizontale (réplicas) Verticale + horizontale (sharding + réplicas) Verticale + horizontale (réplicas) Verticale + horizontale Horizontale (partitions)
Cohérence Forte (strict-sync disponible) Forte par défaut (majorité write concern avec j:true ; ajustable) Forte Événementielle (configurable) Configurable par sujet
Latence Faible (millisecondes) Faible (millisecondes) Faible (millisecondes) Ultra-faible (inférieure à la milliseconde) Faible (millisecondes)
Type de stockage SSD Premium (jusqu'à 2 To) NVMe (Business), SSD ou HDD (Enterprise - jusqu'à 4 To) SSD (jusqu'à 2 To) RAM + persistance SSD SSD
Cas d'utilisation Finance, ERP, entrepôts de données CMS, backends mobiles, IoT Applications web, commerce électronique, SaaS Stockage de sessions, tableaux de bord en temps réel Analyse en flux, agrégation de journaux

Utilisez les bases de données relationnelles (PostgreSQL ou MariaDB) lorsque vous avez besoin d'une cohérence transactionnelle forte, de jointures complexes entre plusieurs tables et de schémas bien définis. Choisissez les bases de données documentaires (MongoDB) lorsque votre modèle de données évolue fréquemment ou varie selon les enregistrements. Sélectionnez In-Memory DB lorsque vous avez besoin de mise en cache ou d'un accès à latence ultra-faible. Choisissez Event Streams lorsque vous devez traiter des flux d'événements à fort volume en temps réel.

5.2 Combinaison de services de base de données

De nombreuses applications utilisent plusieurs services de base de données ensemble pour répondre à différentes exigences. Un schéma courant associe une base de données relationnelle pour les données transactionnelles à In-Memory DB pour la mise en cache. La base de données relationnelle garantit l'intégrité des données et prend en charge les requêtes complexes, tandis que le cache réduit la charge et améliore les temps de réponse.

Un autre schéma combine une base de données principale avec Event Streams pour le traitement en temps réel. Les écritures de l'application sont envoyées à la base de données et sont également publiées en tant qu'événements vers Kafka. Les processeurs de flux consomment les événements pour mettre à jour les index de recherche, déclencher des flux de travail ou alimenter les systèmes d'analyse. Cette architecture permet les microservices pilotés par événements et les pipelines de données en temps réel sans coupler directement les systèmes.

Les plateformes de commerce électronique peuvent utiliser PostgreSQL pour les commandes et les stocks, MongoDB pour les catalogues de produits avec des attributs variables, In-Memory DB pour les sessions du panier d'achat, et Event Streams pour traiter l'activité des utilisateurs et les mises à jour des stocks en temps réel. Chaque service gère la charge de travail pour laquelle il est le mieux adapté, créant une architecture flexible et performante.

Cas d'utilisation courants

Des scénarios concrets illustrent la manière dont les services de base de données d'IONOS CLOUD résolvent des défis métier :

  1. Plateforme de commerce électronique avec une architecture multi-bases de données : Un détaillant en ligne utilise Managed PostgreSQL pour le traitement des commandes et les transactions financières, où les garanties ACID sont essentielles (section 2.1). Les catalogues de produits aux attributs variés, tels que les tailles de vêtements et les spécifications des produits électroniques, sont stockés dans Managed MongoDB pour sa flexibilité de schéma (section 3.1). Les paniers d'achat et les données de session des clients sont conservés dans In-Memory DB pour un accès instantané et une latence minimale (section 4.1). Les flux de clics des utilisateurs transitent par Event Streams for Apache Kafka pour alimenter des recommandations en temps réel et des mises à jour des stocks (section 4.3). Cette combinaison associe chaque type de données au service de base de données optimal.
  2. Application SaaS avec mise en cache et haute disponibilité : Une plateforme SaaS multi-locataires exécute Managed MariaDB pour les données clients, avec des clusters haute disponibilité multi-nœuds qui minimisent les temps d'indisponibilité lors des basculements et des opérations de maintenance (section 2.2). In-Memory DB met en cache les configurations de locataires fréquemment consultées, réduisant ainsi considérablement le nombre de requêtes atteignant la base de données et améliorant les temps de réponse (section 4.2). Les sauvegardes automatisées avec récupération à un instant donné protègent contre la perte de données, et les capacités de restauration autonome permettent à l'équipe de récupérer rapidement après une erreur sans contacter le support. Le déploiement sur un réseau privé assure l'isolation et la sécurité des données des locataires.
  3. Plateforme IoT avec analytique en temps réel : Une initiative de ville intelligente collecte des données provenant de milliers de capteurs de trafic et de moniteurs environnementaux. Event Streams for Apache Kafka ingère la télémétrie des capteurs avec un partitionnement pour un traitement parallèle (section 4.3). Les jobs de traitement de flux analysent les modèles de trafic en temps réel et déclenchent des alertes lorsque des anomalies sont détectées. Les données historiques des capteurs sont stockées dans Managed MongoDB à l'aide de collections séries temporelles optimisées pour les charges de travail intensives en écriture (section 3.1). In-Memory DB maintient les états les plus récents des capteurs pour des mises à jour instantanées des tableaux de bord (section 4.1). Cette architecture traite des millions d'événements par heure tout en maintenant une latence inférieure à la seconde pour la prise de décision opérationnelle.

Résumé

Les bases de données et les services de données constituent des éléments fondamentaux pour les applications cloud. IONOS CLOUD propose des offres de bases de données entièrement gérées qui prennent en charge le provisionnement de l'infrastructure, les correctifs, les sauvegardes et la haute disponibilité, vous permettant de vous concentrer sur le développement d'applications et la conception des schémas. Les services gérés offrent un temps de mise sur le marché plus rapide, une charge opérationnelle réduite et une tarification basée sur la consommation par rapport aux déploiements auto-gérés.

Les bases de données relationnelles telles que Managed PostgreSQL et MariaDB offrent une forte cohérence, des transactions ACID et des capacités d'interrogation SQL pour les applications traditionnelles nécessitant des données structurées et des jointures complexes. Les bases de données documentaires telles que Managed MongoDB offrent une flexibilité de schéma et une mise à l'échelle horizontale pour les applications modernes aux exigences évolutives. Les services spécialisés, notamment In-Memory DB pour la mise en cache et Event Streams for Apache Kafka pour le traitement en temps réel, permettent des modèles d'accès à latence ultra-faible.

Le choix du bon service de base de données nécessite de comprendre votre modèle de données, vos besoins en cohérence, vos exigences d'évolutivité et vos attentes en matière de performances. De nombreuses applications combinent plusieurs services afin de tirer parti des forces de chacun. Comprendre ces options vous aide à concevoir des architectures performantes, fiables et rentables.

Points clés :

  • Les services de bases de données gérées gèrent automatiquement l'infrastructure, les correctifs, les sauvegardes et la haute disponibilité, libérant votre équipe pour se concentrer sur les applications plutôt que sur les opérations
  • Managed PostgreSQL et MariaDB fournissent des bases de données SQL relationnelles conformes ACID, adaptées aux charges de travail transactionnelles, aux systèmes financiers et à l'entrepôt de données
  • Managed MongoDB offre une base de données documentaire avec des schémas flexibles et une mise à l'échelle horizontale pour la gestion de contenu, les back-ends mobiles et les applications à évolution rapide
  • In-Memory DB offre une latence inférieure à la milliseconde grâce à un stockage basé sur la RAM, idéal pour la mise en cache, le stockage de sessions et l'analyse en temps réel
  • Event Streams for Apache Kafka permet le flux d'événements à haut débit pour le traitement de données en temps réel, la télémétrie IoT et les architectures pilotées par les événements
  • Le choix du bon service de base de données dépend du modèle de données (relationnel, documentaire, clé-valeur ou flux), des exigences de cohérence et des besoins en évolutivité

Terminologie importante :

  • Database-as-a-Service (DBaaS) : Service de base de données entièrement géré où le fournisseur prend en charge l'infrastructure, la maintenance et les opérations
  • ACID : Atomicité, Cohérence, Isolation, Durabilité : propriétés qui garantissent des transactions de base de données fiables
  • Réplication : Copie des données sur plusieurs nœuds de base de données pour assurer la haute disponibilité et la tolérance aux pannes
  • Restauration à un instant donné (PITR) : Capacité de restaurer une base de données à un moment précis au sein de la période de conservation des sauvegardes
  • Sharding : Distribution des données sur plusieurs nœuds de base de données pour permettre la mise à l'échelle horizontale et traiter des jeux de données plus volumineux
  • Base de données documentaire : Base de données NoSQL qui stocke les données sous forme de documents flexibles de type JSON au lieu de tables à schéma fixe
  • Base de données en mémoire : Base de données qui stocke les données en RAM pour un accès ultra-rapide avec une latence inférieure à la milliseconde
  • Flux d'événements : Flux continu de données d'événements à travers un système de journalisation distribué pour le traitement en temps réel

Prochaines étapes

Continuer l'apprentissage : Unité 2.6 : Security Services

Sujets connexes :