none
Partage d'instance SQL entre noeuds hors cluster RRS feed

  • Question

  • Bonjour,

    J'aimerai savoir s'il est possible que plusieurs serveurs SQL 2012 R2  supportent la même instance SQL  sans être membres d'un cluster?

    Si oui auriez vous un tuto ou une idée de comment on fait ça?  

    De même dans ce cas comment peut on mettre en place de la réplication entre tous les noeuds afin d'assurer la cohérence des données en base? 

    Mon but est de mettre plusieurs serveurs MSSQL 2012R2  en load balancing pour remplacer 5 clusters failover  (2 noeuds/cluster)  et ainsi réduire le nombre de noeud en passant à 6  noeuds doppés en RAM plutôt qu'à 10 noeuds actuellement .

    Le load balancing serait fait en round robin alternativement sur chaque noeud  via un outils tiers.



    Orwell

    lundi 17 octobre 2016 11:28

Réponses

  • Non, il n'y a rien de tel. Le cluster permet de basculer tout :

    • Base
    • Login
    • Config instance 
    • ...

    Il existe la possibilité de répliquer des bases de données en mode transactionnel (pas d'écriture possible sur les réplicas) ou en merge (écriture possible sur les réplicas). Le probleme est l'industrialisation, prendre en compte des notions de modification d'objets... de plus certains type d'objet de granularité base de données ne sont pas réplicable (exemple : utilisateur)

    Il me semble que c'est à partir de SQL Server 2012 qu'il est possible d'utiliser les groupes de disponibilité (alwayson), ça repose sur un cluster mais pas besoin d'avoir une baie de disque partagé ou quoi que ce soit, le cluster sera juste la méthode load balancing. Mais avec les groupes de disponibilité on se heurte aussi a des probleme de propagation d'objet de granularité instance.

    • Proposé comme réponse Grégory_Nail vendredi 21 octobre 2016 08:36
    • Marqué comme réponse G-Orwell mardi 22 novembre 2016 12:46
    lundi 17 octobre 2016 14:54
  • Bonjour

    SQL 2012R2 n'est toujours pas au catalogue. 2014 éventuellement, 2016 ...

    Est-ce les instances doivent supporter de la lecture seulement ou bien de la lecture/écriture ?

    Si c'est du RO, il existe des possibilités. Bases SSD, réplication + Load balancing avec un outil tiers, Service Broker + load balancing ... J'ai présenté quelques solutions lors de plusieurs SQLSaturday.

    Pour de l'écriture, en mode multi-maitre, soit on passe par une réplication en mode P2P (mais édition entreprise), soit on peut utiliser de la réplication de type Merge.

    Instances dopées en RAM : attention, l'édition standard de supporte que 128GB de RAM, je ne sais pas trop ce que vous appelé dopés en RAM.

    J'ai travaillé sur plusieurs projet de ce type ou le scaleout était un prérequis fort, n'hésitez pas à me contacter si vous ne trouvez pas de solution.

    Pouvez vous préciser un peu plus le besoin, un serveur SQL avec une infra balancée (tous les sous systèmes de performance équivalentes), un bon design de BD et d'index plus du code client propre peut assez facilement prendre des dizaines de milliers de rq par seconde, voire en montant en conf, certains franchissent la barre du million de rq/sec.

    cdlt


    Christophe LAPORTE - Independent Consultant & Trainer - SQL Server MVP-MCM

    • Marqué comme réponse G-Orwell mardi 22 novembre 2016 12:46
    lundi 7 novembre 2016 21:56

Toutes les réponses

  • Non, il n'y a rien de tel. Le cluster permet de basculer tout :

    • Base
    • Login
    • Config instance 
    • ...

    Il existe la possibilité de répliquer des bases de données en mode transactionnel (pas d'écriture possible sur les réplicas) ou en merge (écriture possible sur les réplicas). Le probleme est l'industrialisation, prendre en compte des notions de modification d'objets... de plus certains type d'objet de granularité base de données ne sont pas réplicable (exemple : utilisateur)

    Il me semble que c'est à partir de SQL Server 2012 qu'il est possible d'utiliser les groupes de disponibilité (alwayson), ça repose sur un cluster mais pas besoin d'avoir une baie de disque partagé ou quoi que ce soit, le cluster sera juste la méthode load balancing. Mais avec les groupes de disponibilité on se heurte aussi a des probleme de propagation d'objet de granularité instance.

    • Proposé comme réponse Grégory_Nail vendredi 21 octobre 2016 08:36
    • Marqué comme réponse G-Orwell mardi 22 novembre 2016 12:46
    lundi 17 octobre 2016 14:54
  • Merci beaucoup pour votre réponse.

    Si je comprends bien donc  en dehors de l'édition Enterprise de SQL Server, point de possibilité de distribuer une instance (comptes,log,Db, procédures stockées) sur plusieurs noeuds à la fois en actif/actif?


    Orwell

    samedi 22 octobre 2016 16:57
  • Tout à fait.
    lundi 24 octobre 2016 06:36
  • Bonjour

    SQL 2012R2 n'est toujours pas au catalogue. 2014 éventuellement, 2016 ...

    Est-ce les instances doivent supporter de la lecture seulement ou bien de la lecture/écriture ?

    Si c'est du RO, il existe des possibilités. Bases SSD, réplication + Load balancing avec un outil tiers, Service Broker + load balancing ... J'ai présenté quelques solutions lors de plusieurs SQLSaturday.

    Pour de l'écriture, en mode multi-maitre, soit on passe par une réplication en mode P2P (mais édition entreprise), soit on peut utiliser de la réplication de type Merge.

    Instances dopées en RAM : attention, l'édition standard de supporte que 128GB de RAM, je ne sais pas trop ce que vous appelé dopés en RAM.

    J'ai travaillé sur plusieurs projet de ce type ou le scaleout était un prérequis fort, n'hésitez pas à me contacter si vous ne trouvez pas de solution.

    Pouvez vous préciser un peu plus le besoin, un serveur SQL avec une infra balancée (tous les sous systèmes de performance équivalentes), un bon design de BD et d'index plus du code client propre peut assez facilement prendre des dizaines de milliers de rq par seconde, voire en montant en conf, certains franchissent la barre du million de rq/sec.

    cdlt


    Christophe LAPORTE - Independent Consultant & Trainer - SQL Server MVP-MCM

    • Marqué comme réponse G-Orwell mardi 22 novembre 2016 12:46
    lundi 7 novembre 2016 21:56
  • Bonjour Christophe,

    Toutes les instances sont en RW.

    Je ne suis pas expert mais si j'ai bien compris ce que dit Gregory Nail les solutions de type MERGE ne permettent pas la réplication de certains objets.

    Le but principale est de réduire le cout d'hébergement de serveurs physiques (actuellement 5 clusters de 2 noeuds actif/passif) en passant de 10 noeuds (dont seulement 5 actifs en permanence) à 6 noeuds actifs en permanence et load balancés.

    Actuellement chaque noeud exécute  SQL standard Edition 2012R2 avec 40 Go de RAM et je voudrais passer à 6 noeuds avec 96 Go de RAM. 

    /* un bon design de BD et d'index plus du code client propre peut assez facilement prendre des dizaines de milliers de rq par seconde, voire en montant en conf, certains franchissent la barre du million de rq/sec.  */.

    Ca je ne peux pas garantir que le design DB et Index || le code soit propre. Je ne suis ni dba ni dev ;-) 

    Toutefois si vous êtes consultant en region parisienne je peux éventuellement avoir besoin de vos services dans le cadre d'une prestation visant à réinternaliser l'admin DB SQL Server actuellement réalisée par notre hébergeur.

    Je pourrais avoir besoin d'audit, conseils, mep et transfert de compétences... Je vous contacterai via votre blog.

     


    Orwell


    • Modifié G-Orwell mardi 8 novembre 2016 02:05
    mardi 8 novembre 2016 02:03