为什么初创公司适合/不适合用NoSQL?

这标题乍一看让人有点懵,实际上是两个相反的问题:

  • 为什么初创公司适合用NoSQL?
  • 为什么初创公司不适合用NoSQL?

写这篇文章是因为读到了这篇文章《Why NoSQL is bad for startups》,于是我想起原来读过的几篇类似的文章,有正面的如这篇《Why your startup should be using MongoDB》,反面的如这篇《Why startups should not choose NoSQL》等等。

这些文章的作者基本上都是创业公司的技术人员,在创业公司技术选型中相中了某个NoSQL产品,经过一段时间的使用后,要么是用得顺风顺水,要么是被NoSQL搞得精疲力竭。于是有了各种大肆吹捧NoSQL的文章,有了各种劝人慎用的文章,有了各种把NoSQL贬得一文不值的文章。

总结这些文章,大概有这么些观点:

为什么初创公司不适合用NoSQL?

  • 1.NoSQL还不太成熟,一个Bug可能导致重大的损失,在初创公司,更可能是毁灭性的问题。
  • 2.NoSQL人才不好找
  • 3.NoSQL技术不成熟,还处于发展阶段,今天用的核心功能可能明天就没了
  • 4.NoSQL的用法太怪异了,和传统的关系型数据库设计思路冲突
  • 5.NoSQL周边工具太少,比如客户端库不足,监控运维工具需要自己写

为什么初创公司适合用NoSQL?

  • 1.NoSQL很酷
  • 2.NoSQL扩展性好,可以轻松伴随一个新公司的快速业务增长
  • 3.很多NoSQL是schema free的,可以应对初创公司的频繁变化
  • 4.NoSQL提供了一些传统数据库没有的功能,比如Redis灵活的数据结构
  • 5.NoSQL便宜,绝大多数NoSQL都是开源免费的,你不需要花钱购买

其实上面说的都没错,主要在于个人的选择,如果你在没有充分了解一个NoSQL产品的情况下就使用它,出现各种不可预知的问题是正常的。所以我们一直提倡不要为了用而用,为了设计而设计,为了架构而架构,最适合你的才是最好的,你最了解的才是最适合的。如果你真的觉得某个东西很酷,你双手发痒头脑发热想用一用,那请你先去了解它吧。(对于NoSQL,你可以在NoSQLFan上找找学习资料)

最后援引一条百姓网CEO王建硕的微博:

对同一个东西,有人说,太重了,有人说,太轻了。他们其实不是在描述这件东西的重量,而是在描述他们自己的力气。同样道理,我们不必过于在意微博上对自己观点的评论。大家看似赞扬或者批评别人,其实仅仅是在描述他们自己。

anyShare分享此文章的同学,将有机会送我iphone5!
          

无觅相关文章插件,快速提升流量

  1. 其实说NoSQL便宜也不是绝对的,还是要看这个初创公司怎么使用数据库和数据增长速度,虽然很多NoSQL数据库本身是免费的,但是他们对资源需求的增长也可能产生不小的支出。