设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 开源资讯 查看内容

为什么你不应该使用MongoDB

2013-12-13 13:43| 发布者: joejoe0332| 查看: 9785| 评论: 1|原作者: super0555, yale8848, ley, 黄劼, lwei, Garfielt, SimpleBy, 李孟华|来自: oschina

摘要: 我也有几次做出了错误的选择。这是一个关于其中一次的故事——原本我们为什么选择它,我们是如何发现它不合适,以及我们如何修复的。这一切都发生在一个开放源码的名为Diaspora的项目中。 ...


  一直在学习中


  我从经验学到:MongoDB的理想使用场景是比我们的电视数据更窄。唯一的事情是擅长的是存储任意个JSON数据。“任意”,在此背景下,意味着你不稀罕什么是JSON里面。你甚至不看。没有模式,甚至没有一个隐含的模式,就犹如我们的电视节目数据。每个文件仅仅是一个blob数据,其内部数据是什么完全不在意。


  在RubyConf这个周末,我跑进康拉德欧文,谁提出这个用例。他用MongoDB的存储JSON的任意位的是来自客户通过一个API。这是合理的。这种帽子理论是完全不在意你的数据内容是否有意义。很有趣的是在应用程序中,你的数据很有意义的。


  我已经听到很多人谈论到自己的web应用下探的MongoDB来替代MySQL或PostgreSQL。任何情况下,这都不是一个好主意。架构的灵活性听起来像一个伟大的想法,但只有一次,它是真正有用的是当你的数据的结构没有任何价值。如果你有一个隐含的模式 - 这意味着,如果你期待返回JSON的数据 - 那么MongoDB是错误的选择。我建议采取看看PostgreSQL的hstore(现在比MongoDB的速度快的),并学习如何进行更改架构。他们真的并不难,即使是在大表。


  寻找价值 


  当你选择一个数据存储,应该了解最重要的事情就是你的数据在哪里,你的数据如何连接,你的数据的商业价值所在。如果你还不知道(这是正常的),那么选择不会画你陷入了困境的数据存储。推JSON数据到你的数据库听起来很灵活,但真正的灵活性是很容易添加业务需求de 功能。 


  让有价值的东西做起来更加容易。


酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部