Unité 2.5 : Base de données et services de données
Introduction
Imaginez une cuisine de restaurant 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 de grandes applications tandis que IONOS gère l'infrastructure, la mise à jour, les sauvegardes et la maintenance.
Dans cette unité, vous explorerez les offres de IONOS 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
La base de données en tant que 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 gère la provision, la mise à jour, 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 le 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 de cloud fournit le matériel, applique les correctifs de firmware et de 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, de les installer, et de maintenir l'infrastructure. Les bases de données sont 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 de schémas, l'optimisation de requêtes, et le développement d'applications au lieu des opérations routinières.
1.2 Avantages des services de base de données gérés
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 des déploiements auto-gérés |
|---|---|---|
| Matériel et firmware | Le fournisseur provisionne, installe et maintient les serveurs, les pilotes et le firmware automatiquement | Acheter, installer, alimenter, relier en réseau et corriger les 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é |
| 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 base de données ou des ingénieurs pour gérer les installations, les correctifs, la surveillance et la résolution de problèmes |
| Correctifs et mises à jour | 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 à jour, appliquer manuellement |
| Haute disponibilité | Groupes de haute disponibilité intégrés avec basculement automatique et réplication | Conception et mise en œuvre de votre propre topologie de réplication et test des procédures de basculement |
| Sauvegarde et restauration | Sauvegardes automatisées quotidiennes avec récupération à un moment donné | 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 API ou 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é de réseau privé | Durcir le système d'exploitation, gérer les certificats, configurer les pare-feu et la segmentation du réseau |
| Surveillance | Métriques, journaux, alertes intégrés disponibles dans le panneau de contrôle ou via 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 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 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 base de données gérés IONOS partagent des capacités de base 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 de CPU, RAM, et de stockage garanties. Les groupes sont déployés dans des réseaux LAN privés dans votre centre de données virtuel, assurant ainsi l'isolement et la sécurité du réseau.
La haute disponibilité est standard grâce aux groupes multi-Node avec basculement automatique. Si un Node échoue, le Cluster promeut automatiquement une réplique pour maintenir la continuité du service. La réplication peut être configurée de manière asynchrone pour les meilleures performances ou strictement synchrone 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 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 jamais directement exposées à Internet. Les sauvegardes sont chiffrées et stockées de manière sécurisée dans IONOS Cloud Object Storage.
Les sauvegardes automatisées s'exécutent quotidiennement sur tous les moteurs, avec une récupération à un moment donné généralement disponible pendant une semaine ; pour Managed MongoDB, la récupération à un moment donné est disponible uniquement dans l'édition Enterprise (l'édition Business prend en charge la restauration Snapshot, et les sauvegardes de Playground sont désactivées). Vous pouvez restaurer l'ensemble des groupes 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 à jour à des moments pratiques avec une perturbation minimale.
La surveillance et la création de rapports sont intégrées dans le Data Center Designer et disponibles via les API. Vous pouvez suivre l'utilisation de CPU, la consommation de mémoire, la capacité de stockage, les comptes de connexions, et les performances de requêtes. Les métriques et les journaux vous aident à optimiser les performances et à résoudre les problèmes avant qu'ils n'aient un impact sur les utilisateurs, et vous pouvez utiliser Cluster, API, TLS, CPU, RAM, Node, Node, Cluster, TLS, IONOS Cloud Object Storage, Managed MongoDB, Snapshot, Windows, Data Center Designer, CPU.
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 offre deux moteurs de bases de données relationnelles : PostgreSQL et MariaDB.
2.1 Managed PostgreSQL
Managed PostgreSQL offre une base de données PostgreSQL entièrement compatible et de classe entreprise 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 et les documents JSON modernes. Il s'exécute sur des grappes dédiées avec des CPU, RAM, et un 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 les 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 de lecture). La haute disponibilité est assurée grâce à des grappes multi-Node 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 commit avec perte de données nulle. La réplication strictement synchrone nécessite au moins trois répliques.
La surveillance expose les métriques Cluster via Data Center Designer, Télémétrie API, et Monitoring Service, avec une longueur de rétention configurable par le client (une rétention plus longue augmente le coût de stockage ; aucune période de rétention par défaut n'est publiée). Les sauvegardes automatisées combinent l'archivage continu du journal d'écriture avant (WAL) avec des sauvegardes de base quotidiennes, permettant une récupération ponctuelle dans les 7 jours. Vous pouvez même cloner des grappes à 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 été créée à l'origine comme une bifurcation communautaire de MySQL. Il 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, des transactions InnoDB aux moteurs de stockage colonne pour l'analyse. Le support natif pour les documents JSON et les fonctions SIG le rend adapté aux applications qui combinent 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 Node, avec des grappes multi-Node de haute disponibilité pour un basculement automatique. Chaque utilisateur dispose de 250 connexions et max_connections est défini sur 500. Le stockage est SSD-backed, la limite supérieure pour la taille de stockage est de 2 To.
Une fonctionnalité de restauration automatique unique vous permet de restaurer des sauvegardes spécifiques ou de revenir à n'importe quel point dans le délai de rétention d'une semaine directement via Data Center Designer ou API. Cette capacité réduit le temps d'arrêt et le risque de perte de données sans nécessiter de tickets de support.
2.3 Choix entre PostgreSQL et MariaDB
Les deux PostgreSQL et MariaDB sont 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 comme l'indexation avancée, des extensions étendues ou une cohérence transactionnelle stricte. PostgreSQL excelle dans les requêtes analytiques complexes, les applications qui combinent des données relationnelles et des documents JSON, et les workloads nécessitant une réplication synchrone avec perte de données nulle. Il est idéal pour les systèmes financiers, les applications ERP et les entrepôts de données où les garanties ACID et la flexibilité des requêtes sont critiques.
Choisissez MariaDB lorsque vous avez des connaissances ou des applications existantes MySQL, que vous avez besoin d'une syntaxe MySQL-compatible familière, ou que vous créez des applications Web et des plateformes de commerce électronique. MariaDB offre d'excellentes performances pour les workloads de lecture à trafic élevé et fournit des capacités SIG et JSON solides. 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 flexibles semblables à JSON, 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é par IONOS 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é de 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 unique gratuit avec 2 Go 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 grappes multi instances basées sur des machines virtuelles Cube et un stockage NVMe. L'édition Enterprise offre un contrôle total sur la taille des Node en utilisant des machines virtuelles Dedicated Core, des SSD et des HDD Block Storage, des configurations de sharding et inclut l'accès à l'équipe de support professionnelle de MongoDB en plus du support IONOS.
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 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éplicas offrent une haute disponibilité avec basculement automatique. MongoDB prend en charge jusqu'à environ 114 000 connexions par Cluster, dépassant largement les limites de connexion des bases de données relationnelles.
Le stockage NVMe est disponible dans l'édition Business, qui est hébergé sur des machines virtuelles Cube. Les SSD ou les HDD Block Storage sont disponibles dans l'édition Enterprise, qui est hébergée sur des machines virtuelles Dedicated Core. Les grappes multi instances répliquent automatiquement les données sur les nœuds, le nœud principal gérant les écritures et les secondaires servant les lectures. Le service inclut la collecte continue de journaux avec une rétention de 30 jours et des métriques intégrées pour CPU, la mémoire, le stockage, les connexions et la santé de Cluster.
MongoDB est certifié par MongoDB Inc. et est entièrement compatible avec les outils, les pilotes et la coquille mongo standard de MongoDB. Vous gérez les grappes via le Data Center Designer, le REST dédié de MongoDB ou les SDK. Les instantanés quotidiens hors site sont stockés dans Object Storage pendant jusqu'à sept jours, et les grappes Enterprise ajoutent une récupération ponctuelle.
3.2 Quand utiliser MongoDB
MongoDB excelle dans les scénarios où la flexibilité de schéma est précieuse. Les projets de développement rapides bénéficient de la possibilité de modifier la structure des documents 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 de clics ou la surveillance des événements utilisateur, peuvent répartir les écritures sur plusieurs shards pour une meilleure performance. Le modèle de 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é de schéma et les comptes de connexion élevés 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 offre des services spécialisés pour le cache et le traitement d'événements en temps réel. 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, compatible avec Redis, qui stocke toutes les données dans 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 de bits, les hyperloglogs, les index géospatiaux 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é. Vous pouvez choisir 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 enregistrement AOF (fichier enregistré uniquement) pour une durabilité d'écriture continue, ou combiner les deux pour une protection maximale. Les écritures de persistance enregistrent les données dans SSD afin que les grappes puissent se rétablir après les redémarrages.
In-Memory DB offre une mise à l'échelle verticale (ajout de CPU, RAM, stockage) et une mise à l'échelle horizontale (ajout de nœuds). La capacité de stockage est mise à l'échelle automatiquement en fonction de RAM et du mode de persistance choisi. La haute disponibilité est assurée grâce à des grappes multi-Node 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 les rôles et un déploiement uniquement sur réseau privé. Chaque instance s'exécute sur des machines virtuelles Enterprise dédiées et n'est accessible que via des réseaux LAN privés au sein de votre centre de données virtuel. Les limites de ressources incluent un maximum de 16 cœurs CPU, 32 Go RAM, 2 To de stockage par instance, et jusqu'à 10 instances par défaut par contrat.
4.2 Cas d'utilisation de 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 dans RAM. Cela réduit le nombre de requêtes qui frappent votre base de données, réduit 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 de nombreux utilisateurs.
Les applications d'analyse en temps réel utilisent In-Memory DB pour traiter les données de flux en temps réel avec une latence inférieure à une 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 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 session est un autre cas d'utilisation courant. Les applications Web stockent les données de session de l'utilisateur dans In-Memory DB pour un accès rapide à plusieurs serveurs d'applications. Le stockage en mémoire garantit que les recherches de session n'ralentissent pas les interactions de l'utilisateur. La messagerie et les classements pour les applications de jeux profitent également de la vitesse et du support de structure de données que In-Memory DB offre.
4.3 Event Streams for Apache Kafka
Event Streams for Apache Kafka est le service de traitement d'événements en temps réel et de traitement entièrement géré par IONOS. Apache Kafka est une plate-forme de diffusion de flux en continu qui agit comme un courtier de messages et un journal d'événements à haut débit. Les applications publient des flux d'événements sur les 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 courtiers pour la mise à l'échelle 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 sur les sujets, et les consommateurs lisent les événements à leur propre rythme, permettant des architectures flexibles.
IONOS Event Streams propose cinq tailles de Cluster prédéfinies, allant de XS à XL, chacune avec des CPU, RAM et SSD dédiés. Vous pouvez mettre à l'échelle les grappes vers le haut ou vers le bas à mesure 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 qui existent sur les courtiers.
La sécurité comprend une communication chiffrée TLS, une authentification forte via des certificats TLS et des contrôles d'autorisation granulaires. Les grappes sont attachées à des réseaux LAN privés pour un trafic réseau isolé entre vos applications et Kafka. Vous pouvez ajuster les partitions, le temps de rétention et la taille de rétention pour correspondre aux besoins en débit et en stockage.
La gestion est disponible via l'interface graphique Data Center Designer, les API et les SDK. Vous pouvez créer et configurer des grappes, des sujets, des courtiers et des autorisations sans avoir besoin d'une expertise approfondie en Kafka. Le service gère l'infrastructure sous-jacente, la correction des bogues et la surveillance, ce qui permet à votre équipe de se concentrer sur la construction d'applications de diffusion de flux en continu.
4.4 Cas d'utilisation de 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, de mises à jour d'inventaire et d'interactions utilisateur par jour. Kafka gère ce Volume grâce au partitionnement et au traitement parallèle. Les cadres de traitement de flux comme Kafka Streams, Apache Flink ou Spark lisent à partir des sujets Kafka, effectuent un traitement d'événements complexes et écrivent les résultats dans des systèmes en aval comme des bases de données ou des tableaux de bord. Cela permet une personnalisation en temps réel, une détection de fraude et une analyse opérationnelle.
La gestion des données IoT utilise Kafka pour collecter des flux de données en continu à partir de milliers de capteurs. Les initiatives de ville intelligente déployées Kafka des grappes près des emplacements de bordure 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 des modèles, déclenchent des alertes et alimentent les pipelines d'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 une surveillance en temps réel, une détection d'anomalies et une maintenance prédictive.
L'analyse de flux de clics pour les sites Web et les applications mobiles est un autre cas d'utilisation courant. Les interactions de l'utilisateur s'écoulent 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 de performance commerciale. Les services financiers utilisent Kafka pour le traitement de transactions, la déclaration réglementaire et les flux de données de marché où la faible latence et l'ordre 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 à 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 IONOS selon les caractéristiques clés :
| Caractéristique / Considération | Managed PostgreSQL | Managed MongoDB | Managed MariaDB | In-Memory DB | Event Streams pour Kafka |
|---|---|---|---|---|---|
| Modèle de données | Relationnel (SQL) avec JSON et GIS | Document (BSON/JSON) | Relationnel (compatible MySQL) | Valeur-clé 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 (synchronisation stricte 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) | RAM + 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 de documents (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 à 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 de services de base de données
De nombreuses applications utilisent plusieurs services de base de données ensemble pour répondre à des exigences différentes. Un modèle 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 des requêtes complexes, tandis que la mise en 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 sur Kafka. Les processeurs de flux consomment les événements pour mettre à jour les index 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 de produits avec des attributs variables, In-Memory DB pour les sessions de panier d'achat et Event Streams pour traiter l'activité utilisateur et les mises à jour de stock 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 du monde réel démontrent comment les services de bases de données IONOS résolvent les défis commerciaux :
- Plateforme de commerce électronique avec architecture de base de données multiple : 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 une flexibilité de schéma (Section 3.1). Les paniers d'achat des clients et les données de session 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 exécute Managed MariaDB pour les données client avec des grappes de haute disponibilité multi-Node garantissant une absence de temps d'arrêt (Section 2.2). In-Memory DB met en cache les configurations de 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 à un moment donné 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'erreurs sans contacter le support. Le déploiement sur réseau privé garantit l'isolement et la sécurité des données des locataires.
- Plateforme IoT avec analyse en temps réel : Une initiative de ville intelligente collecte des données à partir 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 en utilisant des collections de séries chronologiques optimisées pour les charges de travail d'écriture lourde (Section 3.1). In-Memory DB maintient les derniers états des capteurs pour des mises à jour instantanées 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, puis utilise Managed MariaDB, Node, In-Memory DB, Event Streams for Apache Kafka et Managed MongoDB pour d'autres cas d'utilisation, et enfin utilise Managed PostgreSQL, Managed MongoDB et In-Memory DB pour d'autres scénarios.
Résumé
Les services de base de données et de données sont des éléments fondamentaux pour les applications cloud. IONOS propose des offres de base de données entièrement gérées qui gèrent la mise en place de l'infrastructure, la mise à jour, 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, comparés 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 à 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.
Choisir le bon service de base de données nécessite de comprendre votre modèle de données, vos besoins de cohérence, vos exigences d'évolutivité et vos 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 mise à jour, 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 offrent des bases de données relationnelles SQL avec une 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 à évolution rapide
- In-Memory DB offre une latence inférieure à la milliseconde grâce à un stockage basé sur RAM, idéal pour le cache, le stockage de sessions et l'analyse en temps réel
- Event Streams for Apache Kafka permet un traitement 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 à é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 streaming), 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 assurer 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 de sauvegarde
- 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 de documents : Base de données NoSQL qui stocke les données sous forme de documents flexibles JSON-like 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 journal distribué pour un 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