mongoDB适合像blogger这样的博客平台吗?

时间:2012-12-12 14:59:36

标签: php mongodb laravel

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

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

2 个答案:

答案 0 :(得分:5)

我个人开发类似的软件作为业余爱好并选择MongoDB作为主要数据库,所以我将根据这一经验进行讨论。

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

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

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

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

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

更新

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

答案 1 :(得分:1)

虽然博客系统很适合mongoDb,但在评估其可用性时我遇到了一些问题。

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

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

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

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

因此,对于博客应用程序,我不建议使用mongoDb,除非你有钱花在托管上。

作为另一种选择,请查看couchDb,它提供了两个主要优势。

1)由虹膜沙发免费廉价托管。

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

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

学习沙发数据库并不难,在我看来很容易构建非常适合写博客的沙发应用程序。

希望这有帮助。