Dans une architecture CQRS, la synchronisation entre la base de données de lecture et celle d'écriture est un défi majeur pour éviter la présentation d'informations obsolètes. Une stratégie de synchronisation en deux étapes est nécessaire pour équilibrer la performance de la base de données de lecture et la cohérence de la base de données d'écriture.
Face à des volumes importants de données et à des besoins de recherche performante, comme dans le cas d'une recherche de disponibilités hôtelières, une base de données unique avec de nombreux index peut devenir inefficace. L'adoption d'une architecture CQRS, séparant la gestion des commandes et des requêtes, permet d'optimiser ces aspects en utilisant une base de données dédiée à la lecture, telle que MongoDB, enrichie d'index appropriés.
Pour maintenir la cohérence entre la base de données principale (PostgreSQL) et la base de données de recherche (MongoDB), une approche asynchrone est privilégiée. Les modifications apportées à PostgreSQL sont publiées sur un broker de messages, et MongoDB les traite lorsque sa charge de lecture le permet, garantissant ainsi que les opérations d'écriture restent rapides. Pour pallier les risques liés aux opérations asynchrones, des reconstructions planifiées de la base de données de lecture sont effectuées, généralement pendant les périodes de faible activité, afin d'assurer la mise à jour des données.
-
Ce tutoriel explique comment construire une application Symfony capable de gérer un grand volume de documents (jusqu'à un milliard) en utilisant MongoDB. Dans cette deuxième partie, l'auteur montre comment configurer une application Symfony avec le Doctrine MongoDB ODM pour mapper les documents à des classes PHP, et utiliser Symfony UX pour créer une interface utilisateur moderne. Le tutoriel couvre la configuration initiale de l'application, la cartographie des documents, et la mise en place d'un tableau de bord pour afficher des informations générales, une liste de stations, et des détails spécifiques comme les prix des carburants et leur historique.
Cet article explique comment gérer et afficher des données massives dans une application Symfony en utilisant MongoDB. L'auteur, Andreas Braun, se base sur un dataset allemand de prix de carburant, qui change fréquemment et varie selon les villes. Le dataset comprend 78 Go de données de prix et près de 10 Go de données de stations, avec des fichiers organisés par année, mois et jour. L'article décrit comment inspecter les données, les importer dans MongoDB, et concevoir un schéma efficace pour travailler avec ce volume de données. La première partie se concentre sur l'inspection des données et la conception du schéma, tandis que la deuxième partie abordera la création d'une application Symfony pour afficher ces données.
Databasus est un outil open source et auto-hébergé pour sauvegarder PostgreSQL, avec un support pour MySQL, MariaDB et MongoDB. Il permet de planifier des sauvegardes, de vérifier la santé des bases de données, de stocker les fichiers sur divers supports (S3, Google Drive, FTP, etc.), et de recevoir des notifications. Il est auto-hébergé via Docker, sécurisé avec un chiffrement de niveau entreprise, et offre une gestion des accès et des journaux d'audit pour les équipes. Compatible avec les bases de données cloud comme AWS RDS, Google Cloud SQL et Azure Database.
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Utiliser MongoDB dans un projet Symfony : l'auteur montre comment faire, avec ou sans Doctrine.
Tout est dans le titre
Tout est dans le titre
La liste des astuces :
- ipcalc pour IPv6 ?
- Des sons de vague dans le terminal ?
- OpenSSH et format de clé privée « legacy »
- Liveness Probe sur container php-fpm dans Kubernetes ?
- Obtenir l’uptime d’un container ?
- Faire le total des pages des supports PDF en ligne de commande
- MongoDB est un con
- Vérifier les services en erreurs
- Pas de dig ? Les alternatives !
- Ansible : environnement conditionné !
- Ubuntu et WSL : mais c’est quoi ce masque ?
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre