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