面對當前這樣的商業環境:在每一條現有的渠道上全天候不間斷地開展業務,公司需要收集、存儲、跟蹤和分析海量數據——從點擊流數據和事件日志到手機通話記錄的各種數據。
而這一切都是需要企業和環境付出成本的:數據倉庫和存放數據倉庫的龐大數據中心耗用大量電能,運行大批服務器和冷卻服務器都需要耗電。那么,這方面的耗電量有多大呢?據估計,每年的耗電量多達驚人的610億千瓦時,據估計成本高達45億美元。
IT行業已經開始通過各種方法,應對數據中心能耗巨大的問題,包括使用更高效的冷卻系統、虛擬化技術、刀片服務器和存儲區域網絡。但一個根本的挑戰仍然存在——隨著數據量急劇增加,注重硬件設備的數據倉庫方法只能繼續通過部署更多硬件來應對這個問題。這樣一來,通過更好的冷卻技術或結構更緊湊的服務器在節能方面獲得的任何好處很快就蕩然無存。
為了盡量縮減硬件足跡(hardware footprint),許多企業還通過首先搞清楚信息分析需要多少服務器空間和資源,以減小“數據足跡”(data footprint)。如果企業能將明顯旨在分析海量數據的新型數據庫技術和成本合理、高效利用資源的開源軟件結合起來,就有助于節省資金、提高節能效果。
企業可以從以下三個主要方面來開展這項工作:縮減數據足跡、減少部署資源以及減少日常管理和維護。下面更深入地分析每個方面:
一、縮減數據足跡
近年來,面向列的數據庫已被許多人認為是分析海量數據的首選架構。面向列的數據庫是以逐列的方式,而不是逐行的方式來存儲數據。這有許多優點。大多數分析查詢只涉及表中的一小部分列,所以面向列的數據庫只要關注檢索需要的那部分數據。這加快了查詢速度,又減少了磁盤的輸入/輸出和計算資源。
此外,這種數據庫能夠高效地壓縮數據,因為每一列只存儲了一種數據類型,而不是每一行通常含有幾種數據類型。可以針對每一種數據類型來優化壓縮,這減小了數據庫所需的存儲量。面向列的數據庫還大大加快了查詢處理速度,因而大幅增加了服務器能夠處理的并發查詢數量。
如今市面上有一系列面向列的解決方案。有些重復數據所需要的硬件足跡與基于行的傳統系統一樣大。另一些解決方案將列技術與其他技術相結合,因而不需要重復數據。這就意味著用戶不需要一樣多的服務器或一樣大的存儲器來分析同樣多的數據。
比如說,一些面向列的數據庫能夠達到的壓縮效果從10:1(一個10TB的數據庫變成1TB的數據庫)到40:1以上,具體取決于數據。借助這樣的壓縮級別,分布式服務器環境就可以縮小20倍至50倍,可縮減至單單一個設備——大幅減少了散熱量、耗電量和碳排放量。
虛擬數據集市也閃亮登場,充分利用企業信息集成(EII)技術,讓用戶能夠以精準的視角了解數據集,又不需要物理存儲器。這種方法的缺點是,復雜查詢速度可能很慢,分析要求需要以近實時的方式查詢數據時,這會是個問題。
開源碼軟件則進一步提高了資源的利用效率,因為它通常不需要專有硬件或專業設備。
二、減少部署資源
新的數據庫技術結合開源技術,還能帶來更簡單的、“自己動手”的測試和部署模式。這大大減少了讓分析解決方案投入運行起來所需的資源數量。
考慮一下采購和部署傳統的專有解決方案可能需要的資源:漫長的產品評估過程之后,很可能需要廠商派人到客戶現場,安裝和配置硬件和設備。從自然環境和公司利潤的角度來看,成本包括差旅費(乘飛機旅行、租車和酒店住宿)以及硬件(多臺服務器、冷卻設備和連接線材),還有人員(對解決方案進行定制可能需要整整一隊專家。)
借助新的開源技術,軟件可以從網上下載。另外,軟件設計成了易于安裝,那樣一個人就能負責安裝和部署。支持需求也減少了,這意味著問題可以通過電話會議來解決,而不是通過人員當面趕到現場來解決,后者不但成本更高,還存在碳排放問題。
三、減少日常管理和維護
由于傳統的數據倉庫解決方案通常用來處理特定類型的查詢任務,所以它們不是特別適合這種環境:數據管理要求不斷變化,而實時分析又至關重要。(事實上,實時動態的需求在網絡主導的世界幾乎很普遍。)如果改動這類解決方案,以便能處理特定查詢,就需要工作量繁重的手動微調,因而會大量耗用IT資源。
比如說,試圖運行一組復雜的分析查詢,此外還要針對旨在存儲海量IT日志數據的數據倉庫,不斷改變模式(schema),這就好比試圖用字典來查找駕駛方向。這需要全面地重新配置底層數據結構,要求數據庫設計人員創建索引和數據分區。索引和分區還會增加數據大小;在某些情況下,會將數據大小增加兩倍或更多。
相比之下,一些新的分析數據庫產品消除了這些手動工作和日常工作,可以提供一種更“類似谷歌”的體驗,那樣用戶就可以輕松地利用軟件,答復多種類型的問題。這種級別的靈活性有望將日常維護和操作支持最多減少90%。公司只要開發一款可以由許多人使用的解決方案,就能優化人員的使用,還能優化時間和資金方面的投入。此外,數據分析方面更高的工作效率意味著,可以在不犧牲性能的情況下,減少所用的硬件。
眼下一些公司甚至在改用外包的操作管理,進一步減少公司內部所需的資源數量。易于使用和維護的分析、集成和智能解決方案非常適合這種辦法,因為它們很容易由外包提供商來進行管理。