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 :

Ecommerce US/CA/FR : comment faire la BD ?


Sujet :

Réplications SQL Server

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    août 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : août 2020
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Ecommerce US/CA/FR : comment faire la BD ?
    Bonjour à tous.
    Aujourd’hui nous sommes face à un défi d'architecture nouveau pour nous.
    Nous devons faire évoluer un site ecommerce vers l'international.
    Là ou cela bloque le plus c'est concernant la bd.
    Pour le moment nous avons adapté notre code pour le marché US et CA.
    Nous avons déjà un frontend au Canada et un autre en France. Une ferme de serveur donc.
    Le problème, et on s'en doutait, c'est la lenteur de communication avec le serveur SQL qui lui est en France.
    Nous somme en .NET, IIS, MSSQL.
    Il faut donc que l'on se dirige vers un cluster SQL en réplication. Enfin j'imagine ?
    Ma question est, comment font les autres ?
    Comment fait Amazon par exemple pour distribuer ses data au travers le monde ?
    Si vous avez de l'expérience sur le sujet je suis preneur !

  2. #2
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    août 2005
    Messages
    5 390
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    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 390
    Points : 12 722
    Points
    12 722
    Par défaut
    Hello,

    Dans les grandes lignes, il faut d'abord définir tes flux de réplication (unidirectionnel / bidirectionnel), les objets de ta (tes ?) base(s) concernée(s) et si sur chaque site (FR / CA / US), la fréquence de réplication de ces objets (une fois par jour / temps réel ...) et si un mode offline est obligatoire (site HS, coupure réseau entre 2 sites etc ...)

    1) Par expérience, tu peux te baser sur la réplication SQL Server qui est un grand classique dans ce type de scénario avec une (plusieurs) base(s) de données sur chaque site pour minimiser les latences d'accès. Cependant en fonction du type de réplication (transactionnelle / fusion / snapshot) des contraintes de schémas seront à prévoir. L'application doit pouvoir aussi s'adapter à ce type d'architecture sous peine d'avoir à gérer des multitudes de conflits lors des mises à jour de données depuis les différents sites (si configuration multi-master).

    L'utilisation des AG avec cluster geo-distribué est aussi envisageable avec réplication asynchrone si tes flux de réplication restent unidirectionnelles avec plusieurs secondaires en RO sur chaque site.

    2) Tu peux aussi envisager une architecture Cloud. Si les mises à jour ne se font que depuis un seul site, pourquoi quoi utiliser une architecture Azure SQL DB avec de la géo-réplication et des secondaires en RO sur chaque site. Si le multi-master est obligatoire, pourquoi pas faire du sharding avec les données distribuées en fonction de leur localité (FR / CA / US). Dans ce dernier cas, l'application devra certainement être mise à jour pour supporter le sharding.

    ++

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    août 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : août 2020
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Merci du retour aussi détaillé.
    Nous avons besoin dans notre scénario de pouvoir ecrire des deux côtés donc pas de RO.
    Le offline est acceptable.
    Ma crainte c'est de devoir transformer toute nos primary key en uniqueid, elles sont actuellement en int incrémentale comment gérer ce point ?
    Une autre question en passant : nous avons l'habitude d'avoir nos serveurs FrontEnd et SQL directement sur internet (front wan) pour faire de la replication il faut obligatoirement les intaller dans un VPN?

  4. #4
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    août 2005
    Messages
    5 390
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    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 390
    Points : 12 722
    Points
    12 722
    Par défaut
    Citation Envoyé par AvenirN Voir le message
    Merci du retour aussi détaillé.
    Nous avons besoin dans notre scénario de pouvoir ecrire des deux côtés donc pas de RO.
    LLe offline est acceptable.
    Ma crainte c'est de devoir transformer toute nos primary key en uniqueid, elles sont actuellement en int incrémentale comment gérer ce point ?
    Pour la réplication de fusion (BOL), une clé primaire n'est pas nécessaire. Seul l'ajout d'une colonne UNIQUEIDENTIFIER avec la propriété ROWGUIDCOL (et indexée) est requise pour les articles qui seront répliquées.

    Citation Envoyé par AvenirN Voir le message
    Une autre question en passant : nous avons l'habitude d'avoir nos serveurs FrontEnd et SQL directement sur internet (front wan) pour faire de la replication il faut obligatoirement les intaller dans un VPN?
    Le VPN n'est pas obligatoire. La web synchro (avec HTTPs) existe également (BOL). A voir en fonction de ton contexte.

    ++

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

Discussions similaires

  1. [VB6][impression]Comment faire des effets sur les polices ?
    Par le.dod dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 08/11/2002, 10h31
  2. comment faire evoluer ma base vers interbase6
    Par toure32 dans le forum InterBase
    Réponses: 5
    Dernier message: 23/10/2002, 10h59
  3. Réponses: 8
    Dernier message: 18/09/2002, 03h20
  4. Comment faire pour mettre l'ecran en veille ?
    Par March' dans le forum MFC
    Réponses: 6
    Dernier message: 29/08/2002, 14h25
  5. Comment faire pour créer un bitmap
    Par GliGli dans le forum C++Builder
    Réponses: 2
    Dernier message: 24/04/2002, 15h41

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