gpt4 book ai didi

博客场的数据库设计建议

转载 作者:搜寻专家 更新时间:2023-10-30 23:19:41 24 4
gpt4 key购买 nike

我正在构建与 Blogfarm 类似的东西,但我遇到了一个小障碍。我使用 Wordpress 多用户数据库作为引用,并注意到为每个正在创建的博客创建了一个唯一的表。

因此,如果农场将拥有,比方说,'x' 百万用户(只是一个奇怪的想法),那么理想情况下,数据库将拥有 'x' 万个表,假设每个博客都有一个用户。

  1. Wordpress MU 使用的是不是一个好的数据库设计?如果是,它对拥有这么多“x”万个表的数据库性能有多大影响?

  2. 由于我刚刚开始编写代码,所以我可以自由选择我喜欢的任何数据库。目前我正在结合使用 PostgreSQL 和 Ruby on Rails。您认为 NoSQL 数据库(如 MongodB)在这种情况下会有用吗?如果不是,为什么/为什么不?我还没有看到任何博客平台在 NoSQL 数据库上运行。

  3. Blogger、Tumblr 或 Squarespace 等大公司是如何做到的?

非常感谢任何帮助,谢谢。

引用资料:

http://www.aeonscope.net/2006/12/29/wordpress-migration/

最佳答案

  1. 这很可能已经足够好了。我的猜测是它主要有缓存问题。如果您在同一台服务器上有数千个博客,并且每个博客被命中的可能性相同,那么缓存将是一场噩梦,并且可能大多数查询都需要命中硬盘(冷缓存命中)。但是,如果大多数查询访问相同的博客,并因此访问相同的表,缓存就足够了。

  2. 我的诚实建议如下。 做最简单的事情,暂时忘掉可扩展性问题。99.999% 的网站没有提供足够的流量来保证任何特定问题,而 0.001% 的网站将拥有实际的资源重写任何代码库以使其可扩展。在这种情况下,请使用以下经验法则:

    • RBDMS 通常足以满足大多数用途。此外,它们非常稳定并且得到了很好的支持。 RBDMS 已经存在了 40 年。 :-)
    • NoSQL 数据库有一些非常具体的用途,它们大放异彩(例如文档存储、十亿行表、巨大的可扩展性限制),但另一方面它们也有陷阱(请参阅 BASE vs ACID),并且它们确实代表了增加的风险,因为它们是较新的、较少被理解的概念。
  3. 我猜他们是通过某种形式的 sharding 来做到这一点的.换句话说,是的,您会有数百万个表分布在数千台服务器上。

这里的要点是,这种架构选择是一种权衡。如果您的网站流量很大,您将需要更多的数据库服务器,这样您就可以 scale horizontally .另一方面,如果您有很多网站但流量很少,则可能不需要扩展那么多。

关于博客场的数据库设计建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8021733/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com