2017-05-12 7 views
0

私は助けてくれるリンクを見つけることができませんでしたので、皆さんにお尋ねします。MySQLの制限はいくらですか?どのくらい保存できますか?

mysqlの制限はありますか?同時にいくつのクエリを実行できますか?

チャットログを他のアカウント履歴とともにデータベースに保存したいので、どのくらいの頻度でクリアする必要がありますか?

+1

FacebookはMySQLを使用しています。 Facebookよりも多くのデータを保存しますか? – Strawberry

+0

あなたのハードウェアとアーキテクチャに依存するので、この質問に対する答えを見つけることはできません。 – JNevill

+0

@Strawberry私はFacebookが彼らのニーズに合わせてSQL構造を書き直してカスタマイズしたので、他の誰もが使用するアウト・ザ・ボックス・コードではありません – Martin

答えて

1

同時にいくつのクエリを実行できますか?

これは、クエリが意味することと、「同時に」という意味に依存します。

私の経験では、単調なクエリの場合、うまくチューニングされた1台のMySQLサーバで1秒あたり10,000クエリを実行できます。

しかし、多くのクエリではわずかな時間がかかりますが、1秒あたりのクエリは「同時に」と同じではありません。 10,000 qpsのスループットを持っていても、わずか数百のクエリの同時並行性がピークになることがあります。

スケーラビリティを向上させるために、ほとんどのサイトでは、1台のサーバーがトラフィックを増やすことなく、複数のMySQLサーバーを使用しています。たとえば、Wikipediaは毎秒25,000件のクエリを実行し、20台以上のサーバーに分散しています。 https://www.mysql.com/why-mysql/case-studies/mysql-cs-wikipedia.html

ハイエンドサーバーのベンチマークでは、1秒あたり100万件を超えるクエリが実行されていることが証明されています。 https://www.flamingspork.com/blog/2014/06/03/1-million-sql-queries-per-second-mysql-5-7-on-power8/

MySQLマニュアルには、テーブルサイズなどのアーキテクチャ上の制限が記載されたhttps://dev.mysql.com/doc/refman/5.7/en/limits.htmlというこのページがあります。

私が管理するシステムでは、最大のテーブルは50億行以上あります。この表の索引付けとパーティション化には注意が必要です。この表の問合せには注意が必要です。

私たちは、それぞれが1億以上の行を持つ他の多くのテーブルを持っています。これらは、管理と問い合わせがずっと簡単です。これらの表にはパーティション化は必要ありません。

サーバーの容量も重要です。より多くのRAM、より多くのCPUコア、高速ディスクは、すべてデータベースサーバーのパフォーマンスにとって重要です。多くのスケーラビリティを得ることができますが、コストがかかります。

最終的に、アプリケーションの作業負荷の下で、あなたが余裕があるサーバーでどれくらいのことができるかを知る必要がありますか?これはスタックオーバーフローの誰かがあなたに答えてくれるものではありません。あなたはそれを自分でテストしなければなりません。

関連する問題