Est-il recommandé d'utiliser SQL Server comme base de données pour des applications massivement évolutives?


10

Supposons que vous envisagez de créer un site Web de la taille de Facebook (si je vais citer le nom d'un site Web, pourquoi pas Facebook?!). Est-il recommandé d'utiliser SQL Server comme base de données pour de telles applications?

Je pose cette question parce que beaucoup de mes collègues disent que le serveur SQL ne devrait pas être utilisé de telles applications. Ils préfèrent Oracle ou MySQL à la place.


1
Utilisent-ils SQL Server pour des applications?
JeffO

5
Je ne sais pas si SQL Server est la réponse, mais Oracle n'est pas meilleur que SQl Server.
Job

9
Posez-vous d'abord la question - vos données sont-elles relationnelles ??
Henrik

2
Votre budget est-il massivement évolutif?
sasfrog

Réponses:


10

Oui , SQL Server a été conçu pour un usage intensif, y compris le Web. Il a la capacité d'être mis dans de nombreuses configurations différentes telles que des instances de mémoire couplées à des instances de processeur et à un SAN en tant que stockage.

Demandez conseil à votre intégrateur ou évangéliste Microsoft local.

Vous pouvez trouver de nombreuses ressources concernant les capacités de mise à l'échelle de SQL Server sur le Web, et comme entrée voici un joli billet de blog de l'équipe SQL Server sur le sujet: http://blogs.msdn.com/b/sqlcat/archive/ 2008/06/12 / sql-server-scale-out.aspx

Assurez-vous de vérifier comment Azure fournit SQL Server dans le cloud.


SQL Azure n'est pas seulement un 'SQL Server dans le cloud', il y a quelques différences. Mais c'est certainement une option viable pour un site à grande échelle et devrait être examinée.
Bart

Si vous avez de l'argent à y jeter, il évoluera.
David Neale

3

SQL Server est le match pour toute autre base de données pour ce type de travail, mais si vous envisagez de faire quelque chose à ce genre d'échelle, vous pourriez mieux travailler avec un système de stockage de table cloud plutôt qu'une base de données relationnelle conventionnelle en termes d'évolutivité , ou la conception d'un système hétérogène qui utilise le stockage de table pour la gestion des données à plus grande échelle et une base de données pour les endroits où vous avez besoin des fonctionnalités relationnelles ou transactionnelles qu'elles offrent.


Oui, réponse acceptée. A voté. ;)
Henrik

3

Vous ne devriez pas utiliser les moteurs de base de données traditionnels si vous avez besoin de véritables capacités massivement évolutives.

Bases de données SQL traditionnelles font assez bien échelle (vous trouverez de nombreux exemples de grands sites en utilisant MySQL, SQL Server ou Orcale) , mais à un certain point vous sera atteint la limite d'évolutivité. Le moment exact où cela se produira dépendra du niveau de la demande, de la complexité des exigences de votre application, du montant que vous êtes prêt à dépenser sur des serveurs coûteux et de la façon dont vous êtes en mesure d'optimiser l'utilisation de la base de données. De nombreux sites n'atteindront jamais cette limite, mais si vous le faites, c'est assez douloureux et vous serez confronté à un grand défi d'ingénierie pour résoudre le problème.

Au-delà de ce point, vous avez vraiment besoin d'une base de données NoSQL entièrement distribuée - par exemple quelque chose comme Cassandra , qui a en fait été développé chez Facebook pour résoudre certains de leurs défis de Big Data. Les bases de données NoSQL sacrifient explicitement certaines des capacités de base de données SQL traditionnelles (généralement autour des transactions, du verrouillage et de la cohérence éventuelle) afin de permettre une évolutivité horizontale effectivement illimitée.

Dans l'ensemble, mon conseil serait de déterminer si vous avez vraiment besoin d'une évolutivité massive et de choisir votre chemin technologique en conséquence.


2

Oui. Je crois que Microsoft Live.com est construit sur SQL Server.

En tant que fan de Linux / PostgreSQL, permettez-moi de dire que vous pouvez créer Facebook avec n'importe quelle technologie d'aujourd'hui, spécialement SQL Server.

Si vous ne prévoyez pas d'avoir autant d'utilisateurs que Facebook (500M), alors ce site Web (réseau Stack Overflow) est construit sur .Net et SQL Server.


2

En tant qu'outil, vous pourrez peut-être utiliser SQL Server, mais n'oubliez pas que les sites comme Facebook ne sont pas construits uniquement sur le dessus d'une base de données. Ils utilisent diverses technologies pour accomplir la tâche, consultez les vidéos Yahoo pour découvrir comment Facebook gère les journaux seuls et vous vous rendrez compte que la base de données n'est qu'une partie de l'immense architecture évolutive. À environ 10000 lignes de mise à jour par seconde, j'ai vu à la fois SQL Server et Oracle DB être très lent après quelques jours sur une bonne machine de configuration. Mon problème est que je ne pouvais pas utiliser l'informatique distribuée. Il est donc important d'examiner les systèmes de support qu'une base de données ou une architecture évolutive peuvent fournir.


2

Je ne peux pas répondre pour MySQL (!) Mais j'ai di expérience de soutien aux clients que nous choisissons d'utiliser SQLServer ou Oracle. Jusqu'à présent, nous avons constaté qu'il n'y a généralement aucune différence entre eux, mais lorsque les choses arrivent à la limite, Oracle est de loin le meilleur produit. Par exemple, nous supprimons actuellement notre système critique 24h / 24 et 7j / 7 pour purger une charge d'enregistrements car SQLServer a décidé qu'il faudrait plusieurs heures pour effectuer cette tâche lors de l'exécution (dans un environnement en miroir). Nous avons eu des problèmes avec l'envoi de journaux d'un grand ensemble de données sur une liaison WAN qui n'a jamais été complètement résolu. Des choses comme ça nous font toujours plaisir de soutenir les clients qui utilisent Oracle, où nous n'avons jamais de tels problèmes.

Donc, si vous recherchez un système massivement évolutif, c'est à ce moment que vous êtes susceptible de trouver ces problèmes. Oracle est ennuyeux, difficile et ennuyeux, mais cela fonctionne vraiment.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.