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

Mon programme Discussion :

[Application développée lors d'un stage] Synchronisation de bases de données


Sujet :

Mon programme

  1. #1
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    927
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 927
    Par défaut [Application développée lors d'un stage] Synchronisation de bases de données
    Bonjour,

    Dans le cadre d'un stage j'ai développé une application permettant de synchroniser des bases de données.

    Nom : MaxiDBSync (à prendre au deuxième degré)
    Version : presque la 1.0
    Langue : Français
    Description : Permet de synchroniser des bases de données qui n'ont pas une même structure, et cela de façon très simple. La synchronisation est unidirectionnelle (maître-esclaves) mais l'application sauvegarde les données esclaves qu'elle écrase (on se rapproche donc d'une synchronisation bidirectionnelle (multi-maîtres).
    Fonctionnalités :
    - Gestion des bases de données HyperFile, MySQL et SQL Server
    - Fonctions de transformations des données, scripting
    - Planification de l'exécution automatique d'une synchronisation (grâce à la commande DOS AT)
    - Sauvegarde automatique des bases de données "esclaves" avant synchronisation
    Compatibilité : Windows
    Nécessite : Quelques dll fournies dans le package d'installation
    Téléchargement : /
    Licence : non définie (test accepté).
    Langage : Réalisé avec l'AGL WinDev 8
    Les sources : non disponibles
    A venir : je n'aurai plus la possibilité d'utiliser WinDev 8...

    Date de début : février 2007

    L'application synchronise. Qu'entends-t-on par là ?

    Elle va chercher les données contenues dans une base de données (la base de données maître) et s'assure ensuite que d'autres bases de données (les bases de données esclaves) contiennent les mêmes données.

    L'utilisateur peut demander à l'application de ne pas supprimer d'enregistrements dans certaines tables esclaves. Par contre, les ajouts et les modifications de données esclaves sont obligatoires.


    C'est donc bien de la synchronisation unidirectionnelle, mais l'application sauvegarde les données esclaves avant que celles-ci soient écrasées. On parle de modifications clandestines pour désigner les modifications de données esclaves, qui vont êtres écrasées car différentes des données maîtres.
    Le but de l'enregistrement des modifications clandestines étant de permettre de remonter ces informations dans la base de données maître en passant par une étape de contrôle : des humains doivent contrôler la validité des informations.

    Passer par cette étape de contrôle manuelle (qui sera en partie automatisée par une application qui n'a pas encore été développée) permet de ne pas devoir posséder de critère de comparaison permettant de choisir les informations qui doivent êtres propagées dans toutes les bases de données à synchroniser.
    Ainsi, c'est avant tout de l'unidirectionnel mais il ne faut pas que cela empêche les utilisateurs des bases de données esclaves d'utiliser (lire et modifier et non pas seulement lire) leur base de données.





    Les éléments qui sont synchronisés sont les éléments que l'utilisateur choisit. Ce peut être un seul champ d'une table d'une base de données comme l'entièreté d'une base de données. Il n'est par contre pas possible de choisir les lignes des tables à synchroniser. Pour une table et ses colonnes choisies : tous les enregistrements sont pris en compte.




    Si vous avez des questions n'hésitez pas à les poser !





  2. #2
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Tu es sûr que tu as le droit de distribuer ton application comme elle appartient à ton entreprise ?

  3. #3
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    927
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 927
    Par défaut
    merci (j'ai enlevé le lien vers l'application)

    Et sinon ça ne vous inspire rien de plus ?

  4. #4
    Membre chevronné Avatar de bassim
    Homme Profil pro
    Ingénieur Réseaux
    Inscrit en
    Février 2005
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2005
    Messages : 666
    Par défaut
    A quoi ça sert de présenter son produit, si on peut pas le tester

  5. #5
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    927
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 927
    Par défaut
    Argh Dans quelques jours je saurai ce qu'il en est de la licence et j'aviserai...


    Sinon, une des premières raisons pour laquelle j'ai présenté cette application c'est (tellement je suis fier d'avoir réalisé cela ) pour avoir des retours sur son utilité : ais-je réinventé la roue ? (Je sais que oui mais à quel point, dans quelle mesure, ...)

    J'ai voulu ajouté la rubrique Contexte d'utilisation : est-ce que mon application peut-être plus utile que quelque chose qui existe déjà (ETL, processus de réplication, ...) et si oui quand, pourquoi ? Mais je me suis dis qu'elle n'avait rien de spécial... D'ailleurs, je n'ai pas trouvé de documentation (algorithmes) sur comment synchroniser des bases de données.
    Mais en fin de compte je me dis que cette solution pourrait bien apporter des choses utiles.
    Pour l'entreprise où j'ai fais le stage elle permet d'avoir une solution très simple pour synchroniser leurs bases de données. Le cahier des charges était de faire une simple synchronisation unidirectionnelle et de voir ce que l'on pouvait faire pour ne pas perdre complètement les données esclaves sans pour autant devoir se former (apprentissage d'un etl, de la mise en place de la réplication multi-maîtres) ou devoir modifier les bdd existentes.

    Qu'en pensez-vous ?

  6. #6
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    927
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 927
    Par défaut
    Edit: finalement le logiciel appartient à l'école.

Discussions similaires

  1. Synchronisation de bases de données
    Par loreleï85 dans le forum Outils
    Réponses: 2
    Dernier message: 18/01/2007, 17h39
  2. Synchronisation entre base de données et caractéristiques
    Par Debault dans le forum Bases de données
    Réponses: 2
    Dernier message: 03/08/2006, 23h44
  3. erreur lors d'un update d'une base de données
    Par tibtibby dans le forum ASP
    Réponses: 1
    Dernier message: 09/06/2006, 14h30
  4. Erreur lors de la suppréssion d'une base de donnée
    Par pier* dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 26/05/2006, 19h49
  5. Synchronisation de base de données locale/distante Internet
    Par StefC30 dans le forum Développement
    Réponses: 3
    Dernier message: 25/07/2003, 14h47

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