非常にスケーラブルなアプリケーションのデータベースとしてSQL Serverを使用することをお勧めしますか?


10

Facebookの規模のWebサイトを作成することを計画しているとしましょう(もし私がWebサイトの名前を引用するなら、なぜFacebookではないのでしょうか!)。このようなアプリケーションのデータベースとしてSQL Serverを使用することをお勧めしますか?

私がこの質問をしているのは、私の多くの同僚が、SQLサーバーではそのようなアプリケーションを使用するべきではないと言っているからです。代わりにOracleまたはMySQLを好みます。


1
アプリケーションにSQL Serverを使用していますか?
JeffO、2011年

5
SQLサーバーが答えかどうかはわかりませんが、OracleはSQlサーバーに勝るものはありません。
ジョブ

9
最初にあなた自身に質問してください - あなたのデータはリレーショナルですか?
Henrik

2
予算は大幅に拡張可能ですか?
sasfrog 2012

回答:


10

はい。SQLServerは、Webを含む大量の使用向けに設計されています。これは、CPUインスタンスと結合されたメモリインスタンスやストレージとしてのSANなど、さまざまな構成に組み込むことができます。

最寄りのマイクロソフトインテグレーターまたはエバンジェリストに助言を求めてください。

Web上のSQL Serverのスケーリング機能に関する多くのリソースを見つけることができます。まず、SQL Serverチームからの件に関するすばらしいブログ投稿があります。http//blogs.msdn.com/b/sqlcat/archive/ 2008/06/12 / sql-server-scale-out.aspx

AzureがクラウドでSQL Serverを提供する方法を必ず確認してください。


SQL Azureは単なる「クラウド内のSQL Server」ではなく、いくつかの違いがあります。しかし、それは確かに大規模なサイトにとって実行可能なオプションであり、検討する必要があります。
Bart

あなたがそれに投げるお金があるなら、それはスケーリングします。
David Neale

3

SQL Serverは、この種の作業には他のどのデータベースにも匹敵しますが、そのような規模で何かを行うことを考えている場合は、スケーラビリティの点で、従来のリレーショナルデータベースよりもクラウドテーブルストレージシステムを使用するほうがよいでしょう。または、大規模なデータ管理用のテーブルストレージと、それらが提供するリレーショナルまたはトランザクション機能が必要な場所のデータベースを使用する異種システムの設計。


はい、回答を受け入れました。投票した。;)
Henrik

3

本物の大規模に拡張可能な機能が必要な場合は、従来のデータベースエンジンを使用しないでください。

従来のSQLデータベースは規模がかなりよく(あなたは、MySQL、SQL ServerまたはOrcaleを使用して、大きなサイトの例をたくさん見つけることができます)が、ある時点で、あなたがやるだろうスケーラビリティの制限をヒット。これが発生する正確なタイミングは、需要のレベル、アプリケーション要件の複雑さ、高価なサーバーにどれだけ費やすことができるか、データベースの使用を最適化できるかどうかによって異なります。多くのサイトがこの制限に達することは決してありませんが、これを行うと、それはかなり苦痛であり、問​​題を修正するためのエンジニアリング上の大きな課題に直面することになります。

この点を超えると、完全に分散されたNoSQLデータベース(たとえば、実際にはFacebookでビッグデータの課題のいくつかを解決するために開発されたCassandraなど)が必要になります。NoSQLデータベースは、効果的な無制限の水平方向のスケーラビリティを可能にするために、従来のSQLデータベース機能の一部(通常はトランザクション、ロック、および結果整合性)を明示的に犠牲にしています。

全体的に、私のアドバイスは、大規模なスケーラビリティが本当に必要かどうかを判断し、それに応じてテクノロジパスを選択することです。


2

はい。Microsoft Live.comはSQL Serverの上に構築されていると思います。

Linux / PostgreSQLのファンであることから、今日のテクノロジー、特にSQL Serverを使用してFacebookを作成できると言います。

Facebook(500M)ほど多くのユーザーを計画していない場合、このほとんどのWebサイト(Stack Overflowネットワーク)は.NetおよびSQL Serverの上に構築されます。


2

ツールとしてSQL Serverを使用できる場合がありますが、Facebookのようなサイトはデータベースだけの上に構築されていないことに注意してください。彼らはさまざまなテクノロジーを使用してタスクを実行し、Yahooのビデオをチェックしてfacebookが単独でログを管理する方法を見つけます。DBは巨大なスケーラブルなアーキテクチャの一部にすぎないことに気付くでしょう。1秒あたり約10000行の更新で、SQL ServerとOracle DBの両方が、適切な構成マシンで数日後に非常に遅くなるのを目にしました。私の問題は、分散コンピューティングを使用できないことです。したがって、DBまたはスケーラブルなアーキテクチャが提供できるサポートシステムを確認することが重要です。


2

MySQLには答えられません(!)が、SQLServerとOracleのどちらを使用するかを選択した顧客をサポートした経験があります。これまでのところ、一般にそれらの間に違いはないことがわかりましたが、物事が最先端に行くとき、Oracleははるかに優れた製品です。たとえば、SQLServerが(ミラーリング環境で)実行中にこのタスクを実行するには何時間もかかると判断したため、現在、24時間年中無休のミッションクリティカルシステムを停止してレコードのロードをパージしています。WANリンクを介した大規模なデータセットのログ配布に関する問題がありましたが、完全には解決されませんでした。このようなことは、私たちがそのような問題を抱えたことのないOracleを実行している顧客をサポートすることを常に嬉しくさせます。

したがって、非常にスケーラブルなシステムを探している場合は、これらの問題が見つかる可能性が高くなります。オラクルは鈍く、難しく、煩わしいですが、実際に機能します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.