文本密集的网站如何在内部存储文本?

时间:2009-07-26 12:16:45

标签: web-applications text

我想知道,像stackoverflow.com,news.yahoo.com,bbc.co.uk这些“文字繁重”的网站如何在内部存储他们的文字?

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

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

6 个答案:

答案 0 :(得分:2)

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

对于相对较小的(stackoverflow,bbc等),普通的关系数据库应该足够了 - 比如MySQL,Postgresql或Oracle。

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

答案 1 :(得分:2)

  

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

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

答案 2 :(得分:2)

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

答案 3 :(得分:1)

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

答案 4 :(得分:1)

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

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

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

在Google中搜索Markdown和Textile。您还可以查看维基百科的信息。

答案 5 :(得分:1)

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

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