La valeur des événements de l’Event Store (partie 2)

By éric de carufel

Dans le billet précédent, nous avons vu comment créer des événements à partir de commandes. Pourquoi ne pas mettre à jour la base de données directement? Pourquoi avons-nous besoin de passer par un Event Store? Parlons un peu de la situation actuelle… Présentement, la majorité des systèmes conservent leurs données dans une base de données relationnelle commune à plusieurs systèmes d’information. La raison de cette centralisation est simple : il est très facile de partager des tables communes entre les différents systèmes. Cette commodité répond à certains besoins :

  • Facilité de maintenance des tables communes;
  • Information intersystème cohérente;
  • Réutilisation de l’information.

Cette centralisation comporte également des inconvénients qui ne sont pas négligeables. Si un ou deux systèmes utilisent ces tables, ce n’est pas un problème, mais dès qu’on ajoute des systèmes dépendants, les problèmes peuvent commencer. Il arrive souvent qu’un nouveau système ait un besoin d’information qui n’est pas couvert par les données actuelles. L’ajout d’une colonne dans la table aura des répercussions sur tous les systèmes qui l’utilisent. De plus, cette nouvelle information sera considérée comme de la pollution pour les autres systèmes. La quantité d’information à transporter sur le réseau augmentera également.

Comment faire pour obtenir les bienfaits de la centralisation sans les inconvénients? C’est là que l’Event Sourcing est intéressant. Considérer le domaine d’affaires comme une succession d’événements simplifie énormément le problème. Même si cette liste d’événements est distribuée sur plusieurs nœuds, ce n’est pas un problème. Chaque événement est écrit une seule fois et il ne changera plus. Si le nœud qui contient les événements n’a plus d’espace, on peut ajouter du stockage sans problème et sans risque de perdre les événements que l’on a déjà. Pour éviter la perte d’événements, nous pouvons utiliser des méthodes de stockage distribué telles que MongoDB auxquelles il est facile d’ajouter des nœuds à la grappe. Dans le prochain billet, je vous expliquerai plus en détail comment faire évoluer vos événements dans le temps.

Autres articles qui pourraient vous intéresser

Trois conseils pour faire face à la pénurie de main-d’œuvre en TI

Si vous vous êtes retrouvé sur cette page, c’est que vous êtes, vous aussi, touché de près ou de loin par la nouvelle « pandémie » sur la main-d’œuvre, celle qui a vu le jour il y a quelques années déjà, et qui frappe de plein fouet le recrutement dans le domaine des technologies de l’information dans...

Votre technologie est peut-être dépassée, le saviez-vous?

Croulez-vous sous les demandes internes? Votre équipe de support informatique est-elle submergée? Arrivez-vous toujours à livrer auprès de vos clients? Vos employés sont-ils frustrés?  Très souvent, ces situations sont liées à des outils qui ne sont plus adéquats ou à une technologie vieillissante qui ne répond plus aux besoins changeants de l’entreprise. Éric De Carufel,...

Développement web: Pourquoi Blazor est le framework idéal?

Blazor. Début novembre 2018, alors que ce n’était encore qu’un produit expérimental, j’en parlais lors d’un événement que nous avions organisé à nos bureaux. D’ailleurs, mon powerpoint pour la présentation avait été fait avec Blazor, j’en avais surpris plus d’un lorsque j’ai dévoilé le punch à la fin. J’ai suivi l’évolution de cette expérience, qui...