隨著企業(yè)收集的數(shù)據(jù)量以每年 40% 到 60% 的速率持續(xù)增長(zhǎng),IT 團(tuán)隊(duì)面臨管理海量信息的挑戰(zhàn)。
為了應(yīng)對(duì)數(shù)據(jù)的容量、速度、類別等方面的爆發(fā)性增長(zhǎng),眾多企業(yè)正準(zhǔn)備轉(zhuǎn)向 NoSQL 數(shù)據(jù)庫(kù)來(lái)代替?zhèn)鹘y(tǒng)的關(guān)系數(shù)據(jù),以實(shí)現(xiàn)更好的性能、伸縮性和易于開(kāi)發(fā)。
傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)需要提前構(gòu)造好整張表的數(shù)據(jù)類型和模式。而另一方面,NoSQL 數(shù)據(jù)庫(kù)更加靈活,允許新類型的數(shù)據(jù)快速插入,而且能讓不同類型的數(shù)據(jù)存儲(chǔ)在一起。這個(gè)特性對(duì)對(duì)期待分析大量非結(jié)構(gòu)化數(shù)據(jù)的公司特別有幫助。非結(jié)構(gòu)化數(shù)據(jù)是指不適合預(yù)定義的數(shù)據(jù)模型,例如 tweet、視頻或者從傳感器采集的數(shù)據(jù)等。
這僅僅是 NoSQL 數(shù)據(jù)庫(kù)流行起來(lái)的一個(gè)原因。2015 年到 2020 年期間,NoSQL 數(shù)據(jù)庫(kù)的使用有望達(dá)到 21% 綜合年增長(zhǎng)率。
”企業(yè)正在處理與分析越來(lái)越多的數(shù)據(jù),需要能夠高效可靠的處理一定規(guī)模的數(shù)據(jù)“,NoSQL 數(shù)據(jù)庫(kù)提供商 Couchbase 的 CEO Bob Wiederhold 說(shuō)到。“為了實(shí)現(xiàn)這個(gè)目標(biāo),他們拋棄了關(guān)系型數(shù)據(jù)庫(kù)。”
大約 80% 的企業(yè)現(xiàn)在仍然在使用關(guān)系型數(shù)據(jù)庫(kù),Wiederhold 預(yù)測(cè)這個(gè)比例在接下來(lái)的 10 到 15 年將會(huì)降至不到 50%,企業(yè)遷移到 NoSQL 數(shù)據(jù)庫(kù),尤其是 Web應(yīng)用,移動(dòng)應(yīng)用以及物聯(lián)網(wǎng)(IoT)應(yīng)用。
不過(guò)采用 NoSQL 數(shù)據(jù)庫(kù)也需要做出一些取舍。
“你需要兩種類型的數(shù)據(jù)庫(kù)做不同的事,有時(shí)甚至需要結(jié)合兩者一起使用,” 大數(shù)據(jù)分析初創(chuàng)公司 Metanautix 的 CEO Theo Vassilakis 說(shuō)到。
在計(jì)劃如何存儲(chǔ)和處理大數(shù)據(jù)時(shí),有三個(gè)因素需要考慮。
1.針對(duì)應(yīng)用程序的考慮
兩種類型的數(shù)據(jù)庫(kù)都有其用武之地,Vassilakis 表示。
傳統(tǒng)的關(guān)系數(shù)據(jù)庫(kù)的好處之一是它們跑 ACID 事務(wù),這保證了數(shù)據(jù)庫(kù)的變化能夠得到可靠準(zhǔn)確地處理。
“銀行結(jié)算原型,一個(gè)賬戶出賬而另一個(gè)賬戶入賬,” 在這種形式下應(yīng)用程序需要更多的事務(wù)處理,這時(shí)使用傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)更適合。Vassilakis 解釋說(shuō)。
但這使關(guān)系型數(shù)據(jù)庫(kù)橫向擴(kuò)展非常困難,增加了計(jì)算成本而且降低了數(shù)據(jù)檢索速度。
NoSQL 能夠輕松通過(guò)提升硬件性能花相對(duì)低的成本擴(kuò)展服務(wù)性能。再加上,NoSQL 能夠處理不適合傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)的非結(jié)構(gòu)化數(shù)據(jù)。
“這種形式的數(shù)據(jù)庫(kù)架構(gòu)對(duì)于存儲(chǔ)非結(jié)構(gòu)化數(shù)據(jù),縮放多數(shù)據(jù)庫(kù)實(shí)例和為那些同時(shí)通過(guò) Web 和手機(jī)應(yīng)用的迅速增加的大量用戶提供服務(wù)是最理想的。所以,如果那正是需求所在,NoSQL 是個(gè)更好的選擇,” Wiederhold 說(shuō)到。
2.考慮兩者的優(yōu)點(diǎn)
“隨著數(shù)據(jù)的爆炸性增長(zhǎng),企業(yè)正在抱怨他們現(xiàn)有的數(shù)據(jù)庫(kù)性能不佳,而且維護(hù)越來(lái)越昂貴。企業(yè)需要擴(kuò)展商用硬件提供能力去維護(hù)同等級(jí)的服務(wù),“ Splice Machine 的 CEO Monte Zweben 說(shuō)到。
他補(bǔ)充:“但在遷移到 NoSQL 過(guò)程中,他們不分好壞,將以前的把寶貴的東西也一起丟掉了”。
關(guān)系型數(shù)據(jù)庫(kù)善于事務(wù)處理,使用許多技術(shù)員工已經(jīng)熟悉的語(yǔ)言(SQL),并與現(xiàn)有的業(yè)務(wù)集成應(yīng)用程序編寫(xiě) SQL,但是關(guān)系型數(shù)據(jù)庫(kù)性能不足,NoSQL 提供了擴(kuò)展和收集的非結(jié)構(gòu)化數(shù)據(jù)的能力。
所以一些企業(yè)橋接了這個(gè)兩種類型的數(shù)據(jù)。例如,Splice Machine 使用 Hadoop,將 NoSQL 數(shù)據(jù)庫(kù)作為它系統(tǒng)中的一部分,并在基于 NoSQL 優(yōu)點(diǎn)的基礎(chǔ)上建立了一個(gè)兩全其美的數(shù)據(jù)庫(kù)。
3.更新和擴(kuò)展方面的考慮
除了對(duì)數(shù)據(jù)庫(kù)基本結(jié)構(gòu)做出重大改變,企業(yè)還可能會(huì)考慮第三種選擇:舍棄他們?cè)械臄?shù)據(jù)庫(kù)架構(gòu),在頂層安置一個(gè)計(jì)算引擎,來(lái)跨多種數(shù)據(jù)庫(kù)(無(wú)論是關(guān)系型數(shù)據(jù)庫(kù),還是NoSQL)查詢和組合數(shù)據(jù)。
Vassilakis 說(shuō)道:“你可能想要獲取 NoSQL 數(shù)據(jù)庫(kù)中已經(jīng)被廢棄的購(gòu)物車(chē)數(shù)據(jù),并且將那些數(shù)據(jù)和關(guān)系型數(shù)據(jù)庫(kù)中的關(guān)于銷(xiāo)售的結(jié)構(gòu)化數(shù)據(jù)進(jìn)行比較”。
企業(yè)同時(shí)使用兩種類型的數(shù)據(jù)庫(kù)更有意義,這樣分析師就可以專注于他們的業(yè)務(wù)分析了。它還可以防止你將需要分析的數(shù)據(jù)從一個(gè)數(shù)據(jù)庫(kù)移到另一個(gè)數(shù)據(jù)庫(kù),轉(zhuǎn)移過(guò)程可能緩慢并且有風(fēng)險(xiǎn)。
由 Metanautix 創(chuàng)建的工具 Quest,可以讓分析師能夠使用熟悉的 SQL 語(yǔ)言查詢關(guān)系數(shù)據(jù)庫(kù)和 NoSQL 數(shù)據(jù)庫(kù)。
“考慮到你需要兩種類型的數(shù)據(jù)庫(kù),我們想幫助那些使用數(shù)據(jù)的人,不需要關(guān)注底層的復(fù)雜性,并使用標(biāo)準(zhǔn)的邏輯模型和工具,” Vassilakis 解釋道。“我們還想讓 CIO 和 IT 部門(mén)協(xié)調(diào)系統(tǒng)底層而不打亂系統(tǒng)上層。”
雖然你的組織可能不知道哪種路徑是最好的,但重要的是,開(kāi)始評(píng)估并準(zhǔn)備應(yīng)對(duì)大數(shù)據(jù)對(duì)數(shù)據(jù)庫(kù)帶來(lái)的各種巨大變化。
本文來(lái)源:伯樂(lè)在線