IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Décisions SGBD Discussion :

Quel outil utiliser pour mon besoin, et comment ?


Sujet :

Décisions SGBD

  1. #1
    Candidat au Club
    Inscrit en
    Juillet 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 10
    Points : 3
    Points
    3
    Par défaut Quel outil utiliser pour mon besoin, et comment ?
    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

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par chantren Voir le message
    - Ces données doivent ensuite être un peu formatées pour être importées dans un outil de pilotage de projets via son API.
    C'est une application existante qui est imposée ou une appli à développer ?

    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.
    L'API ne pourrait-elle pas interroger la BDD Oracle plutôt que d'importer toutes les données ? Un SGBD, ça sert à ça en principe !
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Candidat au Club
    Inscrit en
    Juillet 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 10
    Points : 3
    Points
    3
    Par défaut
    Bonjour,

    - Il s'agit d'une application existante et imposée.

    - Malheureusement non je ne pourrais pas avoir accès directement à la base Oracle pour des raisons de sécurité...

  4. #4
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    - Il s'agit d'une application existante et imposée.
    Et donc tu dois développer une interface entre les données et l'appli ?

    Citation Envoyé par chantren Voir le message
    - Malheureusement non je ne pourrais pas avoir accès directement à la base Oracle pour des raisons de sécurité...
    Et récupérer toutes les données de la BDD, c'est sécurisé ?
    Un SGBD tel qu'Oracle peut régler très finement les permissions d'accès aux données.
    Tu transmets ton besoin en lecture de données au DBA qui après validation du besoin devrait pouvoir te mettre à disposition une ou plusieurs vues rien que pour ton logiciel avec les paramètres de connexion à la BDD pour les interroger.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  5. #5
    Candidat au Club
    Inscrit en
    Juillet 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 10
    Points : 3
    Points
    3
    Par défaut
    Et donc tu dois développer une interface entre les données et l'appli ?
    Oui. Je dois développer un programme qui lit des données dans une base et les écrit dans l'outil, soit en utilisant son API (déjà développée), soit en tapant directement dans sa base (Oracle elle aussi), ce n'est pas encore tout à fait défini ça.

    Et récupérer toutes les données de la BDD, c'est sécurisé ?
    Un SGBD tel qu'Oracle peut régler très finement les permissions d'accès aux données.
    Tu transmets ton besoin en lecture de données au DBA qui après validation du besoin devrait pouvoir te mettre à disposition une ou plusieurs vues rien que pour ton logiciel avec les paramètres de connexion à la BDD pour les interroger.

    Non ce n'est pas sécurisé non plus mais c'est la direction qu'ont prit les gens au-dessus de moi et qu'il me sera difficile de faire changer à mon avis. Je vais cependant tenter d'en parler voir si cela est possible car ça semble effectivement le plus simple. Cependant, dans le cas où une vue de donnée est créée, ai-je accès à l'historique des modifications effectuées sur cette vue ? (cela me permettrait de ne récupérer que les données mises à jour depuis la dernière synchro entre la base et l'outil).

    Merci en tout cas pour vos réponses.

  6. #6
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par chantren Voir le message
    Oui. Je dois développer un programme qui lit des données dans une base
    Donc interrogation de la base de données Oracle !

    et les écrit dans l'outil, soit en utilisant son API (déjà développée), soit en tapant directement dans sa base (Oracle elle aussi), ce n'est pas encore tout à fait défini ça.
    L'outil a donc sa propre BDD Oracle ?
    Sur le même serveur ?

    Il eût été préférable sans doute d'utiliser directement les données de la première BDD et de n'ajouter que les tables propres à l'appli dans une éventuelle nouvelle BDD !

    Ça éviterait les problèmes de double stockage de données identiques. Et de transfert de données d'une BDD à l'autre !

    Je reprends ce que tu as dit dans ton premier message :
    Ces données doivent ensuite être un peu formatées pour être importées dans un outil de pilotage de projets via son API.
    Une ou plusieurs vues de la première BDD Oracle devraient pouvoir faire ça. Tout dépend ce que tu entends par "formatées".

    Non ce n'est pas sécurisé non plus mais c'est la direction qu'ont prit les gens au-dessus de moi et qu'il me sera difficile de faire changer à mon avis. Je vais cependant tenter d'en parler voir si cela est possible car ça semble effectivement le plus simple.
    Si tu as des arguments sérieux et s'ils ne sont pas obtus, il n'y a pas de raison pour qu'ils refusent de t'écouter.
    Éventuellement, tu nous les envoies et il y a des experts ici qui pourront juger leurs arguments et les tiens !

    Cependant, dans le cas où une vue de donnée est créée, ai-je accès à l'historique des modifications effectuées sur cette vue ? (cela me permettrait de ne récupérer que les données mises à jour depuis la dernière synchro entre la base et l'outil).
    Difficile de répondre.
    Si des colonnes du style date_modif existent dans les tables, tu demandes à ce que ces colonnes soient incluses dans la ou les vues et tu pourras n'importer que les données modifiées à partir d'une certaine date. Là ça dépend de la structure de la BDD existante et ce n'est pas nous qui pouvons le savoir.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  7. #7
    Candidat au Club
    Inscrit en
    Juillet 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 10
    Points : 3
    Points
    3
    Par défaut
    L'outil a donc sa propre BDD Oracle ?
    Sur le même serveur ?
    Oui l'outil a sa propre BDD Oracle, sur un serveur différent cependant.

    Il eût été préférable sans doute d'utiliser directement les données de la première BDD et de n'ajouter que les tables propres à l'appli dans une éventuelle nouvelle BDD !

    Ça éviterait les problèmes de double stockage de données identiques. Et de transfert de données d'une BDD à l'autre !

    Je reprends ce que tu as dit dans ton premier message :

    Une ou plusieurs vues de la première BDD Oracle devraient pouvoir faire ça. Tout dépend ce que tu entends par "formatées".
    Certaines données sont cryptées dans la base et doivent être décryptées pour passer dans l'outil. Je pourrais cependant effectivement faire le décryptage a posteriori au moment d'ajouter les données dans l'outil donc c'est un faux problème.


    Difficile de répondre.
    Si des colonnes du style date_modif existent dans les tables, tu demandes à ce que ces colonnes soient incluses dans la ou les vues et tu pourras n'importer que les données modifiées à partir d'une certaine date. Là ça dépend de la structure de la BDD existante et ce n'est pas nous qui pouvons le savoir.
    Justement, il n'y a pas ce genre de colonne dans la base .. ce qui ne me facilite pas la tâche.

  8. #8
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par chantren Voir le message
    Oui l'outil a sa propre BDD Oracle, sur un serveur différent cependant.
    Adresse toi au forum Oracle pour voir comment faire des requêtes entre deux serveurs.

    Justement, il n'y a pas ce genre de colonne dans la base .. ce qui ne me facilite pas la tâche.
    Puisqu'il s'agit d'une gestion de projets, j'imagine qu'un projet a au moins une date de début et une date de fin ?
    Tu devrais donc pouvoir déjà éliminer de l'import toutes les données des projets fermés.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  9. #9
    Candidat au Club
    Inscrit en
    Juillet 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 10
    Points : 3
    Points
    3
    Par défaut
    Adresse toi au forum Oracle pour voir comment faire des requêtes entre deux serveurs.
    Ok je ferais ça si cette solution est retenue.


    Puisqu'il s'agit d'une gestion de projets, j'imagine qu'un projet a au moins une date de début et une date de fin ?
    Tu devrais donc pouvoir déjà éliminer de l'import toutes les données des projets fermés.
    Ce filtrage était déjà prévu dans la base que je vais recevoir, cependant le nombre de données reste conséquent malgré ça... Enfin pour l'instant je vais rédiger les spécifications en connaissance de cause et proposer cette solution, on verra bien ce qu'il en advient.

    Merci beaucoup.

    Nathan

Discussions similaires

  1. Quels outils utiliser pour réaliser mon site ?
    Par tsikpemoise dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 17/07/2009, 16h08
  2. Réponses: 3
    Dernier message: 05/04/2007, 11h56
  3. Quels outils utiliser pour le reverse engineering sous windows
    Par Menontona dans le forum Autres Logiciels
    Réponses: 15
    Dernier message: 30/05/2006, 23h15
  4. Réponses: 1
    Dernier message: 04/01/2006, 14h39
  5. quel outil utiliser pour defragmenter des TB ?
    Par falafel23 dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 12/09/2005, 22h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo