3

我打算尝试开发一个像博客(blogspot)这样的网络应用程序。我会有用户,每个用户都会有一个博客,用户可以在他的博客上发帖,帖子会有标签。其他用户应该能够通过标签或文本进行搜索。博客将具有设置和主题。

使用 mongodb 好还是建议我使用另一个数据库?

4

2 回答 2

5

我个人是出于爱好开发类似的软件,选择了MongoDB作为主数据库,所以就结合这段经历来说说。

决定我使用 MongoDB 的几个原因:

  • 良好的可扩展性
  • 通过 GridFS 有效地将二进制文件保存在数据库中的可能性
  • 通过使用嵌入式文档进行灵活的模式设计(例如,用于对帖子的评论)
  • 在数组中查找对标签类功能有用的值的简单方法
  • 易于操作程序端的 bson 格式

您可能要好好考虑的是架构设计,因为从长远来看,一些错误的选择会影响性能。特别是关于嵌入式文档或参考的使用。
树也可以在某种程度上难以实现,但没有什么很复杂。

一些您可能会发现有价值的资源:

如果你想很好地介绍 MongoDB,我真的推荐阅读 Kyle Banker 的“MongoDB In Action”。

更新:

正如 Akshat Jiwan Sharma 所指出的,Little MongoDB Book是一个非常好的免费资源。

于 2012-12-12T15:36:30.513 回答
1

虽然博客系统对 mongoDb 很有用,但我在评估它的可用性时遇到了一些问题。

1)主机提供商:- MongoDb 只有两个著名的托管服务提供商(mongoLab 和 mongoHq),他们都收取高额费用。对于像 Godady mongoDb 这样的共享托管平台,mongoDb 不起作用。所以你有两个选择

a) 使用两个提供商之一。

b) 使用非常昂贵的 VPS(或像亚马逊这样的云托管系统,第一年免费)。

2)您还需要为您的应用程序找出一个服务器,这将增加托管成本。

所以对于博客应用程序,我不推荐 mongoDb,除非你有钱花在托管上。

作为替代检查 couchDb,它提供了两个主要优点。

1)由鸢尾花沙发免费提供廉价托管。

2)Couch 应用程序,它基本上去掉了中间应用程序层,允许您从数据库本身托管您的应用程序。

您可以使用许多可用的 lucene 和 solr 插件轻松集成沙发数据库的全文搜索。我个人倾向于弹性搜索,因为它看起来很容易实现。

学习沙发数据库并不难,而且构建沙发应用程序非常容易,我认为这些应用程序非常适合写博客。

希望这可以帮助。

于 2012-12-12T15:37:28.940 回答