La base grossie

moy
Membre intéressé
Membre intéressé
Messages : 33
Inscription : 19 mars 2013, 12:36

La base grossie

Message par moy »

Rebonjour,

La base grossie, et ma connexion commence à le sentir passer lorsque je réimporte la table des jeux.

Il va falloir penser à optimiser la récupération des données. Puisque la synchro ne fonctionne que dans un sens, ça ne doit pas être trop problématique. Si vous n'avez pas encore d'idée sur le sujet, voici une piste (si vous avez déjà votre idée, inutile de poursuivre).

Pour chaque jeux de la base serveur, mémoriser la date de dernière modification de l'enregistrement.
Côté client, il suffit de mémoriser la date de dernière mise à jour (qui nous est retournée par le serveur, et non la date locale pour éviter les problèmes de fuseaux horaires).

Et lorsque l'on réimporte, on ne prends que les enregistrements du serveur modifié depuis la dernière mise à jour.
Cela ne gère pas les suppressions de jeux sur la base serveur, mais on peut imaginer une table dédiée sur le serveur qui ne contient que les ID des jeux supprimés, et à quelle date.

Vous pouvez me remercier, je vous ai encore trouvé du boulot (PS : J'ai encore des sujets en attente sur le forum si vous vous ennuyez trop ;))

Encore merci pour votre travail !
Dernière modification par moy le 08 février 2020, 12:09, modifié 2 fois.
Avatar de l’utilisateur
JDG
Créateur Ludoprêt
Créateur Ludoprêt
Messages : 2013
Inscription : 27 décembre 2007, 01:00
Localisation : Bar le Duc, Lorraine
Contact :

Re: La base grossie

Message par JDG »

Bonjour
Vous pouvez me remercier, je vous ai encore trouver du boulot
Ah qu'il est doux de savoir que vous prenez soin d'organiser mon temps libre..... :D

Pour l'instant, je n'en ai pas beaucoup car le passage à la version 3.32 a été l'occasion de rajouter deux champs dans la base de données collaborative (l'année d'édition et le contenu du jeu).
Il y a donc près de 4000 jeux à reprendre et je n'arrive pas à refaire plus de 10 fiches à l'heure car il y a pas mal de recherche et de mise en forme à effectuer en particulier pour le contenu...
Cela représente donc un important nombre de semaines en sachant qu'en ce moment je me fixe entre 20 et 30 jeux par jour....
La base grossie, et ma connexion commence à le sentir passer lorsque je réimporte la table des jeux.
Tant mieux si la base grossit. Pour ma part l'importation que je fais tous les jours dure environ 30 secondes.. Et je ne suis pas câblé ou en haut débit.
Pour chaque jeux de la base serveur, mémoriser la date de dernière modification de l'enregistrement.
Côté client, il suffit de mémoriser la date de dernière mise à jour (qui nous est retournée par le serveur, et non la date locale pour éviter les problèmes de fuseaux horaires).

Et lorsque l'on réimporte, on ne prends que les enregistrements du serveur modifié depuis la dernière mise.
Quand ce travail de mise à niveau des champs de la base actuelle sera effectué, je vais effectivement me remettre au développement du module d'importation.

1) Mémorisation possible id et Mdp de connexion pour éviter de se re-identifier.
C'est possible, mais dans une ludo avec des intervenants divers, cela peut poser des problèmes. Il y aura surement des gestions de droits à prévoir pour l'administrateur.... Donc je vais voir si c'est jouable facilement.

2) J'avais envisagé de donner la possibilité de limiter le nombre de jeux à importer avec la possibilité de choisir :
- Tout
- les 100 derniers modifiés ou ajoutés par exemple
- D'après une date de mise à jour à saisir ou sélectionner dans un calendrier.
Je n'avais pas pensé à mémoriser la dernière date d'importation. Pourquoi pas... ;)
Pour les suppressions il y en a très peu et il s'agit souvent de jeux en doubles.

Voilà où j'en suis.
En tout cas merci pour toutes ces propositions.

JDG
Pensez à poster dans la bonne rubrique
moy
Membre intéressé
Membre intéressé
Messages : 33
Inscription : 19 mars 2013, 12:36

Re: La base grossie

Message par moy »

Je viens de tester sur mon ordi perso et le temps d'importation est inférieur à 30 secondes. Lorsque j'ai ajouté mes jeux la dernière fois, depuis le poste (et la connexion) de la Ludothèque, il durait plusieurs minutes.

Peut-être un problème local et temporaire. Je l'utilise trop rarement pour savoir si c'était exceptionnel. Aucune urgence donc pour l'optimisation.

Code : Tout sélectionner

2) J'avais envisagé de donner la possibilité de limiter le nombre de jeux à importer avec la possibilité de choisir :
- Tout
- les 100 derniers modifiés ou ajoutés par exemple
- D'après une date de mise à jour à saisir ou sélectionner dans un calendrier.
Mon opinion d'utilisateur sur ce point : Lorsque je vais me mettre à jour, mon intérêt principal va être de récupérer le jeu que je viens d'acquérir et qui doit être ajouté à ma base.

Je ne sais pas si le jeu est présent dans la base collaborative, et encore moins s'il a été saisi dans les 100 derniers. Je ne sais plus à quelle date j'ai fait la dernière mise à jour, donc je vais choisir "Tout".
A noter que la dernière option : " D'après une date de mise à jour à saisir ou sélectionner dans un calendrier." concorde en partie avec la suggestion "on réimporte que les enregistrements du serveur modifié depuis la dernière mise à jour". Les esprits ne se rencontrent pas pour rien, voici la piste à creuser.
Puis les deux dernières options laisse présager une base locale en gruyère, avec des périodes pour lesquels aucun jeu n'a été importé.
Répondre

Revenir à « Présentation et suivi de la base Ludoprêt »