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

  1. #1
    Membre à l'essai
    Inscrit en
    avril 2008
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : avril 2008
    Messages : 16
    Points : 16
    Points
    16

    Par défaut [2017] - question architecture AG

    Bonjour à tous,

    Nous souhaitons monter une architecture proche de celle ci-dessous :

    Nom : Archi.jpg
Affichages : 21
Taille : 48,4 Ko

    Configuration : groupes de disponibilités monté sur WSFC 5 noeuds

    Les besoins sont :
    - Failover automatique
    - 1 serveur de reporting, replica secondaire asynchrone en lecture des groupes de disponibilités AVG1 et AVG2 (les bases Db1 et Db3 sont accessibles en lecture)


    La problématique est la suivante :
    Comment faire pour qu'en cas de défaillance d'une des bases (Db1 ou Db2) sur une instance SQL, les 2 groupes de disponibilités AVG_Db1 et AVG_Db2 basculent automatiquement vers le réplica secondaire (SecondaryServer1).
    Car avec le modèle actuel, lors de la défaillance d'une des bases, le groupe de disponibilité contenant cette base va basculer automatiquement, mais la seconde base sera inaccessible (notre application a besoin des 2 bases pour fonctionner).

    contraintes :
    - Nous ne voulons pas payer une licence supplémentaire pour les serveurs secondaires (donc bases non accessibles en lecture), ni avoir les bases Db2 et Db4 sur le serveur de reporting.
    - Pas de mutualisation des bases (Db1 avec Db2 et Db3 avec Db4).

    Des idées ou est-ce tout simplement impossible?
    Merci d'avance.

  2. #2
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    août 2005
    Messages
    5 108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : août 2005
    Messages : 5 108
    Points : 11 873
    Points
    11 873

    Par défaut

    Hello,

    Avec les listeners pas vraiment de souci puisque les 2 bases restent accessibles par l'application si elles passent par les listeners.
    Est-ce que tu sous entends que des transactions cross db s'effectuent? Si c'est le cas je vois 2 solutions possibles:

    - La solution "bricolo" à base de script qui fait basculer l'ensemble des groupes quand un bascule.
    - La solution plus propre est de changer le design actuel en ne faisant qu'un seul groupe de disponibilité et en utilisant du log-shipping par exemple en complément pour la partie reporting. Le log-shipping apporte son lot de désavantage bien entendu: pas de reporting "real time" et en fonction du mode tu peux avoir soit un certain retard sur le refresh de tes data ou une déconnexion sauvage de tes utilisateurs. Mais si c'est acceptable pour l'un ou pour l'autre alors cela reste une solution possible.


    ++

  3. #3
    Rédacteur
    Avatar de SQLpro
    Homme Profil pro
    Expert SGBDR & SQL, spécialiste Microsoft SQL Server
    Inscrit en
    mai 2002
    Messages
    18 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert SGBDR & SQL, spécialiste Microsoft SQL Server
    Secteur : Conseil

    Informations forums :
    Inscription : mai 2002
    Messages : 18 208
    Points : 42 569
    Points
    42 569

    Par défaut

    Citation Envoyé par aolelien Voir le message
    Bonjour à tous,

    Nous souhaitons monter une architecture proche de celle ci-dessous :

    Nom : Archi.jpg
Affichages : 21
Taille : 48,4 Ko

    Configuration : groupes de disponibilités monté sur WSFC 5 noeuds
    Première question : êtes vous en édition Enterprise ou standard ?

    Les besoins sont :
    - Failover automatique
    - 1 serveur de reporting, replica secondaire asynchrone en lecture des groupes de disponibilités AVG1 et AVG2 (les bases Db1 et Db3 sont accessibles en lecture)


    La problématique est la suivante :
    Comment faire pour qu'en cas de défaillance d'une des bases (Db1 ou Db2) sur une instance SQL, les 2 groupes de disponibilités AVG_Db1 et AVG_Db2 basculent automatiquement vers le réplica secondaire (SecondaryServer1).
    Car avec le modèle actuel, lors de la défaillance d'une des bases, le groupe de disponibilité contenant cette base va basculer automatiquement, mais la seconde base sera inaccessible (notre application a besoin des 2 bases pour fonctionner).
    Si tel est le cas : "notre application a besoin des 2 bases pour fonctionner", vous avez une erreur de design. Il aurait fallu plutôt jouer sur les schéma SQL au sein d'une même base. Ré étudiez cette architecture, car, au delà de la haute dispo, vous aurez de multiples problèmes tel que la remontée consistante de vos sauvegardes qui ne peuvent en aucun cas être synchronisées….

    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...
    * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *

  4. #4
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    août 2005
    Messages
    5 108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : août 2005
    Messages : 5 108
    Points : 11 873
    Points
    11 873

    Par défaut

    Première question : êtes vous en édition Enterprise ou standard ?
    Je pense qu'il est en enterprise sinon il n'aura jamais pu mettre un 3ème noeud dans son architecture (du moins c'est ce que j'ai supposé ...)

    ++

  5. #5
    Membre à l'essai
    Inscrit en
    avril 2008
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : avril 2008
    Messages : 16
    Points : 16
    Points
    16

    Par défaut

    Citation Envoyé par mikedavem Voir le message
    Hello,

    Avec les listeners pas vraiment de souci puisque les 2 bases restent accessibles par l'application si elles passent par les listeners.
    Est-ce que tu sous entends que des transactions cross db s'effectuent? Si c'est le cas je vois 2 solutions possibles:

    - La solution "bricolo" à base de script qui fait basculer l'ensemble des groupes quand un bascule.
    - La solution plus propre est de changer le design actuel en ne faisant qu'un seul groupe de disponibilité et en utilisant du log-shipping par exemple en complément pour la partie reporting. Le log-shipping apporte son lot de désavantage bien entendu: pas de reporting "real time" et en fonction du mode tu peux avoir soit un certain retard sur le refresh de tes data ou une déconnexion sauvage de tes utilisateurs. Mais si c'est acceptable pour l'un ou pour l'autre alors cela reste une solution possible.


    ++
    Merci pour votre retour,
    - Il y'aura effectivement des transactions crossDb d'où la nécessité d'avoir les 2 bases accessible en Read sur la même instance
    - Comme vous le dites, le problème du logshipping c'est le fait que la base ne soit pas accessible en lecture à tout moment, ce qui est un des besoins (mea culpa, je ne l'ai pas précisé).

  6. #6
    Membre à l'essai
    Inscrit en
    avril 2008
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : avril 2008
    Messages : 16
    Points : 16
    Points
    16

    Par défaut

    Citation Envoyé par SQLpro Voir le message
    Première question : êtes vous en édition Enterprise ou standard ?Si tel est le cas : "notre application a besoin des 2 bases pour fonctionner", vous avez une erreur de design. Il aurait fallu plutôt jouer sur les schéma SQL au sein d'une même base. Ré étudiez cette architecture, car, au delà de la haute dispo, vous aurez de multiples problèmes tel que la remontée consistante de vos sauvegardes qui ne peuvent en aucun cas être synchronisées….

    A +

    Bonjour,

    Oui la version est bien Enterprise.
    Les bases Db2 et Db4 ne seront accédées qu'en lecture et seront alimentées via de la réplication transactionnelle.
    La principale raison pour laquelle nous les avons séparées des bases Db1 et Db3 (bases principales) c'était pour avoir la possibilité d'utiliser dans le futur, des réplicas Asynchrone avec répartition de charge (pour les requêtes ne contenant pas de transactions CrossDb), si le besoin s'en faisait ressentir.
    Mais il semblerait que le plus "propre" et optimisé serait de revenir, comme vous le dites, à une seule base.

    Merci pour vos réponses.

  7. #7
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    août 2005
    Messages
    5 108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : août 2005
    Messages : 5 108
    Points : 11 873
    Points
    11 873

    Par défaut

    S'il est possible de toucher au schéma encore mieux ...

    ++

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Question architecture Spring
    Par _skip dans le forum Spring
    Réponses: 9
    Dernier message: 07/03/2009, 10h23
  2. Question architecture Oracle 9i
    Par sebastien00 dans le forum Approche théorique du décisionnel
    Réponses: 1
    Dernier message: 29/04/2008, 11h53
  3. Question architecture ?
    Par nono44200 dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 30/07/2007, 12h21
  4. [SQL Server 2005] question architecture
    Par phil89 dans le forum MS SQL-Server
    Réponses: 4
    Dernier message: 14/06/2007, 10h26
  5. question : architecture en couches
    Par Spacy_green dans le forum Développement
    Réponses: 10
    Dernier message: 25/05/2006, 19h08

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