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 :

Besoin conseil d'architecture


Sujet :

Réplications SQL Server

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2009
    Messages : 212
    Points : 71
    Points
    71
    Par défaut Besoin conseil d'architecture
    Salut,
    J'ai un besoin que voici:

    J'ai une database :
    -Beaucoup d'écritures quasiment 24h/24
    -Elle est d'un volume imposant
    -Elle doit être hautement disponible (possibilité de récupération rapide avec des pertes minimisées en cas de crash)
    -On doit faire du reporting dessus en parallèle (donc de la lecture)

    A quelle stratégie pensez-vous avec ces infos? j'ai posté dans la partie réplication mais si vous avez d'autres idées...
    (Réplication, mirroring, clusters, répartition de charge,...)

    Merci pour l'aide !

  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 774
    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 774
    Points : 52 746
    Points
    52 746
    Billets dans le blog
    5
    Par défaut
    Mirroring synchrone avec déport du reporting sur le miroir

    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 régulier
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2009
    Messages : 212
    Points : 71
    Points
    71
    Par défaut
    Merci pour l'info, effectivement ça semble intéressant.

    Quid si le serveur principal crash et que par malchance le mirroir crash aussi?
    y aurait-il moyen de mettre un 3 ème serveur dans cette archi? Juste présent au cas où, voir même de faire du load balancing entre celui-ci et le principal afin d'optimiser le tout.

    Ou alors :
    -1 serveur principal
    -1 serveur en backup si crash du principal
    -1 mirroir du principal pour reporting

    Afin de ne pas surcharger le mirroir si crash du principal

  4. #4
    Membre éprouvé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2009
    Messages
    623
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Août 2009
    Messages : 623
    Points : 1 049
    Points
    1 049
    Par défaut
    Citation Envoyé par SQLpro Voir le message
    Mirroring synchrone avec déport du reporting sur le miroir
    Je pensais que les bases "mirrorées" n'étaient pas accessible en lecture. Et justement que c'était un des plus du "Always On" de rendre les bases "secondaires" accessibles en lecture.
    Blog Perso | Kankuru (logiciel gratuit pour SQL Server)

  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 774
    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 774
    Points : 52 746
    Points
    52 746
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par vinch999 Voir le message
    Merci pour l'info, effectivement ça semble intéressant.

    Quid si le serveur principal crash et que par malchance le mirroir crash aussi?
    y aurait-il moyen de mettre un 3 ème serveur dans cette archi? Juste présent au cas où, voir même de faire du load balancing entre celui-ci et le principal afin d'optimiser le tout.

    Ou alors :
    -1 serveur principal
    -1 serveur en backup si crash du principal
    -1 mirroir du principal pour reporting

    Afin de ne pas surcharger le mirroir si crash du principal
    Avec AlwaysOn vous pouvez faire un double voir un triple mirroring. par exemple un miroir synchrone local à basculement automatique plus un miroir asynchrone à basculement manuel.

    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
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 774
    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 774
    Points : 52 746
    Points
    52 746
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par darkelend Voir le message
    Je pensais que les bases "mirrorées" n'étaient pas accessible en lecture. Et justement que c'était un des plus du "Always On" de rendre les bases "secondaires" accessibles en lecture.
    Elle sont lisible depuis la version 2005 si vous faites un snapshot de la base. mais c'est unen photo à l'instant t.
    A partir de 2012 vous pouvez faire des lectures dynamique directement sur le miroir.

    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/ * * * * *

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2009
    Messages : 212
    Points : 71
    Points
    71
    Par défaut
    Citation Envoyé par SQLpro Voir le message
    Avec AlwaysOn vous pouvez faire un double voir un triple mirroring. par exemple un miroir synchrone local à basculement automatique plus un miroir asynchrone à basculement manuel.

    A +
    Cette fonctionnalité n'est disponible que depuis la version 2012, non?

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2009
    Messages : 212
    Points : 71
    Points
    71
    Par défaut
    Citation Envoyé par SQLpro Voir le message
    Elle sont lisible depuis la version 2005 si vous faites un snapshot de la base. mais c'est unen photo à l'instant t.
    A partir de 2012 vous pouvez faire des lectures dynamique directement sur le miroir.

    A +
    Cela ne m'arrange pas spécialement, car théoriquement le reporting doit se faire avec des données synchros.

  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 774
    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 774
    Points : 52 746
    Points
    52 746
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par vinch999 Voir le message
    Cette fonctionnalité n'est disponible que depuis la version 2012, non?
    Oui.
    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
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 774
    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 774
    Points : 52 746
    Points
    52 746
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par vinch999 Voir le message
    Cela ne m'arrange pas spécialement, car théoriquement le reporting doit se faire avec des données synchros.
    Dans ce cas migrez vers le version 2012 !

    Maintenant c'est quoi les métriques sur :
    • Beaucoup d'écritures quasiment 24h/24
    • Volume imposant
    • Reporting dessus en parallèle (donc de la lecture)


    Si vous êtes à plusieurs To, plus de 5000 transactions par seconde et avec plusieurs milliers d'utilisateurs, là oui, le mieux serait deux serveurs. Sinon un seul serveur un peu costaud suffit avec la version Enterprise et les bons réglages (sp_configure, mais aussi isolation snapshot, et resources governor...)

    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/ * * * * *

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2009
    Messages : 212
    Points : 71
    Points
    71
    Par défaut
    Citation Envoyé par SQLpro Voir le message
    Dans ce cas migrez vers le version 2012 !

    Maintenant c'est quoi les métriques sur :
    • Beaucoup d'écritures quasiment 24h/24
    • Volume imposant
    • Reporting dessus en parallèle (donc de la lecture)


    Si vous êtes à plusieurs To, plus de 5000 transactions par seconde et avec plusieurs milliers d'utilisateurs, là oui, le mieux serait deux serveurs. Sinon un seul serveur un peu costaud suffit avec la version Enterprise et les bons réglages (sp_configure, mais aussi isolation snapshot, et resources governor...)

    A +
    Plus facile à dire qu'à faire concernant la migration , ce n'est pas de mon ressort. va falloir faire avec 2008R2 malheureusement.
    Concernant les métriques, je n'ai pour le moment pas ces infos.
    Je sais juste que le nombre de users devrait être réduit, donc assez peu de lecture, théoriquement. Par contre beaucoup d'écriture. Mais dans des volumes tout de même raisonnables (plutôt de l'ordre du Go que du To)

    Merci pour l'aide en tous cas !

  12. #12
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 774
    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 774
    Points : 52 746
    Points
    52 746
    Billets dans le blog
    5
    Par défaut
    Alors avec un bon serveur, pas mal de RAM et surtout un "smart array" avec au moins 8 disques, vous devriez vous en sortir.

    En ce qui concerne les transactions, le plus important est le niveaux de RAID (exclure RAID 5, 6 et toutes combinaisons 50, 60), la ventilation des IO sur différentes agrégats et le parallélisme.

    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/ * * * * *

  13. #13
    Nouveau Candidat au Club
    Inscrit en
    Décembre 2009
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par SQLpro Voir le message
    Alors avec un bon serveur, pas mal de RAM et surtout un "smart array" avec au moins 8 disques, vous devriez vous en sortir.

    En ce qui concerne les transactions, le plus important est le niveaux de RAID (exclure RAID 5, 6 et toutes combinaisons 50, 60), la ventilation des IO sur différentes agrégats et le parallélisme.

    A +
    Un bon serveur est une notion relativement floue...

    Est-ce que la réplication transactionnelle ne pourrait répondre à ce genre de besoin en répartissant la charge sur 2 ou 3 nœuds? Cela permettrait aussi d'avoir des serveurs un peu moins bon...


  14. #14
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 774
    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 774
    Points : 52 746
    Points
    52 746
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par salva257 Voir le message
    Un bon serveur est une notion relativement floue...

    Est-ce que la réplication transactionnelle ne pourrait répondre à ce genre de besoin en répartissant la charge sur 2 ou 3 nœuds? Cela permettrait aussi d'avoir des serveurs un peu moins bon...

    Non, c'est stupide ! Avant de faire du scale out qui vous coutera TRES CHER (en matériel, en licence et en administration...), on commence par faire du scale out.

    Un serveur SQL peut supporter 32 000 connexion simutanées. N'est-ce pas suffisant ?

    la réplication d'une base entière en mode synchone va consommer entre 80 et 99% des CPU; Vous n'aurez donc plus aucune ressources pour les utilisateurs...

    le but de la réplication est plus pensé pour répartir les données et non redonder. mais pour répartir il faut quand même quelques données communes...
    Exemple : fnac.com
    1) 16 serveur en Front office dont chacun comprend tous les produits, mais 1/16e des clients, commandes...
    2) réplication des produits du BO vers le FO deux fois par jour (midi et minuit)
    3) réplication des commandes toutes les 5 minutes du FO vers le BO

    A +



    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/ * * * * *

  15. #15
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    Un bon serveur est une notion relativement floue...

    Est-ce que la réplication transactionnelle ne pourrait répondre à ce genre de besoin en répartissant la charge sur 2 ou 3 nœuds? Cela permettrait aussi d'avoir des serveurs un peu moins bon...
    Effectivement la notion de "bon serveur" est à corréler avec la charge qui sera appliquée et les besoins en ressources (CPU, IO, RAM, réseau ...).

    Cependant la mise en place d'une réplication transactionnelle dans ce cas n'est pas forcément judicieuse car elle requiert une administration beaucoup plus poussée et elle n'est pas forcément transparente au niveau applicatif (certains prérequis doivent être validés au niveau du schéma). De plus à la vue des contraintes de ha et de Reporting la réplication transactionnelle ne serait pas forcément la bonne candidate.

    ++

Discussions similaires

  1. Besoin conseil : lier 2 bases mysql
    Par vallica dans le forum Requêtes
    Réponses: 2
    Dernier message: 09/08/2006, 10h24
  2. Besoin conseil developpement web - messagerie
    Par xman_genius dans le forum Autres Logiciels
    Réponses: 5
    Dernier message: 24/04/2006, 21h33
  3. [Besoin Conseils] Coder de manière élégante
    Par Mathusalem dans le forum Langage
    Réponses: 3
    Dernier message: 29/01/2006, 18h42
  4. [EJB Session] Besoin conseil pour implémentation
    Par stago dans le forum Java EE
    Réponses: 10
    Dernier message: 13/07/2004, 11h20
  5. Réponses: 3
    Dernier message: 01/07/2003, 16h04

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