導(dǎo)讀:近日LinkedIn分布式數(shù)據(jù)系統(tǒng)團(tuán)隊(duì)成員Siddharth Anand在其博客上撰寫題為“The State of NoSQL in 2012”文章。主要闡述了自身的NoSQL應(yīng)用經(jīng)歷,同時(shí)表達(dá)了自己對現(xiàn)今企業(yè)NoSQL應(yīng)用的看法,他認(rèn)為代碼的清晰度以及質(zhì)量是至關(guān)重要的,同時(shí)必須堅(jiān)持自身的設(shè)計(jì)原則。
如果你已經(jīng)在互聯(lián)網(wǎng)公司工作過3年以上的時(shí)間,你將不會對云計(jì)算和NoSQL的概念感到陌生。在2007年,Amazon公布了其Dynamo(Dynamo是亞馬遜的key-value模式的存儲平臺,具備高可用性、高擴(kuò)展性和高性能)的詳細(xì)資料。并詳細(xì)介紹了Dynamo是如何利用技術(shù)集合解決容錯(cuò)等問題,并提供一個(gè)靈活的線上購物方案。在過去幾年,AWS的工程師一直在默默無聞的完善運(yùn)行在自身公共云之上的Dynamo。
Siddharth Anand的NoSQL歷程
2008年12月,當(dāng)我還在Netflix軟件基礎(chǔ)設(shè)施團(tuán)隊(duì)工作時(shí),我們得知了CAP原理(Consistency、Availability和Partition Tolerance,CAP原則要求在分布式系統(tǒng)只能選擇一致性、可用性和分區(qū)容忍性其中的兩項(xiàng))。因?yàn)镃AP原理我們放棄數(shù)據(jù)中心并租用云計(jì)算服務(wù)。
在2008年到2010年期間,我們的工作集中在Netflix推出的視頻流業(yè)務(wù),而CAP原理中的可用性和分區(qū)容忍性以及高可用性系統(tǒng)是我們的工作重點(diǎn)。
在2010年我?guī)椭鶱etflix完成了兩次遷移,其一是將Netflix的數(shù)據(jù)中心遷移到了Amazon AWS之中,其二是將Oracle數(shù)據(jù)庫遷移至SimpleDB。而到了2011年又從SimpleDB遷移到Cassandra,利用Cassandra提供的路由配置,集群可以被部署在多個(gè)大洲。
來到2012年,我已經(jīng)度過了我在LinkedIn的第一個(gè)月。經(jīng)過這一個(gè)月時(shí)間的熟悉,我知道LinkedIn在內(nèi)部建立了多種NoSQL系統(tǒng)。包括Voldemort(另一套基于Dynamo的系統(tǒng))、Krati(單擊數(shù)據(jù)存儲)、Espresso(正在積極開發(fā)的數(shù)據(jù)庫系統(tǒng))等。LinkedIn現(xiàn)在正面臨著類似3年前Netflix的挑戰(zhàn)。