奕名小惊随笔之一 —— 我眼中的Mongo

这第一篇小文章是在新加坡陪娃玩在Jumbo Sea food看着小鬼吃芒果布丁时敲下的第一段文字。当然此芒果非彼Mongo!

先简单来个自我介绍,本人貌似读书读的还不错,运气稍欠一点,交大计算机系差1名没有直研,一怒之下放弃考研,踏入外企18年。貌似也算尽力了IT最风光的那几年,只是有时真心觉得自己投错了行,如果再给我一次机会 ,一定会毫不犹豫投身于金融行业… …

扯远了,还是回归现实聊聊对于MongoDB的感受吧;

第一篇小文章不想谈“干货”,虽然我是个做技术的,但是不喜欢以技术为标榜来证明自己有多牛。技术再牛,没有合理的定位,没有有效的商业模式,不能产生真正的业务价值,那就只能成为浮云。最近微信上最近经常看到C轮、D轮的纷纷落马,不能说这些创业背后的技术不牛,更多的是其有技术而无持续有效的商业运作模式。

MongoDB“牛”吗?

显然论交易型处理它难以比肩传统关系型数据库,谈缓存处理未必完胜Redis,看大并发写目测难以媲美Cassendra … …
但是,我却说MongoDB“牛”!
且不论上述几点在最新版本中是否依然如此(在MongoDB多引擎下有太多变数),MongoDB背后代表了一种“化繁为简”的业务驱动开发模式,让开发能够更加易于快速适应业务变化,让思考模式在多次迭代中进化,就这一点,即可在众多业务场景中立于不败之地。从商业模式的角度来看,现代企业的应用随着业务模式变更必须快速调整,这本身就是一个多次快速迭代的过程,与MongoDB设计思想是不谋而合的。所以业务驱动,迭代设计思路才是MongoDB精华之一。

记得初来MongoDB,来到一家互联网公司做个介绍,一位英国留学归来的小伙子貌似对于MongoDB颇有微词,指着我大声质问:“我不觉得MongoDB有怎么好,你能告诉我有哪个应用只能用MongoDB吗?”坦率的说,除了mainframe之外,我自认没有开放平台上没有哪个应用只能用哪个数据库,只有根据业务的需求来定夺更合适的架构。不得不承认,在某些架构“不会发生变化”,结构简单的场景中,MongoDB未必是最佳的选择。但是大千世界中更多的是一个“变”字,所以想来这也就是为何MongoDB这么一个后来者会如此火爆的占据db engine排名第四的重要原因。事实上即使是开发者也需要把眼光放的远些,多多换位思考,不一味拘泥以某一技术,这样才能站得更高,看的更远。毕竟在国内开发很难像国外一样,有了3个小孙子白了头发还能一个萝卜一个坑继续搞自己的代码的 … …

当然,MongoDB第二个精华显然是路人皆知的架构 —— 复制集+分片,很多早年初用MongoDB的忠实粉丝就是冲着这点而去。只是技术的差距不同于设计思路的差距,是很容易被模仿并改进的,所以在我理解中从大的框架角度来看可谓优势仍在,但后来者甚多。

如果说前两点从架构设计的角度来说都已经安身立命了,那么第三点精华可谓前途无限,那就是MongoDB的插拔式引擎,在我的眼里,这是MongoDB的大蓝图之一,也是能够真正贯彻执行第一点精华的重要手段。随便搜了一下,想来在mongoing里面也有不少文章谈到这部分内容,今天我就打住了,再写下去辣椒蟹要被娃吃完了啊!

上大菜!!!
Delicious Food

随笔链接:
奕名小惊随笔之一 —— 我眼中的Mongo
奕名小惊随笔之二 —— 谈谈给Mongo买保险
奕名小惊随笔之三 —— 走近 “View” Mongo (MongoDB 3.4新特性之一)
奕名小惊随笔之四 —— 互联互通 2.0(MongoDB 3.4新特性之二)