从代码角度看WordPress数据库的可伸缩性

时间:2012-09-27 作者:John

我在StackExchange上阅读了有关WordPress扩展的多个问题,普遍的观点是,如果您有支持WordPress的基础设施,WordPress确实是高度可扩展的。然而,所有的观点都指向并谈论数据库的扩展。

然而,出于好奇,我必须问WordPress代码的可伸缩性如何?我在代码中找到了许多将用户ID或Post ID转换为整数的地方。现在,PHP将整数范围限制为-2147483648 to 2147483647(有符号)用于32位和9223372036854775807 对于64位。从而限制代码在该范围内工作。因此,如果您碰巧有一个Post ID或用户ID100000000000000 应将其转换为2147483647 在32位系统上。和64位上的类似。有效地限制了系统。

因此,尽管数据库允许扩展,但代码限制了相同的扩展。我可能完全错了我的假设,如果是这样的话,我想接受同样的教育。如果不是这样,我们如何扩展代码?或者WordPress可伸缩性的说法是错误的?此外,代码可能会限制可伸缩性的其他可能性有哪些?

2 个回复
最合适的回答,由SO网友:Adam 整理而成

如果INT 设置为UNSIGNED, 仅允许非负整数,您的值范围为04294967295.

那是。。。

4,294,967,295 (4 billion +).
。。。对于给定的表。只是想把事情放在正确的角度。

只有通过糟糕的管理和不必要的增加,你才会耗尽这个范围,比如说你的posts 以表为例。

也就是说,如果您有一些独特的需求,将整个范围用于表,那么只需创建另一个。WordPress允许这样做。

还可能有多个DBs(http://codex.wordpress.org/HyperDB) 就是一个例子。

如果您正在推动标准表主键的上限,那么您已经在扩展application 超越传统的单表模式来处理如此数量的内容。

注意我怎么说应用程序而不是博客?在这一点上,您的站点可能与普通博客完全不同,而更像是一个应用程序,一个数据管理系统。

SO网友:Alex

尽管无限的可伸缩性很酷,但实际上并没有必要在大多数项目中编写代码。

10000000000000的限制足够高,你可以为地球轨道上1000公里宽的戴森环上的所有居民运行一个WordPress网络,而目前的人口密度仍然是每个人有7个帐户。或者,如果地球上的每个人都使用你的网站,那么每个人大约有15000个帖子。

我相信WordPress core和大多数其他软件在网络方面都会有一些重要的工作,然后才能在多个殖民地世界共享一台服务器。

结束