繁体   English   中英

在哪里保存大型博客帖子数据-in文件或数据库?

[英]Where to save large blog posts data -in File or database?

我正在开发一个博客网站,我想知道如何保存大型博客文章数据 - 在XML文件中,作为HTML文件或直接在数据库中。 有什么建议吗?

数据库会好得多 因此,保存XML文件(或任何其他文件),您需要覆盖整个事物。 数据库允许您一次添加/更新记录。

更不用说如果您正在寻找带有特定单词或短语的所有博文,DB更容易搜索...

博客文章不大。 图像可能是。

一些问题:

  • 你用的是什么数据库? 如果你正在使用MySQL(ick),你可能想要使用TEXT(适用于<64K)或MEDIUMTEXT(适用于64K和16M之间)。
  • 你是什​​么意思“XML”? XHTML是XML。 HTML5具有XML序列化。
  • 你的意思是每个帖子一个文件? 我假设你这样做。

您可能会考虑的问题:

你正在考虑的问题是什么?

  • 读取性能:从数据库中获取文件名然后读取文件或从数据库中获取数据是否更快? 如果将所有内容保存在数据库中,则会跳过一些系统调用。 您还可以避免大多数文件系统擅长的“大量小文件”(大约或低于4K)问题。
  • 写性能:编写文件可能比写入数据库更快,因为数据库提供了更多的保证(事务完整性)。 另一方面,您无论如何都必须写入数据库,因此添加更多文件可能意味着更多的搜索。
  • 数据库开销:在数据库中存储更多数据会使VACUUM ANALYZE花费更长时间。
  • 事务:如果DB写入失败,则事务失败。 如果磁盘已满,则正常的文件写入将部分完成。 你的代码是否正确处理了这个问题,还是只是保存帖子的开头?
  • 删除 (与交易相关):您还需要记住删除文件。 如果删除文件失败怎么办? 如果删除行失败怎么办?
  • 迁移:您需要复制数据库。 你想复制很多小文件吗?
  • 易于访问:您想在文本编辑器中修改帖子吗?
  • 孤立/丢失的文件:如果有没有文件的帖子或没有帖子的文件怎么办?

选一个。

我不会建议使用HTML,因为您可能会选择在某些时候以其他方式呈现它,但XML和DB都有它们的上下两侧。 XML文件,假设你的意思是每一个文件后,高度便携,easilly编辑等。DB店更容易搜索和检索, 有点不太可能意外地被删除。

在保存/加载/序列化/反序列化大数据时,XML不是一个好的选择。 我建议使用数据库。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM