開(kāi)發(fā)工程師注意!2014年值得關(guān)注的9項(xiàng)技術(shù)

2014年02月12日 10:08 來(lái)源:互聯(lián)網(wǎng) 作者:秩名 我要評(píng)論(0)

  Andrew C. Oliver 是一位專業(yè)的軟件咨詢師。他從 8 歲起開(kāi)始編程,從 Basic 與 dBase III+ 開(kāi)始。他最為人所熟知的就是創(chuàng)建了 POI 項(xiàng)目,該項(xiàng)目現(xiàn)在托管在 Apache 上。在 Red Hat 收購(gòu) JBoss 之前,他還是 JBoss 的早期開(kāi)發(fā)者之一。Andrew 是 Open Source Initiative 的前董事會(huì)成員以及現(xiàn)在的顧問(wèn)。除此之外,Andrew 還是 Open Software Integrators 的董事長(zhǎng)與創(chuàng)建者,這是一家專業(yè)的服務(wù)機(jī)構(gòu),分布在達(dá)拉謨、北卡羅來(lái)納州以及芝加哥。近日,Andrew 撰寫(xiě)了一篇文章,談到了 2014 年值得關(guān)注的 9 項(xiàng)技術(shù)。

  2014 年充滿了各種預(yù)測(cè),我們無(wú)法控制世界未來(lái)的樣子,不過(guò)我們可以成為自身命運(yùn)的主人。下面就是 2014 年值得關(guān)注的 9 項(xiàng)技術(shù),與你一同分享。

  1. 文檔數(shù)據(jù)庫(kù)

  很多 IT 系統(tǒng)基本上都包含了將數(shù)據(jù)結(jié)構(gòu)寫(xiě)到結(jié)構(gòu)化存儲(chǔ)這一部分,同時(shí)又要求高并發(fā)的性能。文檔數(shù)據(jù)庫(kù)出現(xiàn)已經(jīng)有很多年了,其中就有 Lotus Domino 的 Notes Storage Facility,不過(guò) NoSQL 與大數(shù)據(jù)革命又燃起了新的領(lǐng)域,其中 MongoDB 與 Couchbase 就是其中的佼佼者。

  2. 鍵值存儲(chǔ)

  有時(shí),你有一張很大的表,可以放到內(nèi)存中。如果是網(wǎng)格,那么你就可以將內(nèi)存中的表分發(fā)到多個(gè)結(jié)點(diǎn)上以加快寫(xiě)的速度。如果是個(gè)讀多寫(xiě)少的小表,那么你可以將其復(fù)制到所有結(jié)點(diǎn)上,這樣讀就是個(gè)內(nèi)存中的事情了。無(wú)論采用哪種方式,鍵值存儲(chǔ)都值得你好好學(xué)習(xí)一下。幾乎所有的鍵值存儲(chǔ)都可以創(chuàng)建自定義的緩存負(fù)載器或是緩存存儲(chǔ),從而實(shí)現(xiàn)對(duì) RDBMS 或是其他數(shù)據(jù)源的讀與寫(xiě)。很多鍵值存儲(chǔ)采用了“稍后寫(xiě)”或是隊(duì)列寫(xiě)來(lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的寫(xiě)操作。這個(gè)領(lǐng)域的典型代表是 Couchbase、Memcached、Infinispan 與 GemFire。

  3. 圖數(shù)據(jù)庫(kù)

  從推薦引擎到社交網(wǎng)絡(luò)和地理分析,再到生物分析,圖數(shù)據(jù)庫(kù)都帶來(lái)了極大的便利性。對(duì)于傳統(tǒng)的 RDBMS 來(lái)說(shuō),朋友的朋友這種查詢是非常低效的,即便利用最新的特性也沒(méi)有太大的起色,這是因?yàn)槠浣Y(jié)構(gòu)就不對(duì)。雖然圖數(shù)據(jù)庫(kù)已經(jīng)出現(xiàn)了很多年,不過(guò)只是最近的數(shù)據(jù)爆發(fā)以及個(gè)性推薦等領(lǐng)域才使其變得更加流行。這個(gè)領(lǐng)域的典型代表是 Neo4j 與 Apache Giraph。

  4. Google Drive/Apps

  Google Apps 是個(gè)辦公效率套件。我無(wú)法想象再回到原來(lái)的通過(guò)郵件發(fā)送附件的那種方式。最近,我們通過(guò)基于 JS 的宏實(shí)現(xiàn)了越來(lái)越好的自動(dòng)化。所有的一切都存儲(chǔ)在云端,因此我們可以放心地睡覺(jué)。除此之外,可擴(kuò)展性特性意味著只要我們能夠訪問(wèn)云端,那么我們就可以將文檔直接與其集成,反之亦然。

  5. On-premises 搜索

  我現(xiàn)在還是能看到有很多人在編寫(xiě)著大量的 and/or/like 等 SQL 查詢,其實(shí)這么做不僅會(huì)導(dǎo)致嚴(yán)重的性能問(wèn)題,還會(huì)產(chǎn)生不清晰的代碼以及不易使用的接口。這時(shí)可以看看 Google 的服務(wù),無(wú)論是數(shù)據(jù)庫(kù)、文檔還是各種文件系統(tǒng)都行。Apache Solr 值得你好好看看。

  6. PaaS

  無(wú)論是公有云還是自己的私有云,你都需要手工安裝各種操作系統(tǒng)、應(yīng)用服務(wù)器與應(yīng)用,然后提前選擇好將要部署的服務(wù)器與 VM 數(shù)量,這是十幾年前的做法。PaaS 是未來(lái)的趨勢(shì),能夠做到實(shí)時(shí)伸縮,自動(dòng)完成重復(fù)性的任務(wù)。我們所廣泛使用的平臺(tái)有 CloudFoundry、CloudBees 與 OpenShift。

  7. 云 IDE

  前不久,我們?nèi)以诖驋弑跈?,?9 歲的孩子不認(rèn)識(shí)壁櫥里面的一個(gè)很大的金屬盒子到底是什么,那是什么呢?我們?cè)诟舯诜块g看著我們的孩子?!拔也恢溃孟袷莻€(gè) Dell 的什么東西”。我們發(fā)現(xiàn)他確實(shí)不知道塔式機(jī)箱到底是什么,因?yàn)樽詮乃錾詠?lái),我們就一直在使用著筆記本(不過(guò)他看到過(guò)一臺(tái) 1U 服務(wù)器,因?yàn)槲覀冇盟鲞^(guò) Hadoop 的測(cè)試)。我覺(jué)得云 IDE 可以做到一點(diǎn),那就是讓下一代不知道筆記本到底是什么。為何要在硬盤上安裝 IDE 呢?為什么不打開(kāi)瀏覽器,然后就開(kāi)始編碼呢?比如說(shuō) Codenvy 或是 Cloud9。

  8. Hadoop

  無(wú)論是使用 MapReduce 進(jìn)行復(fù)雜的分析,抑或只是想做些日志分析和審計(jì)日志,Hadoop 都是這個(gè)行業(yè)中最為火熱的一個(gè)選擇。如果你尚未使用 Hadoop 做過(guò)一些試點(diǎn)項(xiàng)目,那么今年就要考慮做做了。如果已經(jīng)使用過(guò) Hadoop,那么我希望你能在今年對(duì) Hadoop 有更好的了解與掌握。

  9. 集群/分布式文件系統(tǒng)

  從集群到 HDFS,可伸縮性存儲(chǔ)是關(guān)鍵。今年,你要重新思考 SAN 了。至少,如果還沒(méi)有嘗試過(guò)可以先做個(gè)試水。我預(yù)測(cè)會(huì)有很多混合方式出現(xiàn)。