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

Réplications SQL Server Discussion :

replication ou autre?


Sujet :

Réplications SQL Server

  1. #1
    Membre du Club
    Inscrit en
    Juin 2006
    Messages
    133
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 133
    Points : 54
    Points
    54
    Par défaut replication ou autre?
    Bonjour, jai une base de donnees centrale, a un endroit quelconque, avec enorme table (qui se faire ecrire constamment). A un autre endroit physique, jai une 2e base de donnees (secondaire) qui contient la meme table (en terme de structure), mais avec differente donnees (qui entre aussi contamment).

    Ce que je veux faire, cest de transmettre, periodiquement, les nouvelles donnees que jai dans ma base de donnees secondaire a celle centrale.

    La base secondaire na pas besoin detre une 'clone' de celle centrale...elle sert seulement a collectionner les donnees et les ajouter a celle centrale

    Je dois aussi mentionner que les donnees qui seront transmise de la base secondaire seront tres lourdes (beaucoup de rows)

    Dois-je me tourner vers la replication pour se genre d'operation? Quel mode de replication?

    Jaimerais en avoir un peu plus sur la replication. Si je met ma base secondaire comme 'publisher' and celle centrale comme 'subscriber', est-ce que les donnees que centrale possede et que secondaire n'a pas vont se faire supprimer? (centrale se fait remplir de son cote aussi independament de secondaire)....

    je crois que 'Merge replication' resouderait mon probleme....ai-je raison?

    je me demande aussi si en terme de performance, est-ce que ca va relentir mon reseau (les 2 tables sont ENORMES et se font remplir constamment)?


    Merci a vous tous

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 768
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 768
    Points : 52 719
    Points
    52 719
    Billets dans le blog
    5
    Par défaut
    ...avec enorme table ...
    ceci ne veut strictement rien dire : 4 milliards de lignes avec une seule colonne de type INT cela ne représente que 14 Go de données et cela tient en RAM ! Précisez donc de quoi vous parrlez en disant énorme !

    Ce que je veux faire, cest de transmettre, periodiquement, les nouvelles donnees que jai dans ma base de donnees secondaire a celle centrale.
    La base secondaire na pas besoin detre une 'clone' de celle centrale...elle sert seulement a collectionner les donnees et les ajouter a celle centrale
    A priori la réplication est la bonne solution. Mais les deux bases sont-elles sur deux serveurs distants ? Sinon, cela n'a AUCUN intérêt !

    ...les donnees qui seront transmise de la base secondaire seront tres lourdes (beaucoup de rows)
    Encore une fois cela ne veut strictement rien dire !
    100 000 lignes par unité de 24 heures signifie : 70 lignes par minute. SQL Server est capbable d'insérer 2 000 000 de lignes par minute !

    Si je met ma base secondaire comme 'publisher' and celle centrale comme 'subscriber'...
    OK, c'est bien partit !

    est-ce que les donnees que centrale possede et que secondaire n'a pas vont se faire supprimer? (centrale se fait remplir de son cote aussi independament de secondaire)....
    de quoi voulez-vous parler ? Soyez plus précis donnez un exemple !

    je crois que 'Merge replication' resouderait mon probleme....ai-je raison?
    Impossible de le savoir. Mais la réplication de fusion est la plus complexe qui soit car elle généère fatalement des conflits de réplication que les autres types de réplication n'ont pas. Il faut donc ne l'utiliser qu'en dernier recours et prévoir une haute administration. Autrement dit savoir de quoi on parle et ce que l'on fait, ce qui ne semble pas être votre cas !

    je me demande aussi si en terme de performance, est-ce que ca va relentir mon reseau (les 2 tables sont ENORMES et se font remplir constamment)?
    Encore une fois énorme ne veut rien dire... Et tout dépend du temps de latence que vous donnerez : plus le temps de latence sera faible et plus de process sera consommé pour la réplication au détriement du service des données.

    En bref, commencez par prendre un cours d'administration parce que là vous pataugez sérieusement !

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 056
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 056
    Points : 1 216
    Points
    1 216
    Par défaut
    bonjour,

    Bonjour, jai une base de donnees centrale, a un endroit quelconque, avec enorme table (qui se faire ecrire constamment). A un autre endroit physique, jai une 2e base de donnees (secondaire) qui contient la meme table (en terme de structure), mais avec differente donnees (qui entre aussi contamment).

    Ce que je veux faire, cest de transmettre, periodiquement, les nouvelles donnees que jai dans ma base de donnees secondaire a celle centrale.

    La base secondaire na pas besoin detre une 'clone' de celle centrale...elle sert seulement a collectionner les donnees et les ajouter a celle centrale
    la réplication permet effectivement faire ça, le principe est de rejouer les ordres sql lancés sur la table de la base secondaire sur la table abonnée sur le primaire. S'il n'y qu'un sens de réplication (secondaire -> centrale), la répli transactionnelle est suffisante. La réplication transactionnelle répond généralement à des besoins de données temps réél ou proche mais il est possible de répliquer à une fréquence basse.

    Je dois aussi mentionner que les donnees qui seront transmise de la base secondaire seront tres lourdes (beaucoup de rows)
    beaucoup de rows c'est vague .... et ça va dépendre aussi de la taille de la ligne (champs Text, etc.). De manière générale, il vaut mieux avoir un réseau performant entre les 2 machines. Quel type avez-vous (2 mbits, 100 mbits, etc...) ?

    Dois-je me tourner vers la replication pour se genre d'operation? Quel mode de replication?

    Jaimerais en avoir un peu plus sur la replication. Si je met ma base secondaire comme 'publisher' and celle centrale comme 'subscriber', est-ce que les donnees que centrale possede et que secondaire n'a pas vont se faire supprimer? (centrale se fait remplir de son cote aussi independament de secondaire)....
    Par défaut, si une suppression a lieu sur la table secondaire, elle sera rejouée sur la table primaire. Si la donnée n'existe pas sur la table centrale, la réplication s'arrête en erreur.
    Vous avez la possibilité de ne pas répliquer certains ordres (insert,update,delete), si vous ne voulez remonter vers la table centrale que les données ajoutées dans la table secondaire

    je crois que 'Merge replication' resouderait mon probleme....ai-je raison?

    je me demande aussi si en terme de performance, est-ce que ca va relentir mon reseau (les 2 tables sont ENORMES et se font remplir constamment)?
    La Merge est vraiment adaptée pour des volumes faibles remontant vers une base centrale par exemple. Pour de gros volumes, ça fonctionne aussi mais je ne le conseillerais pas (table d'historique de répli qui grossit et qui est difficile à purger)

    je me demande aussi si en terme de performance, est-ce que ca va relentir mon reseau (les 2 tables sont ENORMES et se font remplir constamment)?
    ENORMES = combien de lignes ? taille de la table en Méga/giga ?
    La réplication a bien sûr un effet sur le réseau mais sur un LAN 100 mbits, cela ne pose généralement pas pb, en tout cas au niveau réseau. La réplication a également un effet sur le journal des transactions, les transactions non répliquées ne pouvant être purgées tant qu'elles n'ont pas été envoyées sur le distributeur.

    voilà.
    Emmanuel T.

  4. #4
    Membre du Club
    Inscrit en
    Juin 2006
    Messages
    133
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 133
    Points : 54
    Points
    54
    Par défaut
    merci pour vos reponses...je vais essayer de repondre a vos questions:

    1-pour ce qui est de la grosseur de la table, voici les colonnes:
    dateandtime,smallint,smallint,float,varchar(1),varchar(1) (22 bytes en tout). La table centrale contient contient a ce jour environ ~10 000 000 de rows avec ~10 rows qui s'ajoute a la seconde (en temps normal). Celle secondaire est sera vide en partant mais aura probablement le meme rythme dinsertion.

    2-les 2 serveur sont distants..je ne suis pas au courant exactement de la vitesse du reseau...mais je sais que la latence est considerable.

    3- Citation:"est-ce que les donnees que centrale possede et que secondaire n'a pas vont se faire supprimer? (centrale se fait remplir de son cote aussi independament de secondaire)...."

    -Ce que jentend par cela est que la base de donnees centrale collecte des donnees, de son cote, dans la meme table a partir dune autre source. Que va t-il arriver a ces donnes...vont-elle se repliquer a la base secondaire (si cest ce que je comprends)? Autrement dit, est-ce que la replication peut etre unidirectionelle (secondaire->centrale)? Le contraire serait nefaste car ca mangerait du reseau inutilement.


    Autre question: est-ce que la replication transactionelle est la seule methode de replication que lon peut planifier periodiquement?

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 768
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 768
    Points : 52 719
    Points
    52 719
    Billets dans le blog
    5
    Par défaut
    Donc table de 210 Mo (c'est faible)
    et progression de 18 Mo par jour.

    Soit : par mois : 0,5 Go
    par an : 6 Go
    par décennies : 60 Go

    Voyez qu'au bout de 10 ans on est pas encore dans les grosses bases !

    Le temps de latence est celui que vous désirez avoir entre deux mise à jour de la base répliquée. SI faible => BEAUCOUP de process. SI fort => peu de process.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  6. #6
    Membre du Club
    Inscrit en
    Juin 2006
    Messages
    133
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 133
    Points : 54
    Points
    54
    Par défaut
    la chose est que cette table existe depuis 4 ans...mais bon si tu dis que 60GB nest pas gros pour une replication....

    mon probleme est que jessaie depuis 2 jours a tester une replication transactionelle...mais SQL ne veut pas cooperer.

    Voir:
    http://www.developpez.net/forums/sho...d.php?t=450397

    quelqu'un peut maide svp...ce probleme est tres frustrant!

  7. #7
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 768
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 768
    Points : 52 719
    Points
    52 719
    Billets dans le blog
    5
    Par défaut
    La réplication fait partie des cours avancés de MS SQL Server, après celui d'admin qui est un préalable. Elle est pourtant simplifiée au maximum. Avez vous suivi les cours d'admin et de réplication ? Si non, je vous invite vivement à le faire...

    Il est impossible de vous répondre correctement par le biais d'un forum sur ce genre de sujets.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 12
    Points : 4
    Points
    4
    Par défaut Cours d'admin et de réplication
    Malheureusement je n'ai pas de réponse à la question posée dans ce forum, par contre ce que j'ai lu m'a "interpellé" :

    Avez vous suivi les cours d'admin et de réplication ? Si non, je vous invite vivement à le faire...
    Je dois maintenir une replication de fusion et je ne suis pas expert en la matière.
    Je suis interressé par de tels cours s'ils existent : savez-vous où je peux trouver en ligne un cours ou un didacticiel sur la réplication? Je suis allé voir dans les didacticiels de ce site, à propos de SQL Server et son administration, mais je n'ai pas trouvé celui sur la réplication.
    Merci d'avance!

    P.S. : Pour ceux qui connaissent bien la réplication de fusion sous SQL Server, si vous pouvez m'aider voici mon petit problème :
    http://www.developpez.net/forums/sho...97#post2838997

  9. #9
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 768
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 768
    Points : 52 719
    Points
    52 719
    Billets dans le blog
    5
    Par défaut
    A ma connaissance il n'existe pas de cours en ligne sur la réplication. Il faudra donc vous former par l'intermédiaire d'un organisme de formation comme Orsys, Learning Tree ou IB.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  10. #10
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 056
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 056
    Points : 1 216
    Points
    1 216
    Par défaut
    vous avez quelques cours en ligne (ils sont peut-être encore gratuits ...) avec exos sur le site MCP de Microsoft, mais cela reste un aperçu.
    http://www.microsoft.com/learning/as...t/default.mspx
    Emmanuel T.

Discussions similaires

  1. Réponses: 2
    Dernier message: 07/10/2011, 15h17
  2. Replication ou autre procédé SQL
    Par oadin dans le forum Réplications
    Réponses: 4
    Dernier message: 18/05/2009, 15h07
  3. Réponses: 0
    Dernier message: 06/02/2009, 21h25
  4. [windev11] Replication et autres documents
    Par nath-0-0 dans le forum WinDev
    Réponses: 13
    Dernier message: 12/06/2008, 09h08
  5. replication ou autre?
    Par maxtin dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 13/01/2008, 19h34

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