【发布时间】:2017-11-03 07:03:03
【问题描述】:
我一直在做一个项目,用户可以创建简单的模板并开发他的网站页面。他可以保存它们并在完成后将其放到互联网上。现在我的问题
- 当用户在他的模板上工作时,他可以保存他完成的工作副本并稍后再回来(类似于起草电子邮件)。
- 这个用户保存的工作通过解析模板页面当前保存在xml文件中。
- 我正在考虑一个替代方案,将整个页面本身存储在一个文档数据库中,针对一个唯一的用户 ID,这样就不需要进行任何解析并减少负载和时间。
现在我的问题
- 我认为使用 文档数据库 或 nosql 代替 xml 是否可行?
- 如果是,哪一个会更灵活工作和易于维护?
- 我使用php和mysql进行其他操作,所以我需要doc DB来存储用户创建的模板的html。
【问题讨论】:
-
有什么理由不使用现有的 CMS 吗?
-
最终目标是设计一个系统,用户可以创建一个完整的网站,类似于WIX,想法正在建设中,但目前的场景是我描述的。一个CMS会更多我猜是前端然后存储模板。如果你说像 Wordpress 这样的东西,那么它目前还没有达到那个水平,但不能说未来。 ;) :P
-
是的,众多 NoSQL 数据库中的一种可以很好地为您工作。此外,除非您有特定原因需要传统数据库,否则我会将整个内容保存在该数据库中。我曾经在 CMS 上工作,但从未完成。基本上,我有结构化的文档(可以填写各种字段,标题、描述、正文 HTML 等)。然后为了显示这些文档,这一切都是用 PHP 完成的。 PHP 会查询 Mongo,渲染文档,然后你就完成了。
-
@Brad 我需要稍微澄清一下如何保存 html 文档。我的意思是整个 html 页面本身,或者我们需要进行一些解析以从中获取标签。当前我们遵循的方法是保存在 xml bcoz 它允许创建自定义标签。所以我们解析文档获取标签并将其保存为 xml 文档。**请将其添加为答案,以便我可以接受并关闭线程** .谢谢
-
您的问题并不能真正让您深入了解:是的,您可以以任何数据库格式存储此内容。鉴于提供的详细信息,SQL 或 NoSQL 无关紧要,因为听起来您只是在保存大量 HTML 模板。如果您想在字段级别构建内容以进行更灵活的查询,则文档数据库可能更适合。在 SQL 中,您可以使用
TEXT字段来存储大块 HTML(例如,MySQL 的MEDIUMTEXT最大为 16Mb,与 MongoDB 中当前的最大文档大小相同)。
标签: php mongodb hbase document-database nosql