|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Inscription : avril 2010 Messages : 32 ![]() |
Bonjour,
Nous sommes en train de réfléchir pour repenser la mise en place de l'architecture déjà présente de nos bases de données. Actuellement, nous avons 2 serveurs de bases de données SQL Server 2008 qui interagissent parfois entre eux à l'aide de linked server. Après un premier debriefing, nous avons pensé scinder notre architecture en 2 afin de séparer la partie Backoffice et la partie Frontoffice : Le premier serveur pour le BO qui contiendrait toutes les tables et s'occuperait des MAJ/Ajout/Suppression et la partie FO avec vues indexées et procédure stockée. Les 2 serveurs seraient alors liés via LinkedServer. Mais j'ai de sérieux doutes concernant la sécurisation et la rapidité d’exécution des requêtes si nos SGBD communiquent entre elles en permanence... Nous avons aussi penser à une autre solution qui éviterait d'utiliser le LinkedServer : avoir un SGBD source pour le BO qui synchroniserait le SGBD cible utilisé pour le FO, mais cela risque de poser des problèmes de MAJ sur le FO et de charges serveurs je suppose... Bref, j'aimerais avoir vos avis et critiques concernant ces solutions ou d'autres propositions si vous avez de meilleures idées. |
|
|
00
|
|
|
#2 |
|
Membre habitué
![]() Inscription : janvier 2008 Messages : 212 ![]() |
Je n'aime pas cette idée
Quand une requête exécutée sur un serveur A demande des données du serveur B via serveur liés, les données sont temporairement stockée dans tempbd => augmentation du nombre d'IO. J'ai déja eu l'occasion de tuner une procédure stockée faisant appel à des données d'un serveur lié. Et bien, cette requête ramenait tout le contenu de la table du serveur B vers A avant de faire sa clause WHERE ! Selon mon point de vue, le mieu est d'investir dans une bonne architecture disque, serveur et réseau, un solide modèle de données et un cluster pour la haute disponibilité |
|
|
00
|
|
|
#3 |
![]() ![]() ![]() David BARBARINExpert SQL Server Inscription : août 2005 Messages : 3 724 ![]() |
En fait tout dépend comment la requête est écrite.
Avec un nom en quatre parties il y a de grandes chances que le moteur décide de ramener l'ensemble de données du serveur distant pour effectuer les opérations localement. En utilisant OPENQUERY cela permet d'exécuter la partie de la requête concernée sur le serveur distant AVANT de ramener les données sur le serveur local. ++ |
|
00
|
|
|
#4 | ||
![]() ![]() Administrateur de base de données Inscription : août 2007 Messages : 1 159 ![]() |
Citation:
Doit on comprendre transactionnel et reporting ? Citation:
C'est assez courant comme pratique et recommande pour ne pas affecter outre mesure les performances du systeme transactionnel avec de lourdes queries plutot analytiques. Pourriez vous clarifier ? |
||
|
|
00
|
|
|
#5 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : avril 2010 Messages : 32 ![]() |
Citation:
Je ne connais pas trop la notion de transactionnel et reporting par contre, donc je ne sais pas si ca correspond à ca. Citation:
Je pensais plus à de la réplication de données. |
||
|
|
00
|
|
|
#6 | |
![]() ![]() Administrateur de base de données Inscription : août 2007 Messages : 1 159 ![]() |
Quelles sont vos contraintes d'architecture ?
Le BO et le FO doivent-ils absolument être séparés ? Citation:
Ca vous evite d'avoir 2 serveurs. Quel est votre regle en matiere de publication des données BO/FO ? Est ce que c'est de l'instantané ? |
|
|
|
00
|
|
|
#7 |
![]() ![]() ![]() Nicolas SouquetAdministrateur de base de données Inscription : janvier 2005 Messages : 4 669 ![]() |
Bonjour,
Encore une fois, je crois que l'on oublie l'intérêt des schémas et la possibilité d'implication qu'ils peuvent avoir dans la gestion de la sécurité des données ... D'autre part, par l'échange de données à travers le réseau, vous ajoutez du temps d'exécution ... @++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes. Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012 |
|
00
|
|
|
#8 | ||||
|
Candidat au titre de Membre du Club
![]() Inscription : avril 2010 Messages : 32 ![]() |
Citation:
Citation:
Citation:
Citation:
. Une autre solution que je vois serait de laisser l'ensemble des données scinder sur 2 serveurs pour partager la charge et éviter les échanges entre serveurs, et optimiser le tout par des vues et une meilleure gestion de la sécurité (schéma, etc) |
||||
|
|
00
|
|
|
#9 |
![]() ![]() Administrateur de base de données Inscription : août 2007 Messages : 1 159 ![]() |
1 seul de vos serveurs tient il completement la charge du BO et du FO ?
Si c'est le cas, pensez a mettre une solution de HA (cluster/miroir) en place plutot que de partir sur des complications bizarres pour utiliser vos 2 serveurs. L'avantage sera que vous aurez une plus grande availability de votre site ce qui est loin d'etre negligeable d'apres moi ! |
|
|
00
|
|
|
#10 | |
|
Candidat au titre de Membre du Club
![]() Inscription : avril 2010 Messages : 32 ![]() |
Citation:
Cette solution de cluster/miroir me plait, mais la migration des bases ne pourra pas se faire d'un coup, et les applications actuellement en production devront fonctionner pendant la période de transition, donc je ne sais pas si cela sera possible de mettre cette solution en place... |
|
|
|
00
|
|
|
#11 |
![]() ![]() Administrateur de base de données Inscription : août 2007 Messages : 1 159 ![]() |
Je ne connais pas vos contraintes ni vos fenetres de maintenance.
En tout cas ce que vous souhaitez realiser s'apparente a un projet en soi. On peut effectivement vous donner des pistes ici... Par contre si vous souhaitez une analyse plus detaillee avec un plan de migration concret limitant le downtime et une realisation sur place, sans DBA dans votre societe, je vous conseille de faire appel a un consultant externe. |
|
|
00
|
|
|
#12 | |
|
Candidat au titre de Membre du Club
![]() Inscription : avril 2010 Messages : 32 ![]() |
Citation:
Est-il envisageable de mettre en place un cluster pour de nouvelles bases de données et laisser les anciennes bases dans leur coin pour faire une migration au fur et à mesure avec cette solution ? |
|
|
|
00
|
|
|
#13 | |
![]() ![]() Administrateur de base de données Inscription : août 2007 Messages : 1 159 ![]() |
Ca depend de plein de choses.
Avez vous analyse les pre-requis pour la mise en place d'un cluster et pourquoi plutot cette solution que le mirroring ? Comme j'ai vu plusieures fois cite sur ce forum: Citation:
C'est pas un cas genre "Comment reduire la taille de mes logs?" Pour faire un parallele, c'est un peu comme si vous postiez une question regardant votre sante sur un forum medical. Les reponses ne remplaceront pas une consultation chez un medecin/specialiste si votre cas est plus complexe qu'un mal de tete apres une soiree trop arrosee. Si vous ne parvenez pas a degager de l'argent pour un projet, des formations, et/ou une analyse externe, vous pouvez toujours tenter l'auto-medication. Je n'ai pas pour habitude de me lancer dans ce genre de reponse par contre je suis convaincu dans ce cas que c'est vraiment la meilleure chose a faire pour vous. Cordialement. |
|
|
|
00
|
|
|
#14 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : avril 2010 Messages : 32 ![]() |
Citation:
C'est frustrant mais c'est comme ca, il faut croire que les entreprises n'ont toujours pas compris qu'être dba, c'était pas un métier que le premier mec venu sachant faire du sql peut prétendre. Sinon pour le cluster/mirorring je pensais que les 2 pouvaient être mis en place dans la même solution ? (cf http://msdn.microsoft.com/fr-fr/library/ms191309.aspx) |
||
|
|
00
|
|
|
#15 |
![]() ![]() Administrateur de base de données Inscription : août 2007 Messages : 1 159 ![]() |
Effectivement, les 2 technologies peuvent etre combinees ensemble dans la meme solution.
Par contre il faut dans ce cas la compter au moins 4 serveurs. 2 par cluster et un lien (mirroir) entre les 2 clusters. |
|
|
00
|
|
|
#16 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 959 ![]() |
Si vous avez 2 machines distante (lien réseau) alors il est stupide de faire un couplage fort par serveur lié ou trigger par exemple.
Le seul intérêt d'avoir deux machines est que l'une puisse être à l'arrêt sans gêner le service de l'autre. C'est possible dans MS via 2 technologies :
La considération de séparer FO du BO est souvent une considération de volume transactionnel. par exemple à FNAC.COM il y a bien une séparation BO/FO avec réplication vu le nombre de transaction extrêmement élevé du site (l'un des tout premier site marchand). Si ce n'est pas le cas chez vous, en plus d'être stupide techniquement, c'est couteux, car il vous faut payer 2 machines (hardware + licence + admin...) Et si vos deux bases sont pour une même application, et que votre volume transactionnel n'est pas gigantesque, alors c'est du gâchis ! Mettez vos deux bases sur le même serveur. Dans un premier temps, rerouter votre linked serveur pour qu'il pointe sur lui même Dans un second temps, vous éliminerez ces linked serveur au profit de requêtes interbases. Le mieux serait de tout intégrer dans la même base en conservant telle qu'elle l'une des bases et en plaçant l'aure dans un schéma SQL ayant le même nom que l'ancien nom de la base. Pour votre ancien serveur, vous pourrez l’utiliser comme solution de haute dispo, par exemple en mirroring. Dans ce cas, aucune licence (Windows ou SQL Server) n'est à payer ! Mais comme on vous l'a dit, tout cela s'étudie... C'est de l'architecture de données.... A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
|
10
|
|
|
#17 |
|
Candidat au titre de Membre du Club
![]() Inscription : avril 2010 Messages : 32 ![]() |
Ok, merci pour vos réponses, ca m'a bien aidé à y voir plus clair dans tout ce bazar. Je mets en résolu !
Ciao |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com