Nous concevons un système d'inventaire en temps réel pour un site de commerce électronique qui agrège son inventaire auprès de plusieurs fournisseurs.
- Nos visiteurs peuvent rechercher et acheter des articles sur notre site
- Nous recevons des mises à jour d'inventaire de plusieurs fournisseurs selon des horaires différents tout au long de l'heure. Les mises à jour se présentent sous la forme d'un instantané de leur système d'inventaire en cours. En d'autres termes, nous n'obtenons pas une liste des articles vendus ou ajoutés, seulement un instantané de leur inventaire au moment de la mise à jour.
Quel est le meilleur design pour ce système afin de mettre à jour notre inventaire sans perturber l'expérience de commerce électronique?
Exigences:
- Assurer que notre magasin d'inventaire ne fluctue pas. Lorsque nous rafraîchissons notre inventaire avec les mises à jour de nos fournisseurs, nous ne pouvons pas simplement supprimer les anciens enregistrements, puis insérer les nouveaux enregistrements. Cela causerait momentanément un état inexact dans notre magasin d'inventaire.
- Assurer qu'il n'y a jamais de doublons dans le magasin d'inventaire.
La solution ne doit pas être limitée à la conception de base de données. Nous sommes ouverts à des solutions impliquant la base de données, un cache distribué en mémoire, ou tout autre moyen.
UPDATE (@Andrew Keith) : Ma question porte sur la façon de maintenir un magasin d'inventaire (qu'il s'agisse d'une base de données ou d'un cache en mémoire) afin que les mises à jour d'inventaire puissent être appliquées au magasin tout en le laissant ouvert pour les opérations de commerce électronique (par exemple, recherche, paiement, etc.).