0

SQLサーバーを使ってDBのようなTwitterをデザインすることは可能ですか?高スケーラビリティと高速クエリーを保証するDBSQL Server/AzureやグラフDBを使用したモデルのようなもの

私はtwitter(User、Follower、Tweet)のような類似のモデルを必要とする.NETプラットフォームを構築しており、高速クエリとスケーラビリティの面で最適なものを探しています。

リレーショナルDBを使用することは可能でしょうか、グラフのDBははるかに優れていますか?

答えて

3

SQL Serverは、あなたが持っている負荷を確実に処理できます。 SQL Azureは最大150GBのデータベースをサポートしていますAzure SQL Federationを使用すると、世界中の何百ものノード上の複数のデータベースをスケールアウトすることができます。

SQL Serverのようなリレーショナルデータベース、またはAzure Table Storageのような "NoSQL"のバリアントについては、ニーズやデータ構成の仕方によって異なります。おそらくあなたは、ユーザーのフォロワー、誰かが見なければならないつぶやきなどを照会することで、たくさんのジョインを行うでしょう。あなたが最も有利なのは、リレーショナルデータベースを使うことです。 FacebookでもMySQLを使用しているので、リレーショナルデータベースを使用しているのは悪い会社ではありません。

+0

これは間違っています。facebookは、自分自身でcassandraという名前で開発したNoSQLデータベースを使用しています。http://en.wikipedia.org/wiki/Apache_Cassandra彼らはどこかでmysqlを使うかもしれませんが、メインのバックエンドではありません – ntziolis

+0

申し訳ありませんが、それは間違っていて、あなたのリンクは実際にそれをも裏付けています。カサンドラはFacebookで2010年に放棄されました。それらのMySQLの使用法はよく知られており、そのために遭遇したすべての苦労があります。彼らは上流に莫大な金額を寄付し、MySQLの規模をどのように管理しているかについて話しました。開発者のページ[https://developers.facebook.com/opensource/]で見ることができます "MySQLはデータベースインフラストラクチャのバックボーンです。私たちのパッチはLaunchpadで見つけ出し、MySQL @ Facebookのページ。" – mfanto

+0

はすべてを取り戻しますが、MySQLは永続ストレージにのみ使用され、memcacheはMySQLの前で重い読み上げを行い、MemchacheはNoSQLの一種であると主張することができます。) – ntziolis