【问题标题】:how text-heavy websites store text internally?文本重的网站如何在内部存储文本?
【发布时间】:2026-01-21 11:20:22
【问题描述】:

我想知道,像 *.com、news.yahoo.com、bbc.co.uk 这样的“文本重”网站如何在内部存储它们的文本?

这些文本是否存储为文本文件?还是存储在数据库中?

他们如何应对不断增加的内容?

【问题讨论】:

    标签: web-applications text


    【解决方案1】:

    这些网站背后总是有某种数据库。

    对于相对较小的数据库(*、bbc 等)来说,一个普通的关系数据库就足够了——比如 MySQL、Postgresql 或 Oracle。

    对于真正的大公司(ebay、amazon、google),他们通常有某种专有的数据库解决方案,因为标准数据库无法处理这种负载。

    【讨论】:

    • 我认为 BBC 不会算作一个小网站。它是 Internet 上最大的内容网站之一。
    • 特别是因为他们提供了整个档案,我认为这些档案是免费/开放的,至少对英国是这样。那是超过 75 年的内容
    【解决方案2】:

    BBC 使用开源内容管理系统 Drupal。我认为大多数论文都使用某种形式的商业 CMS,例如 Vignette。所有这些 CMS 都将文本存储在数据库中,并为客户提供一种添加文本的简单方法。查看 Drupal.org 的示例 - Theonion.com 和其他论文也使用 Drupal。

    【讨论】:

      【解决方案3】:

      他们如何应对不断增加的内容?

      当数据库负载过重时,他们将不得不获得一个单独的数据库服务器,如果这还不够,则需要或多或少复杂的load-balancing 设置;)

      【讨论】:

        【解决方案4】:

        通常在数据库中。在使用 mysql 时,他们通常使用 text、mediumtext 或 longtext。它们与日期、评级和标签等列一起在一个表中。标签可能在另一个表中,但也可以在一个表中用逗号分隔。它可能因站点而异。

        【讨论】:

          【解决方案5】:

          这些网站中的大多数将使用内容管理系统,将文本存储在数据库中。 * 让我们所有人都可以编辑内容,而像 BBC 这样的网站只允许他们的记者在他们的系统上实际添加和编辑内容。

          这些网站中的大多数将使用某种标记语言将样式编码到文本中。您可以在此处了解 * 使用的标记系统:https://*.com/editing-help

          为什么要使用标记语言,而不是仅仅存储 html?标记允许针对不同的输出和设备以不同的方式转换文本。您可以转换为 html 以在网页上显示,但对电子邮件使用不同的转换,而对某些移动设备使用另一种转换。

          在 Google 上搜索 Markdown 和 Textile 以获取示例。您还可以查看*信息。

          【讨论】:

            【解决方案6】:

            使用数据库会是更好的方法:

            • 拥有大量内部存储器,它将保留经常请求的数据。对于文件系统,您将依赖通用的读取缓存机制。
            • 一旦数据库无法再自行处理负载,您可以设置多个影子服务器或其他一些负载平衡方案。比某些文件复制机制更易于维护。

            【讨论】: