我正在设计一些自定义博客软件,并且遇到了有关数据库设计的难题。该软件要求有多种内容类型,每种内容类型都需要不同的输入表单和表示模板。
我最初的本能是将这些内容类型创建为对象,然后将它们序列化并将它们作为JSON或YAML存储在数据库中,并将条目表单和模板作为附加到“contentTypes”表的简单字符串。然而,这似乎很麻烦。是否有处理此设计的最佳实践?这是一个我应该考虑对象数据库的用例吗?
如果我应该使用对象数据库,我应该考虑哪个?我目前正在使用Python,并且更喜欢功能强大的Python库,但如果需要可以转移到Java。
答案 0 :(得分:2)
请不要在数据库中存储模板(可能由用户更改)。如果必须处理数据库转储的落纱,那么从暂存环境迁移到生产是没有明智的方法。出于这个原因,我们正在倾销一些软件。
除此之外,我只是将数据库中的源(用户可编辑部分)加上“预编译版本”直接存储在数据库中(以便更快地检索)或存储在某些缓存系统中。
我个人采用集合理论方法。
答案 1 :(得分:0)
我是一个巨大的Oracle助推器,但我认为你应该认真考虑NoSQL。 Cassandra和其他NoSQL数据库已经考虑过你的难题并将其粉碎到地面。 CouchDB是另一个人,我相信他们的示例代码是如何存储博客。