对于“在当今的企业级开发和 web 开发中,算法还有用吗?”的问题的看法

在系统负载达到较大规模的情况下,加硬件的办法是在算法优化的基础上才有效的。

 

打个不太恰当的比方,算法就像一个武林高手的内功,硬件是兵器,开发工具则是招式。内功不行,就算会很多招式,拿着倚天剑屠龙刀,可以吓唬吓唬武功一般的人,但是碰到打硬仗就会死得很惨。


再说远一点。现在有很多开发者热衷于最新潮的技术,今天玩玩noSQL,明天搞搞Html 5,但是却从来没有真正做出一个能发挥出这些技术最大优势的产品来,最终也不能理解这些技术的精髓。这就是内功不行而心态又很浮躁。

 

我所在的开发组拿MongoDB做后端数据库的时候, 一开始 就没有真正理解这个技术,只是看中了它可以动态修改数据表单结构,然后开始到处尝试ORM插件和 实现transaction的招数,实际上把noSQL当mySQL用了。在这种设计下,总是有很多问题变得非常复杂,返工了N次最后把相关的数据(实际上是类似XML的树型结构)变成嵌套的JSON存到一条记录中,才发现树型数据结构用noSQL进行持久化是如此简单,性能是如此之好,结构化数据库中需要多次更新到多个表的操作对 MongoDB只需一条语句就可以完成。我们又进一步领悟到MongoDB不提供transaction支持确实有他的道理,因为好的数据结构和算法设计 采用noSQL是不需要transaction的。

猜你喜欢

转载自ned11.iteye.com/blog/1397731
今日推荐