我打算尝试开发一个像博客(blogspot)这样的网络应用程序。我会有用户,每个用户都会有一个博客,用户可以在他的博客上发帖,帖子会有标签。其他用户应该能够通过标签或文本进行搜索。博客将具有设置和主题。
使用 mongodb 好还是建议我使用另一个数据库?
我个人是出于爱好开发类似的软件,选择了MongoDB作为主数据库,所以就结合这段经历来说说。
决定我使用 MongoDB 的几个原因:
您可能要好好考虑的是架构设计,因为从长远来看,一些错误的选择会影响性能。特别是关于嵌入式文档或参考的使用。
树也可以在某种程度上难以实现,但没有什么很复杂。
一些您可能会发现有价值的资源:
如果你想很好地介绍 MongoDB,我真的推荐阅读 Kyle Banker 的“MongoDB In Action”。
更新:
正如 Akshat Jiwan Sharma 所指出的,Little MongoDB Book是一个非常好的免费资源。
虽然博客系统对 mongoDb 很有用,但我在评估它的可用性时遇到了一些问题。
1)主机提供商:- MongoDb 只有两个著名的托管服务提供商(mongoLab 和 mongoHq),他们都收取高额费用。对于像 Godady mongoDb 这样的共享托管平台,mongoDb 不起作用。所以你有两个选择
a) 使用两个提供商之一。
b) 使用非常昂贵的 VPS(或像亚马逊这样的云托管系统,第一年免费)。
2)您还需要为您的应用程序找出一个服务器,这将增加托管成本。
所以对于博客应用程序,我不推荐 mongoDb,除非你有钱花在托管上。
作为替代检查 couchDb,它提供了两个主要优点。
1)由鸢尾花沙发免费提供廉价托管。
2)Couch 应用程序,它基本上去掉了中间应用程序层,允许您从数据库本身托管您的应用程序。
您可以使用许多可用的 lucene 和 solr 插件轻松集成沙发数据库的全文搜索。我个人倾向于弹性搜索,因为它看起来很容易实现。
学习沙发数据库并不难,而且构建沙发应用程序非常容易,我认为这些应用程序非常适合写博客。
希望这可以帮助。