Unité 2.5 : Base de données et services de données
Introduction
Imaginez une cuisine de restaurant très occupée où le chef se concentre entièrement sur la création de plats incroyables tandis qu'une équipe dédiée gère la maintenance de l'équipement, l'inventaire des ingrédients et le nettoyage. Le chef ne s'inquiète pas de réparer les fours ou de commander des fournitures car ces responsabilités appartiennent à des spécialistes. Les services de bases de données gérées fonctionnent de la même manière. Ils permettent à votre équipe de se concentrer sur la création d'applications exceptionnelles tandis que IONOS CLOUD gère l'infrastructure, les correctifs, les sauvegardes et la maintenance.
Dans cette unité, vous explorerez les offres IONOS CLOUD Database-as-a-Service (DBaaS). Vous apprendrez sur les bases de données relationnelles comme Managed PostgreSQL et MariaDB pour les données structurées, les bases de données de documents comme Managed MongoDB pour les schémas flexibles, In-Memory DB pour le 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 bonne base de données pour vos besoins d'application.
1. Aperçu des bases de données gérées
Le Database-as-a-Service (DBaaS) offre des moteurs de base de données entièrement géré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 la mise en service, la correction, les sauvegardes et la haute disponibilité, tandis que vous conservez un contrôle total sur vos données et la configuration de votre base de données.
1.1 Ce qui fait d'une base de données une base de données "gérée"
Un service de base de données gérée prend en charge l'ensemble de la pile de base de données, depuis le matériel et le système d'exploitation jusqu'au moteur de base de données et à la maintenance continue. Vous provisionnez un cluster via le Data Center Designer ou l'API, et en quelques minutes, vous avez une base de données prête pour la production sans avoir à installer de logiciels ou à configurer des serveurs.
Les bases de données gérées diffèrent des déploiements auto-gérés à plusieurs égards clés. Le fournisseur cloud fournit le matériel, applique les correctifs du micrologiciel et du système d'exploitation, et gère les mises à jour du logiciel de base de données. Vous évitez ainsi d'acheter des serveurs physiques, d'installer des équipements et de maintenir l'infrastructure. Les bases de données sont pré-configurées avec les meilleures pratiques en matière de sécurité, des sauvegardes automatisées et des fonctionnalités de haute disponibilité intégrées. Votre équipe se concentre sur la conception du schéma, l'optimisation des requêtes et le développement d'applications au lieu des opérations routinières.
1.2 Avantages des services de bases de données gérées
Le tableau suivant compare les bases de données gérées aux déploiements auto-gérés dans les domaines opérationnels critiques :
| Domaine | Avantages des bases de données gérées | Exigences pour les déploiements auto-gérés |
|---|---|---|
| Matériel et micrologiciel | Le fournisseur met en service, installe et maintient automatiquement les serveurs, les pilotes et le micrologiciel | Acheter, installer, alimenter, connecter et corriger manuellement les machines physiques |
| 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é |
| Opérations et personnel | Le personnel se concentre sur le développement d'applications au lieu des opérations routinières | Nécessite des administrateurs de bases de données ou des ingénieurs pour gérer les installations, les correctifs, la surveillance et la résolution des problèmes |
| Correctifs et mises à niveau | Correctifs réguliers appliqués automatiquement pendant les fenêtres de maintenance | Suivre les versions de sécurité, planifier les temps d'arrêt, tester les mises à niveau, appliquer manuellement |
| Haute disponibilité | Clusters HA intégrés avec basculement automatique et réplication | Conception et mise en œuvre d'une topologie de réplication personnalisée et test des procédures de basculement |
| Sauvegarde et restauration | Sauvegardes automatisées quotidiennes avec récupération ponctuelle | Déployer des agents de sauvegarde, planifier les instantanés, gérer la rétention, tester les restaurations |
| Évolutivité | Mise à l'échelle verticale et horizontale via l'API ou la console | Acheter 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é privée | Durcir le système d'exploitation, gérer les certificats, configurer les pare-feu et la segmentation réseau |
| Surveillance | Métriques intégrées, journaux, alertes disponibles dans le panneau de contrôle ou via l'API | Installer des agents de surveillance, créer des tableaux de bord, maintenir les pipelines d'alerte |
| Modèle de coût | Facturation à la minute pour les ressources utilisées | Dépense en capital pour le matériel, capacité surdimensionnée, contrats à long terme |
Les bases de données gérées offrent rapidité et simplicité en fournissant des environnements prêts pour la production en quelques minutes. Elles offrent fiabilité grâce aux configurations automatiques haute disponibilité et aux correctifs pris en charge par le fournisseur. Elles améliorent l'efficacité opérationnelle en libérant votre équipe des tâches administratives routinières. 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 communes des bases de données gérées
Tous les services de bases de données gérées IONOS CLOUD partagent des capacités essentielles qui garantissent une fiabilité et une sécurité au niveau entreprise. Chaque service s'exécute sur des VM dédiées avec des ressources CPU, RAM et stockage garanties. Les clusters sont déployés dans des LAN privés dans votre centre de données virtuel, garantissant ainsi l'isolement réseau et la sécurité.
La haute disponibilité est standard grâce aux clusters multi-nœuds avec basculement automatique. Si un nœud échoue, le cluster promeut automatiquement un réplica pour maintenir la continuité du service. La réplication peut être configurée comme asynchrone pour une meilleure performance ou strictement synchrone pour zéro perte de données (la disponibilité varie selon le moteur).
La sécurité est intégrée dans chaque couche. Toutes les connexions clientes 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 autorisations granulaires pour les utilisateurs et les applications. Les bases de données ne sont accessibles qu'à travers des réseaux privés et ne sont jamais exposées directement à Internet. Les sauvegardes sont chiffrées et stockées sécurisément dans IONOS Cloud Object Storage.
Les sauvegardes automatisées s'exécutent quotidiennement sur tous les moteurs, avec une récupération ponctuelle généralement disponible pendant une semaine ; pour Managed MongoDB, PITR est disponible uniquement dans l'édition Enterprise (Business prend en charge la restauration d'instantanés et Playground désactive les sauvegardes). Vous pouvez restaurer l'intégralité des clusters 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 d'planifier les correctifs et les mises à niveau à des moments pratiques avec une perturbation minimale.
La surveillance et la création de rapports sont intégrées dans Data Center Designer et disponibles via API. Vous pouvez suivre l'utilisation du processeur, la consommation mémoire, la capacité stockage, le nombre connexions ainsi que les performances requêtes. Les métriques ainsi que logs aident optimiser performances ainsi résoudre problèmes avant qu'ils impactent utilisateurs.
2. Services de bases de données relationnelles
Les bases de données relationnelles organisent les données en tables avec des schémas définis, appliquent des relations via des clés étrangères et prennent en charge des requêtes complexes en utilisant SQL. IONOS CLOUD offre deux moteurs de bases de données relationnelles : PostgreSQL et MariaDB.
2.1 Managed PostgreSQL
Managed PostgreSQL livre une base de données PostgreSQL d'entreprise entièrement compatible, en tant que service géré. PostgreSQL est connu pour ses fonctionnalités avancées, son extensibilité et son support pour les données relationnelles traditionnelles ainsi que les documents JSON modernes. Il s'exécute sur des clusters dédiés avec CPU, RAM et stockage configurables à l'intérieur 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, une recherche de texte intégral et une optimisation de requête puissante. Vous pouvez utiliser des extensions PostgreSQL pour ajouter des fonctionnalités comme le support de 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 les tables et les données semi-structurées stockées sous forme de JSON ou JSONB.
Les capacités clés incluent la mise à l'échelle verticale (ajout de CPU, RAM, stockage en cours d'exécution) et la mise à l'échelle horizontale (ajout d'instances de réplication pour le trafic en lecture). La haute disponibilité est atteinte grâce à 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 de validation 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 le Data Center Designer, l'API Telemetry et le Monitoring Service, avec une durée de conservation configurable par le client (une conservation 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'écriture avant (WAL) avec des sauvegardes quotidiennes, permettant une récupération ponctuelle dans un délai d'une semaine. Vous pouvez même cloner des clusters à partir de sauvegardes existantes pour les environnements de test ou de développement.
2.2 Managed MariaDB
Managed MariaDB fournit une base de données relationnelle compatible MySQL qui a été créée à partir d'une fork communautaire de MySQL. Elle alimente des services à trafic élevé comme 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 compatible ACID et prend en charge les déclencheurs, les procédures stockées et les vues. Il inclut plusieurs moteurs de stockage optimisés pour différents workloads, allant du moteur InnoDB transactionnel aux moteurs colonne-stockage pour l'analyse. Le support natif pour JSON et les fonctions GIS le rend adapté aux applications qui mélangent des données structurées et semi-structurées.
Le service propose une mise à l'échelle verticale jusqu'à 16 cœurs et 32 Go de RAM par nœud, avec des clusters multi-nœuds haute disponibilité pour un basculement automatique. Chaque utilisateur dispose de 250 connexions et max_connections est défini sur 500. Le stockage est basé sur SSD, la limite supérieure pour la taille du stockage est de 2 To.
Une fonctionnalité unique d'auto-restauration vous permet de restaurer des sauvegardes spécifiques ou d'annuler jusqu'à n'importe quel point dans le délai de conservation d'une semaine directement via le Data Center Designer ou l'API. Cette fonctionnalité réduit le temps d'arrêt et le risque de perte de données sans nécessiter l'émission de tickets d'assistance.
2.3 Choix entre PostgreSQL et MariaDB
Les deux PostgreSQL et MariaDB sont d'excellentes bases de données relationnelles, mais elles excellent dans différents scénarios. Comprendre quand utiliser chacune vous aide à faire le bon choix pour votre application.
Choisissez PostgreSQL lorsque vous avez besoin de fonctionnalités sophistiquées comme l'indexation avancée, les extensions étendues ou la 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 workloads nécessitant une réplication synchrone avec zéro perte de données. Il est idéal pour les systèmes financiers, les applications ERP et l'entreposage de données où les garanties ACID et la flexibilité des requêtes sont critiques.
Choisissez MariaDB lorsque vous avez une connaissance existante ou des applications MySQL, que vous avez besoin d'une syntaxe MySQL-compatible familière ou que vous créez des applications Web et des plateformes e-commerce. MariaDB offre d'excellentes performances pour les workloads en lecture à forte concurrence et fournit une forte prise en charge GIS et JSON. Il est bien adapté aux systèmes de gestion de contenu, aux plateformes SaaS et aux scénarios où la compatibilité MySQL simplifie la migration.
3. Base de données de documents et services NoSQL
Les bases de données de documents stockent les données sous forme de documents JSON flexibles au lieu de tables à schéma fixe. Cette flexibilité les rend idéales pour les applications avec des modèles de données en évolution rapide ou des structures de données 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 de documents 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 à des besoins différents. L'édition Playground offre un cluster à nœud unique gratuit avec 2 Go de RAM, 1 vCPU et 50 Go de stockage sur une infrastructure partagée pour le développement et les tests. L'édition Business propose des modèles pré définis pour les charges de travail de production avec des clusters multi instances basés sur les VM Cube et le stockage NVMe. L'édition Enterprise offre un contrôle total sur la taille des nœuds en utilisant des VM Dedicated Core, un stockage bloc SSD et HDD, des configurations de sharding et inclut l'accès à l'équipe de support professionnelle de MongoDB, en plus du support d'IONOS CLOUD.
Les capacités clés incluent la mise à l'échelle horizontale grâce au sharding et aux ensembles de réplicas intégrés. Le sharding distribue 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éplicas offrent une haute disponibilité avec une bascule automatique. MongoDB prend en charge jusqu'à environ 114 000 connexions par cluster, bien au-delà des limites de connexion des bases de données relationnelles.
Le stockage NVMe est disponible dans l'édition Business qui est hébergée sur les VM Cube. Le stockage bloc SSD ou HDD est disponible dans l'édition Enterprise qui est hébergée sur des VM Dedicated Core. Les clusters multi instances répliquent automatiquement les données sur les nœuds, le principal gérant les écritures et les secondaires servant les lectures. Le service inclut la 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 standard MongoDB, les pilotes et le shell mongo. Vous gérez les clusters via Data Center Designer, l'API REST dédiée MongoDB ou les SDK. Les instantanés quotidiens hors site sont stockés dans Object Storage pendant jusqu'à sept jours, et les clusters Enterprise ajoutent une récupération ponctuelle.
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 rapides bénéficient de la possibilité de modifier la structure du document sans migration 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'intègrent naturellement dans les modèles de documents.
Les charges de travail à écriture élevée tirent parti de la mise à l'échelle horizontale de MongoDB grâce au sharding. Les applications qui génèrent des volumes massifs de données, telles que l'analyse des clics ou la traçabilité des événements utilisateur, peuvent distribuer les écritures sur plusieurs shards pour améliorer les performances. Le modèle document simplifie également le stockage de structures de données imbriquées complexes qui nécessiteraient plusieurs tables et joints dans les bases de données relationnelles.
Utilisez MongoDB lorsque votre application a des exigences en évolution et que vous devez ajouter de nouveaux champs ou modifier fréquemment les structures de données. 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 le nombre élevé de connexions sont des avantages.
4. Services de bases de données spécialisés
Au-delà des bases de données relationnelles et de documents traditionnelles, IONOS CLOUD offre des services spécialisés pour le cache et le streaming d'événements. Ces services résolvent des défis de performance et d'architecture spécifiques.
4.1 In-Memory DB
In-Memory DB est le service de base de données entièrement géré par IONOS CLOUD, compatible Redis, qui stocke toutes les données en RAM pour des temps d'accès inférieurs à une milliseconde. Contrairement aux bases de données basées sur disque qui lisent à partir du stockage, In-Memory DB sert les données directement à partir de la mémoire, offrant des performances plusieurs milliers de fois plus rapides.
Le service est basé sur Redis, un serveur de structure de données en mémoire open-source. Il prend en charge différents types de données, notamment les chaînes, les hachages, les listes, les ensembles, les ensembles triés, les cartes bitmap, les hyperloglogs, les index spatiaux et les flux. Cette flexibilité le rend utile au-delà du simple cache de clé-valeur.
Les options de persistance vous permettent d'équilibrer la vitesse avec la durabilité. Choisissez une absence de persistance pour un cache pur où les données peuvent être reconstruites, des instantanés RDB pour des points de contrôle périodiques, un journal 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 grappes puissent se rétablir après redémarrage.
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 est mise à l'échelle automatiquement en fonction de la RAM et du mode de persistance choisi. La haute disponibilité est assurée grâce à des grappes multi-nœuds avec une réplication asynchrone par défaut, avec un mode semi-synchrone facultatif pour une cohérence plus forte.
La sécurité comprend des connexions clientes chiffrées TLS, un contrôle d'accès basé sur des rôles et un déploiement uniquement sur 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 au sein de votre VDC. Les limites de ressources incluent une quote-part par contrat par défaut de 16 cœurs CPU, 32 Go de RAM, 1500 Go d'espace disque et 10 grappes de bases de données, avec jusqu'à 5 instances par grappe et jusqu'à 2 To de stockage par instance.
4.2 Cas d'utilisation d'In-Memory DB
In-Memory DB excelle en tant que couche de cache de base de données. Placez-le devant votre base de données principale pour stocker les données fréquemment accessibles en RAM. Cela réduit le nombre de requêtes qui frappent votre base de données, abaisse la latence et améliore la réactivité globale de l'application. Le cache est particulièrement précieux pour les charges de travail lourdes en lecture où les mêmes données sont accessibles à plusieurs reprises par muchos utilisateurs.
Les applications d'analyse en temps réel utilisent In-Memory DB pour traiter les flux de données avec une latence inférieure à une milliseconde. Les plateformes publicitaires 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 disque ne peut pas fournir. In-Memory DB peut agréger d'importants volumes d'événements en mémoire, effectuer des calculs et servir des résultats aux applications immédiatement.
Le stockage de session 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 entre plusieurs serveurs d'applications. Le stockage en mémoire garantit que la recherche des sessions ne ralentit pas les interactions utilisateur. Le courtage de messages et les classements pour les applications jeu profitent également de la vitesse et du support des structures de données qu'offre In-Memory DB.
4.3 Event Streams for Apache Kafka
Event Streams for Apache Kafka est le service entièrement géré par IONOS CLOUD pour le streaming et le traitement d'événements en temps réel. Apache Kafka est une plate-forme de streaming distribuée qui agit comme un courtier de messages haute performance et un journal d'événements. Les applications publient des flux d'événements vers des sujets Kafka, et d'autres applications s'abonnent à ces sujets pour traiter des événements en temps réel.
Kafka organise les données en sujets, qui sont partitionnés et répliqués sur plusieurs courtiers pour la scalabilité et la durabilité. Les partitions permettent un traitement parallèle tout en maintenant l'ordre des messages dans chaque partition. La réplication garantit que les données ne sont pas perdues si un courtier échoue. Les producteurs écrivent des événements dans des sujets, et les consommateurs lisent des événements à leur propre rythme, permettant ainsi des architectures flexibles.
IONOS CLOUD Event Streams propose cinq tailles pré-définies pour grappes allant du XS au XL : chacune dispose d'un CPU dédié : RAM : SSD ; vous pouvez mettre à l'échelle ces grappes vers le haut ou vers le bas selon vos besoins changeants ; La haute disponibilité est intégrée grâce à des nœuds redondants ; vous configurez le facteur réplication : contrôlez combien copies partition existent entre courtiers ;
La sécurité comprend une communication chiffrée TLS : authentification forte via certificats TLS : autorisations granulaires ; clusters attachés LAN privés isolés trafic réseau entre vos applications Kafka ; vous pouvez ajuster partitions : temps conservation : taille conservation correspondre débit besoins stockage requis ;
La gestion est disponible via Data Center Designer graphique : API : SDK ; vous pouvez créer configurer clusters sujets courtiers autorisations sans expertise approfondie Kafka ; service gère infrastructure sous-jacente correction erreur surveillance permettant équipe se concentrer construction application streaming.
4.4 Cas d'utilisation d'Event Streams
Event Streams excelle dans le traitement des données en temps réel à grande échelle. Les plateformes e-commerce ingèrent millions transactions mises à jour inventaire interactions utilisateur par jour ; Kafka gère ce volume grâce partitionnement traitement parallèle ; cadres traitement flux comme Kafka Streams Apache Flink Spark lisent sujets Kafka effectuent traitement événement complexe écrivent résultats systèmes aval tels bases données tableaux ; cela permet personnalisation temps réel détection fraude analyse opérationnelle.
La gestion des données IoT utilise Kafka pour collecter flux continus provenant milliers capteurs ; initiatives ville intelligente déploient grappes Kafka près emplacements limite latence ; capteurs poussent télémétrie dans sujets emplois traitement flux détectent modèles déclenchent alertes alimentent pipelines AI/ML ; compaction journal conserve dernier état périphérique tandis stratégies conservation gèrent historique ; cette architecture permet surveillance temps réel détection anomalie maintenance préventive.
L'analyse du flux clics sites Web applications mobiles constitue un autre cas courant ; interactions utilisateur affluent dans sujets Kafka où elles peuvent être analysées temps réel personnaliser contenu détecter modèles comportement suivre indicateurs métier ; services financiers utilisent Kafka traitement transactionnel rapports réglementaires flux marché où faible latence ordonnancement garanti sont critiques.
5. Choix du 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, des exigences de cohérence, des besoins d'évolutivité et des attentes de performance. Comprendre les forces de chaque option vous aide à faire correspondre les services aux exigences de l'application.
5.1 Cadre de décision
Le tableau suivant compare les services de base de données IONOS CLOUD selon les caractéristiques clés :
| Fonctionnalité / Considération | Managed PostgreSQL | Managed MongoDB | Managed MariaDB | In-Memory DB | Event Streams for Kafka |
|---|---|---|---|---|---|
| Modèle de données | Relationnel (SQL) avec JSON et GIS | Document (BSON/JSON) | Relationnel (compatible MySQL) | Clé-valeur avec structures de données | Journal d'événements / Flux de messages |
| Meilleur 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 (partitionnement + réplicas) | Verticale + horizontale (réplicas) | Verticale + horizontale | Horizontale (partitions) |
| Cohérence | Forte (strict-sync disponible) | Éventuelle (configurable) | Forte | Éventuelle (configurable) | Configurable par sujet |
| Latence | Faible (millisecondes) | Faible (millisecondes) | Faible (millisecondes) | Ultra-faible (sous-milliseconde) | Faible (millisecondes) |
| Type de stockage | SSD Premium (jusqu'à 2 To) | NVMe (Business), SSD ou HDD (Enterprise - jusqu'à 4 To) | SSD (jusqu'à 2 To) | Mémoire vive + persistance SSD | SSD |
| Cas d'utilisation | Finance, ERP, entrepôt de données | CMS, back-ends mobiles, IoT | Applications Web, commerce électronique, SaaS | Stockage de session, tableaux de bord en temps réel | Analyse de flux, agrégation de journaux |
Utilisez des bases de données relationnelles (PostgreSQL ou MariaDB) lorsque vous avez besoin d'une cohérence transactionnelle forte, de jointures complexes sur plusieurs tables et de schémas bien définis. Choisissez des bases de données documentaires (MongoDB) lorsque votre modèle de données évolue fréquemment ou varie par enregistrement. Sélectionnez In-Memory DB lorsque vous avez besoin de mise en cache ou d'un accès à ultra-faible latence. Choisissez Event Streams lorsque vous avez besoin de traiter des flux d'événements à haute volume en temps réel.
5.2 Combinaison des services de base de données
De nombreuses applications utilisent plusieurs services de base de données ensemble pour répondre à différents besoins. Un modèle courant associe une base de données relationnelle pour les données transactionnelles avec 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 des requêtes complexes, tandis que le cache réduit la charge et améliore les temps de réponse.
Un autre modèle combine une base de données principale avec Event Streams pour le traitement en temps réel. Les écritures d'application vont à la base de données et sont également publiées sous forme d'événements à Kafka. Les processeurs de flux consomment les événements pour mettre à jour les indexes de recherche, déclencher des flux de travail ou alimenter des systèmes d'analyse. Cette architecture permet des microservices orientés événements et des 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 produits avec attributs variables, In-Memory DB pour les sessions du panier d'achat et Event Streams pour traiter l'activité utilisateur et les mises à jour d'inventaire en temps réel. Chaque service gère la charge qu'il est le mieux adapté à gérer, créant ainsi une architecture flexible et performante.
Cas d'utilisation courants
Des scénarios du monde réel démontrent comment les services de base de données d'IONOS CLOUD résolvent les défis commerciaux :
- Plateforme de commerce électronique avec architecture multi-base 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 critiques (Section 2.1). Les catalogues de produits avec des attributs variables tels que les tailles de vêtements et les spécifications d'électronique sont stockés dans Managed MongoDB pour la flexibilité du schéma (Section 3.1). Les chariots d'achat et les données de session des clients sont stockés dans In-Memory DB pour un accès instantané et une latence minimale (Section 4.1). Les flux de clics des utilisateurs passent par Event Streams for Apache Kafka pour alimenter les recommandations en temps réel et les mises à jour d'inventaire (Section 4.3). Cette combinaison associe chaque type de données au service de base de données optimal.
- Application SaaS avec mise en cache et haute disponibilité : Une plateforme SaaS multi-locataire utilise Managed MariaDB pour les données des clients avec des grappes multi-noeuds à haute disponibilité garantissant une absence de temps d'arrêt (Section 2.2). In-Memory DB met en cache les configurations des locataires fréquemment accessibles, réduisant considérablement le nombre de requêtes qui frappent la base de données et améliorant les temps de réponse (Section 4.2). Les sauvegardes automatisées avec récupération ponctuelle protègent contre la perte de données, et les capacités de restauration automatique permettent à l'équipe de se rétablir rapidement en cas d'erreur sans contacter le support. Le déploiement sur réseau privé assure l'isolement et la sécurité des données des locataires.
- Plateforme IoT avec analyses en temps réel : Une initiative 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 partitionnement pour un traitement parallèle (Section 4.3). Les travaux 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érie temporelle optimisées pour les charges de travail à écriture intensive (Section 3.1). In-Memory DB maintient les derniers états des capteurs pour une mise à jour instantanée du tableau de bord (Section 4.1). Cette architecture traite des millions d'événements par heure tout en maintenant une latence inférieure à une seconde pour la prise de décision opérationnelle.
Résumé
Les services de base de données et de données sont des éléments fondamentaux pour les applications cloud. IONOS CLOUD propose des offres de base de données entièrement gérées qui gèrent la mise à disposition de l'infrastructure, la correction des bogues, les sauvegardes et la haute disponibilité, tandis que vous vous concentrez sur le développement d'applications et la conception de schémas. Les services gérés offrent un temps de mise sur le marché plus rapide, une charge opérationnelle plus faible et une tarification basée sur la consommation par rapport aux déploiements auto-gérés.
Les bases de données relationnelles comme Managed PostgreSQL et MariaDB offrent une forte cohérence, des transactions ACID et des capacités de requête SQL pour les applications traditionnelles nécessitant des données structurées et des jointures complexes. Les bases de données de documents comme Managed MongoDB offrent une flexibilité de schéma et une mise à l'échelle horizontale pour les applications modernes avec des exigences évolutives. Des services spécialisés, notamment In-Memory DB pour le cache et Event Streams for Apache Kafka, permettent un traitement en temps réel et des modèles d'accès à latence ultra-faible.
Le choix du bon service de base de données nécessite une compréhension de votre modèle de données, des besoins de cohérence, des exigences d'évolutivité et des attentes de performance. De nombreuses applications combinent plusieurs services pour exploiter les forces de chacun. Comprendre ces options vous aide à concevoir des architectures qui sont performantes, fiables et rentables.
Points clés :
- Les services de base de données gérés gèrent automatiquement l'infrastructure, la correction des bogues, les sauvegardes et la haute disponibilité, libérant votre équipe pour se concentrer sur les applications au lieu des opérations
- Managed PostgreSQL et MariaDB offrent des bases de données relationnelles SQL avec conformité ACID, adaptées aux charges de travail transactionnelles, aux systèmes financiers et à l'entreposage de données
- Managed MongoDB offre une base de données de documents avec des schémas flexibles et une mise à l'échelle horizontale pour la gestion de contenu, les backends mobiles et les applications en évolution rapide
- In-Memory DB offre une latence inférieure à la milliseconde grâce au stockage basé sur la RAM, idéal pour le cache, le stockage de sessions et l'analyse en temps réel
- Event Streams for Apache Kafka permet un 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 orientées événements
- Le choix du bon service de base de données dépend du modèle de données (relationnel vs document vs clé-valeur vs flux), des exigences de cohérence et des besoins d'évolutivité
Terminologie importante :
- Base de données en tant que service (DBaaS) : Service de base de données entièrement géré où le fournisseur gère 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 fournir une haute disponibilité et une tolérance aux pannes
- Récupération à un moment précis (PITR) : Capacité à restaurer une base de données à n'importe quel moment spécifique dans la période de rétention des sauvegardes
- Sharding : Distribution des données sur plusieurs nœuds de base de données pour mettre à l'échelle horizontalement et gérer des jeux de données plus importants
- Base de données document : Base de données NoSQL qui stocke les données sous forme de documents JSON flexibles 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 d'événements via un système journalisé distribué pour le traitement en temps réel
Prochaines étapes
Continuer l'apprentissage : Unité 2.6 : Services de sécurité
Sujets connexes :
- Unité 2.3 : Services de stockage - Options de stockage de données persistantes qui complètent les services de base de données
- Unité 3.4 : Activity Logs et surveillance - Surveillance des performances et des opérations de la base de données