Mon application tire une grande quantité de données d'une source externe - normalement sur Internet - et les stocke localement sur le serveur d'application.Modèle/cadre pour la population paresseuse d'une base de données à partir d'une source distante
Actuellement, lorsqu'un utilisateur démarre un nouveau projet, nous essayons agressivement d'extraire les données de la source externe en fonction de l'ordre dans lequel nous prédisons que l'utilisateur voudra y accéder. Ce processus peut prendre 2 à 3 heures.
Il semble qu'une approche plus intelligente consiste ici à fournir un accès aux données de manière fictive. Par exemple, si un utilisateur veut accéder à l'entité A, essayez de le récupérer dans notre base de données. Si ce n'est pas encore le cas, récupérez-le à partir de la source distante et remplissez la base de données en même temps. Ceci, combiné avec le remplissage de la base de données en arrière-plan, donnerait une expérience beaucoup plus lisse à l'utilisateur.
Y a-t-il des frameworks qui gèrent ce niveau d'abstraction? (Mon application est en Java).
Il y a plusieurs considérations ici - c'est-à-dire. Actuellement, ma base de données renforce l'intégrité relationnelle - quelque chose qui pourrait devoir être désactivé pour faciliter cette approche de chargement paresseux. La concurrence semble comme cela causerait des problèmes ici.
De même, il semble que des entités et des collections puissent exister dans un état partiellement peuplé - cela nécessite des données de schéma supplémentaires pour distinguer le complet du partiellement rempli. Si je comprends bien, c'est juste un modèle de dépôt agrégé - est-ce correct, ou est-ce un modèle plus approprié que je devrais étudier?
Etes-vous sûr de vouloir utiliser la balise entity-framework? EF est un framework .NET O/RM et vous avez inclus le tag java. – TrueWill
Merci - J'ai supprimé l'étiquette. –