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

Administration MySQL Discussion :

Historisation de tables


Sujet :

Administration MySQL

  1. #1
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2020
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Transports

    Informations forums :
    Inscription : Novembre 2020
    Messages : 29
    Points : 13
    Points
    13
    Par défaut Historisation de tables
    Bonjour,

    J'ai une base de données qui fonctionne actuellement en mode de réplication sur 2 serveurs. Dans cette base répliqué, j'ai une table qui a pour fonction de contenir des position GPS.
    Cette table grossit chaque jour et commence à prendre de l'espace disque. Ces datas GPS ne sont pas spécialement utilisées mais il faut les conserver (par principe).

    Je dois donc mettre en place une historisation de ces données.

    Seulement, je ne sais pas encore clairement comment faire.
    Je ne peux pas historiser la table sur le master et la vider car cela ne collera plus pour la réplication sur le slave. Je dois créer sur le slave une seconde table et je purge toujours sur le slave la table répliquée, mais ce ne sera plus cohérent avec la table du master qui elle ne sera pas purgée. Pareil si je fais ca sur le master.

    Quelle solution me permettrait de copier toutes mes données sur une 3eme table tout en ayant toujours une cohérence entre mes deux tables répliquées?

    Merci d'avance

  2. #2
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 381
    Points : 19 065
    Points
    19 065
    Par défaut
    Salut Erwann56.

    Citation Envoyé par Erwann56
    J'ai une base de données qui fonctionne actuellement en mode de réplication sur 2 serveurs.
    Quel type de réplication (Master/Master ou Master/Slave) ?

    Si la réplication est du type Master/Slave, tout ce que tu fais dans le Master est automatiquement répliquée vers le Slave.
    A propri, cela ne devrait pas poser de problème.

    Citation Envoyé par Erwann56
    Je dois donc mettre en place une historisation de ces données.
    L'usage de la date+heure est nécessaire pour historiser tes données.
    Que vas-tu en faire des plus anciennes données (Archivage, Suppression ou Conservation) ?

    Citation Envoyé par Erwann56
    Seulement, je ne sais pas encore clairement comment faire.
    Il faut créer un script afin d'automatiser ton traitement.
    La table d'origine sera en lecture seule. Le résultat sera dans une nouvelle table.
    Tu fais tes tests afin de vérifier si tout est comme tu le désires.
    Et quand tu es décidé, tu fais le basculement :
    --> Tu transfères ta table vers tes deux serveurs.
    --> Tu arrêtes tes deux serveurs.
    --> Tu la substites à l'ancienne et tu relances tes deux serveurs.
    Cette manipulation ne devrait prendre que quelques secondes.

    Cordialement.
    Artemus24.
    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  3. #3
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2020
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Transports

    Informations forums :
    Inscription : Novembre 2020
    Messages : 29
    Points : 13
    Points
    13
    Par défaut
    Salut Artemus24

    Merci pour tes réponses.

    La réplication est en mode master/slave.

    L'idée est de conserver toutes les datas pendant au moins un an. Quelle est donc la différence entre archivage et conservation ?

    La table d'origine (master) doit en effet être en lecture seule puisqu'elle est répliquée (slave). Aussi c'est celle du slave qui doit elle, être recopiée dans une table d'archivage/conservation.
    Ceci dit, une fois que j'aurai toute mes données dans cette table recopiée d'archivage, il me faudra bien purger la table d'origine du master.
    Car l'idée, c'est de l'archivage d'une part mais aussi gagner de la place sur le master d'autre part.

    Donc déjà dans un premier temps, je dois mettre en place une procédure pour une copie automatique de la table slave. Je verrai après comment purger la table d'origine.

    Cordialement.

  4. #4
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 381
    Points : 19 065
    Points
    19 065
    Par défaut
    Salut Erwann56.

    Citation Envoyé par Erwann56
    La réplication est en mode master/slave.
    Un serveur est Master et l'autre est Slave.

    Citation Envoyé par Erwann56
    L'idée est de conserver toutes les datas pendant au moins un an. Quelle est donc la différence entre archivage et conservation ?
    L'idée est d'externaliser tes données dans des tables partitionnées.
    Si tu fais des partitions par mois, chaque table contiendra un mois.
    Par exemple, le mois courant, mois - 1, mois - 2, mois - 24.
    Tu conserves tes différentes partitions.
    Cela s'applique par un système de rotation de tes tables partitionnées.

    Au delà des deux ans, ta table mois - 25 sera spot archiver ou supprimer.
    Tu changes de support physique pour l'archivage, sans que cela soit détruit. Les données ne sont plus accessible par l'utilisateur.

    Citation Envoyé par Erwann56
    Aussi c'est celle du slave qui doit elle, être recopiée dans une table d'archivage/conservation.
    Je ne comprends pas trop ce que vous voulez dire. A quoi vous sert le serveur slave ?
    Vous devez travailler du coté serveur Master pas du coté Slave.

    Citation Envoyé par Erwann56
    Car l'idée, c'est de l'archivage d'une part mais aussi gagner de la place sur le master d'autre part.
    Je pense que vous devez faire deux choses :

    a) le script dont je vous ai parlé, afin d'obtenir la table final coté serveur Master.
    Vous transférez la table final coté Slave. Vous arrêtez les serveurs Master et Slave.
    Vous recopiez cette table coté Master & coté Slave. Vous redémarrez les deux serveurs.

    b) configurer votre table en une table partitionnée, si j'ai bien compris par mois.
    Il y aura une intervention ponctuelle chaque mois, quand vous devrez soit archiver ou supprimer la dernière partition.

    Par contre, je ne peux pas t'aider sur les serveurs Master & Slave car je ne les utilise pas.

    Cordialement.
    Artemus24.
    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

Discussions similaires

  1. Réponses: 2
    Dernier message: 13/05/2016, 15h12
  2. Historiser une table
    Par sebmince dans le forum WinDev
    Réponses: 11
    Dernier message: 05/06/2008, 14h39
  3. Historiser les mises à jour d'une table
    Par iftolotfi dans le forum Schéma
    Réponses: 2
    Dernier message: 08/06/2007, 16h14
  4. Une table d'historisation en utilisant un trigger et un curseur
    Par freestyler1982 dans le forum Oracle
    Réponses: 7
    Dernier message: 21/09/2006, 21h21
  5. creation de table d'Historisation
    Par devalender dans le forum Débuter
    Réponses: 2
    Dernier message: 18/10/2004, 13h58

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