web-dev-qa-db-ja.com

コードの観点から見たWordPressデータベースのスケーラビリティ

私はWordPressのスケーリングに関連するStackExchangeの複数の質問をここで読みましたが、WordPressはそれをサポートするインフラストラクチャがあれば非常にスケーラブルであるという一般的な意見です。しかし、すべての意見がデータベースの拡張について指摘しています。

しかし、私はWordPressのコードがどれだけスケーラブルであるかについての好奇心から質問しなければなりませんか?コード内に、ユーザーIDまたは投稿IDが整数としてキャストされる場所が多数あります。現在、PHPでは、整数の範囲に制限があり、32ビットの場合は-2147483648 to 2147483647(符号付き)、64ビットの場合は9223372036854775807になります。したがって、その範囲内で機能するようにコードを制限します。あなたが100000000000000のPost IDやUser IDを持っているのであれば、32ビットシステムでは2147483647に変換されるでしょう。そして64ビットで同様に。システムを効果的に制限します。

そのため、データベースではスケーリングが可能ですが、コードでは同じ制限があります。私は私の仮定に全く間違っているかもしれません、もしそうなら私は同じで教育を受けたいです。それ以外の場合は、コードをどのようにスケーリングしますか?それとも、WordPressのスケーラビリティに関する主張は誤っていますか?また、コードによってスケーラビリティが制限される可能性がある他の可能性は何ですか?

6
John

INTUNSIGNEDに設定されており、負でない整数のみが許可されている場合、値の範囲は0から4294967295までです。

それは….

4,294,967,295 (4 billion +).

...与えられたテーブルに対して物事を視野に入れるためだけに。

例としてあなたのpostsテーブルについて言うと、あなたは不十分な管理と不必要な増加を通してのみあなたはその範囲を使い果たします。

それはあなたがテーブルのためにその範囲全体を使用するいくつかのユニークな要件があるならそれから単に別のものを作成すると言いました。 WordPressはそれを可能にします。

1つの例として、複数のDB( http://codex.wordpress.org/HyperDB )がある可能性もあります。

標準テーブルの主キーの上限を押しているのであれば、アプリケーションを従来の単一テーブル以外に拡張することになります。このような量のコンテンツを処理するためのスキーマ。

私はブログではなくアプリケーションを言った方法に注意してください?現時点では、あなたのサイトは一般的なブログのようには何も似ていない可能性が高く、代わりにはるかにアプリケーション、データ管理システムです。

7
userabuser

無限のスケーラビリティと同じくらいクールなのですが、ほとんどのプロジェクトにコーディングすることは本当に必要ではありません。

100000000000000というその限界はあなたがまだ7つのアカウントを持つために現在の人口密度で地球の軌道で幅1000キロですべての住民のディスソンリングのために単一のWordPressネットワークを実行できるほど十分に高いです。あるいは、地球上の誰もがあなたのサイトを利用した場合、一人あたり約15000投稿になります。

私は、WordPressコアと他のほとんどのソフトウェアがネットワーキング面でいくつかの大きな仕事をすることになると思います。

6
Alex