一個初創(chuàng)公司是否適用NoSQL引發(fā)的探討
這標(biāo)題乍一看讓人有點懵,實際上是兩個相反的問題:
為什么初創(chuàng)公司適合用NoSQL?
為什么初創(chuàng)公司不適合用NoSQL?
寫這篇文章是因為讀到了這篇文章《Why NoSQL is bad for startups》,于是我想起原來讀過的幾篇類似的文章,有正面的如這篇《Why your startup should be using MongoDB》,反面的如這篇《Why startups should not choose NoSQL》等等。
這些文章的作者基本上都是創(chuàng)業(yè)公司的技術(shù)人員,在創(chuàng)業(yè)公司技術(shù)選型中相中了某個NoSQL產(chǎn)品,經(jīng)過一段時間的使用后,要么是用得順風(fēng)順?biāo)?,要么是被NoSQL搞得精疲力竭。于是有了各種大肆吹捧NoSQL的文章,有了各種勸人慎用的文章,有了各種把NoSQL貶得一文不值的文章。
總結(jié)這些文章,大概有這么些觀點:
為什么初創(chuàng)公司不適合用NoSQL?
- NoSQL還不太成熟,一個Bug可能導(dǎo)致重大的損失,在初創(chuàng)公司,更可能是毀滅性的問題。
- NoSQL人才不好找
- NoSQL技術(shù)不成熟,還處于發(fā)展階段,今天用的核心功能可能明天就沒了
- NoSQL的用法太怪異了,和傳統(tǒng)的關(guān)系型數(shù)據(jù)庫設(shè)計思路沖突
- NoSQL周邊工具太少,比如客戶端庫不足,監(jiān)控運維工具需要自己寫
為什么初創(chuàng)公司適合用NoSQL?
- NoSQL很酷
- NoSQL擴展性好,可以輕松伴隨一個新公司的快速業(yè)務(wù)增長
- 很多NoSQL是schema free的,可以應(yīng)對初創(chuàng)公司的頻繁變化
- NoSQL提供了一些傳統(tǒng)數(shù)據(jù)庫沒有的功能,比如Redis靈活的數(shù)據(jù)結(jié)構(gòu)
- NoSQL便宜,絕大多數(shù)NoSQL都是開源免費的,你不需要花錢購買
其實上面說的都沒錯,主要在于個人的選擇,如果你在沒有充分了解一個NoSQL產(chǎn)品的情況下就使用它,出現(xiàn)各種不可預(yù)知的問題是正常的。所以我們一直提倡不要為了用而用,為了設(shè)計而設(shè)計,為了架構(gòu)而架構(gòu),最適合你的才是***的,你最了解的才是最適合的。如果你真的覺得某個東西很酷,你雙手發(fā)癢頭腦發(fā)熱想用一用,那請你先去了解它吧。(對于NoSQL,你可以在NoSQLFan上找找學(xué)習(xí)資料)
***援引一條百姓網(wǎng)CEO王建碩的微博:
“對同一個東西,有人說,太重了,有人說,太輕了。他們其實不是在描述這件東西的重量,而是在描述他們自己的力氣。同樣道理,我們不必過于在意微博上對自己觀點的評論。大家看似贊揚或者批評別人,其實僅僅是在描述他們自己。”
【編輯推薦】
- NoSQL數(shù)據(jù)庫對比:MongoDB vs.Cassandra
- CouchDB和SQLite聯(lián)合推出NoSQL查詢語言
- Java開源NoSQL數(shù)據(jù)庫大全
- SQL到NOSQL的思維轉(zhuǎn)變