数据库与dokuwiki平面文件存储区别

官方原文详解:数据库与平面文件存储

在这里我们可以把dokuwiki当做一个平面文件存储的数据库

让我们消除一个假设,即数据库管理系统(DBMS)是Wiki信息的理想存储库。这并不是说DBMS是错误的选择,而是说它不是唯一的选择,并且以DokuWiki的方式使用文件系统绝不是Wiki的错误选择。

在继续阅读之前,请记住Wiki数据的特征:

  • 经常阅读,很少更新
  • 混合和非结构化文本内容

文件系统是用于存储数据的极其高效的地方。这就是DBMS可能放置其数据的地方。为了进行简单的检索,文件系统应该击败DBMS。构造良好的DBMS应用程序很可能会将其常见查询的结果缓存在文件系统中,以便更快地进行检索!

此外,所有现代文件系统都将经常访问的文件缓存在内存中。读取此数据甚至不会再击中磁盘。

DokuWiki的大部分工作都是简单的检索-可能需要进行一些处理才能获取文件并显示其内容。这非常适合文件系统。数据库在处理高度结构化的数据以及经常更新其中的一小部分数据时表现出色。Wiki不是那样的。

搜索Wiki或更合适的方法是,为Wiki编制索引以启用快速搜索是DBMS技术可以帮助Wiki的领域。DokuWiki通过创建Wiki中三个或更多字母的每个“单词”的列表来实现自己的索引编制。部分搜索比使用数据库进行搜索要慢,并且更难以处理“高级搜索”,但是对于全字搜索而言,这是一个可行的解决方案(即与其他活动相比,结果在合理的时间内显示出来) Wiki)。对于公共Wiki,可以说Google提供了比任何内部搜索都更好的索引服务。

DBMS可以更轻松地突破单个服务器的阈值。简单地说,DBMS放在一个盒子上,Web服务器/应用程序组件放在另一个盒子上。通过使用NFS挂载,允许多个本地远程(即LAN连接)服务器访问Wiki数据目录树,DokuWiki可以完成类似的工作。

对于必须将数据驻留在多台服务器上的超大型安装,应用程序可以将它们移交给合适的DBMS,而不是解决复制/同步问题。

文件系统存储还有其他优点。由于只需要在服务器上运行一项服务(Web服务器),而不是两项(DBMS + Webserver),因此安装Wiki更容易,服务器要求更低,容错能力更高。

备份和还原数据或将Wiki移至其他服务器仅是复制文件的问题。在文件系统中提供Wiki数据后,还可以更轻松地使用其他工具或脚本读取或操纵它。

发表评论

电子邮件地址不会被公开。 必填项已用*标注