Bonjour à tous,
j'ai un besoin assez spécifique d'utilisation de base de données. Pour l'instant, je n'ai utilisé que MySQL mais j'ai également la possibilité d'utiliser Oracle. Cependant, ne connaissant pas (du tout) cet outil, je ne sais pas s'il pourrait couvrir mon besoin. Je vous explique mon problème :
- Je dois récupérer des données du système d'information de mon entreprise concernant les projets, les employés ... etc. Il y a tout de même un certain nombre de données (plusieurs milliers de projets et environ 10k employés). Toutes ces données sont stockées dans une base Oracle.
- Ces données doivent ensuite être un peu formatées pour être importées dans un outil de pilotage de projets via son API.
- Les données doivent être mis à jour à un certain intervalle de temps à définir, quelques minutes à une heure si possible (ça dépendra du temps de traitement de la base à priori).
Le problème se situe là : l'API de l'outil est très lente, et pour ne pas avoir à réimporter des dizaines de milliers de données tout le temps (surtout que la plupart n'auront pas changer), il faut que je puisse n'uploader dans l'outil de pilotage que les données qui ont changés depuis le dernier import.
Il y a-t-il un moyen de récupérer une liste des lignes qui ont été ajoutées ou mises à jour depuis un certain intervalle de temps ?
Ceci était la situation idéale où j'ai accès directement à la base de données du système d'information. En l'occurence, il se peut que l'on m'envoie une copie d'une partie de cette base régulièrement sur un serveur de base de données différent (qui pourrait être soit MySQL ou Oracle). Je devrais alors exploiter ces données avec toujours le même besoin, n'ajouter que les données mises à jour depuis le dernier upload. Dans ce cas, je n'aurais à priori plus accès aux date de modification des champs de la base puisqu'elle sera recopiée en une seule fois sur un autre serveur. Le seul moyen que j'ai trouvé serait de dupliquer chaque base afin d'en avoir une actuelle et une représentant l'état à n-1. Est-ce une solution viable si l'on a beaucoup de données ? Peut-on s'attendre à un long temps de traitement pour effectuer une différence entre ces deux bases ? Quel est le meilleur outil question performance pour réaliser cela ?
Je vous remercie d'avance si vous pouvez m'apporter quelques éclaircissements
Nathan
Partager