撰文☉王宏仁、辜雅蕾 攝影☉辜雅蕾
巨量資料的超級挑戰來臨了
eBay的資料庫每天增加50TB、中華電信每個月累積3~4TB記錄、義大醫院醫療資料7年成長60倍,越來越多企業面臨PB級規模的巨量資料挑戰
分析師:複雜又巨量的資料為資料倉儲系統帶來新挑戰
Gartner認為,資料倉儲的角色在2011年將面臨非常明顯的改變,來因應巨量、複雜、更多不同資料形式資料的挑戰,未來邏輯資料庫的概念也會逐漸浮現
eBay如何分析巨量資料 用Hadoop分析巨量非結構性資料
eBay在4年前就關注半結構性的資料分析,並打造專屬軟硬體平臺,藉由壓縮技術與Hadoop技術分析巨量的半結構資料
中華電信如何分析巨量資料 組合168臺伺服器建立巨量資料運算平臺
中華電信研究所去年1月完成名為「大資料運算平臺」的建置後,利用平臺測試大量非結構性資料如訊務資料與MOD收視率分析,進行加值應用
Teradata的巨量資料對策:Aster Data 用結合SQL和MapReduce平臺處理
Teradata以具有SQL-MapReduce技術的Aster Data平臺,處理非結構性資料。同時藉由含SSD的資料倉儲硬體,加快回應速度
IBM的巨量資料對策:InfoSphere Big Insights 以多層次架構分析巨量非結構資料
IBM透過另建平臺搜尋檔案系統資料,將檔案轉為資料庫格式後,由資料倉儲系統分析
Oracle的巨量資料對策:Exadata v2 用儲存層工具過濾資料減少存取瓶頸
Exadata v2在儲存硬碟系統中安裝儲存層工具軟體,預先過濾資料欄位,減少資料存取數
EMC的巨量資料對策:Greenplum Greenplum可同時支援兩種技術
Greenplum的資料庫引擎同時支援SQL與MapReduce,可直接讀取非結構性資料,將其當作外部資料表來進行分析巨量資料的超級挑戰來臨了
在eBay上,每天有上百萬件商品在線上交易,8,800萬名使用者平均每天查詢商品數百萬次,eBay資料庫系統每天會增加上1.5兆筆新記錄,合計每天增加的資料量超過50TB。
為了提供各種交易媒合以及使用者行為分析,eBay的系統還得每天處理超過50PB的資料量,來進行5千多項商業分析,這正是eBay分析平臺高級總監Oliver Ratzesberger所面臨的挑戰,一個巨量資料(Big Data)的超級挑戰。
巨量資料的挑戰並非只有規模如eBay般的企業才會面臨的問題。在臺灣,中華電信每個月保留的資料如用戶網頁瀏覽記錄等,大約有3~4TB的資料量,若要分析這些原始資料,過程中必須對資料進行多種複製和轉換,系統要處理的資料量還會再增加2倍以上,但中華電信現有資料倉儲設備僅能負荷6~9月所保存的資料量,若直接使用原始資料和傳統資料庫技術,難以進行長期或深入性的分析,來找出關鍵的用戶特性進行客製化行銷。如何分析龐大資料,是中華電信越來越嚴峻的挑戰。
不只員工人數上萬人的中華電信,就連人數不到20人的臺灣社群遊戲廠商力可科技,也遇到資料暴增的難題,力可科技今年新推出的Facebook社群遊戲越來越受歡迎,記錄遊戲資訊的資料庫容量也快速暴增。數千名使用者在一天內產生的遊戲資訊高達2GB,1個月就會增加60GB的資料量,按照這個增長速度,不用幾個月,就會用完資料庫伺服器上的硬碟,力可科技總經理馮彥文既興奮又擔心。
像社交遊戲這類的社交型網站,資料成長速度飛快,你可以想像假設一個社交網站隨時上線的使用者有1萬人,若這些人每天和10位朋友打招呼,一天就會產生10萬筆資料。若是Facebook,每天有5百萬名臺灣用戶上線,光是臺灣地區產生的資料量,每天至少有5千萬筆。
就連醫院也有資料暴增的隱憂,例如義大醫院2004年4月成立後採取全面無紙化的策略,所有醫療影像,包括X光照片、斷層掃描等資料,甚至在導入電子病歷和心血管系統後,7年資料量增加了60倍,從2TB暴增到120TB,義大醫院預估,再過5年,資料量甚至會達到PB等級。
全球資料量2010年成長70億 GB
麥肯錫全球研究中心今年5月發表了一份全球巨量資料研究報告,報告中指出,全球資料量光是在2010年就增加了70億GB,相當於4千座美國國會圖書館典藏資料的總和。
巨量資料並非是新的議題,過去大多只有科學研究時,會遇到這類巨量資料的挑戰,例如高能物理分析、氣象預測、基因分析、生物研究、財務或商業資訊分析等,學者為了進行複雜現象的模擬和預測,經常利用平行運算或分散式運算技術來處理這樣大量的資料分析工作。 但現在,面臨資料暴增挑戰的企業陸續出現,也有越來越多的企業,擔心自己不久之後會面臨同樣的情況。
現在很多提供全球性服務的網路業者如Google的搜尋服務、Flickr的圖片服務、Facebook的各種社交服務等,也都用巨量資料來描述他們所遭遇到的挑戰,再加上行動裝置普及後,光是2010年全球使用中的手機就有50億隻,許多新型態的資料蒐集工具也產生了大量資料,例如相機、麥克風、RFID讀取裝置、無線網路感應等,使用這些裝置提供服務的業者也同樣面臨了巨量資料的處理挑戰。
這樣數10TB甚至是PB等級的資料量無法一次儲存在單一硬碟上,必須分散儲存,一般程式常用的關聯式資料庫架構處理這樣龐大資料時的效率不佳,遠超過傳統常見的資料庫管理工具所能處理的資料量。因為資料規模龐大也連到造成了後續進行資料擷取、保存、使用、分享以及分析時的處理難度。
目前常見的巨量資料例如像網站Log記錄、RFID資訊、感測器網路資訊、社交網路的互動資料、網際網路上的文件、影音圖片、網路搜尋索引、客服中心呼叫記錄、天文資料、大氣科學分析、基因資料、生化分析、複雜或跨學科的科學分析、醫學記錄,甚至是生產線機臺設備產生的Log記錄。
這些大多是非結構性資料,不容易以傳統關聯式資料庫的作法,透過固定資料欄位架構,將資料儲存到關聯式資料庫中來進行處理。除了巨量的挑戰以外,還有資料結構複雜化的挑戰。
巨量資料衝擊資料倉儲技術升級
這些巨量資料的挑戰帶來IT技術和商用軟體的變革,首當其衝的當然是資料庫和資料倉儲業者,Gartner副總裁Donald Feinberg表示,資料倉儲的角色在2011年時將面臨非常明顯的改變,來因應巨量、複雜、更多不同資料形式的挑戰。
Donald Feinberg認為,資料倉儲的角色之所以會有所轉變,其中一項因素就是資料不僅在數量上變多,而且日益複雜,對於5到10年前所設計出來的資料倉儲系統來說,還必須能處理資訊的多樣性、複雜性、巨大的容量而且系統反應速度要即時等特性。而他認為,雖然巨量資料對不同產業都有不同的意義,但基本上,巨量資料代表的就是大量、複雜和非結構化的資料。
巨量資料影響層面之廣,IDC軟體市場分析師鍾翠玲表示,巨量資料對於各方廠商都是新的戰場,但她認為,資料倉儲會是因應巨量資料的主力。
一直以來,資料倉儲系統大多運用在OLAP(On-Line Analytical Processing)領域,著重在資料採礦、深度分析的功能。在過去,深度資料採礦與建模的工作並沒有立即性的需求,因此,相對於以交易為基礎的OLTP(On-Line Transaction Processing)領域,對時間與立即性的要求沒有那麼高。
不過,隨著巨量資料時代來臨,資料量不僅大幅成長,資料的種類與態樣也越來越複雜,企業對於大量訊息快速分析後要立即給予反應的要求也越來越高。這些對專營OLAP資料倉儲的廠商來說,就帶來了效能與分析多樣性資料的能力都必須提升的挑戰。於是,舉凡壓縮技術、SSD硬碟等都紛紛出籠。
而各家廠商面對巨量資料的因應策略也有所不同。Donald Feinberg表示,現今大多數廠商都在談巨量資料,並試著將此納入資料倉儲管理的環境中。他分析的幾個資料倉儲廠商分別是甲骨文、微軟、IBM、SAP/Sybase、Teradata、EMC的Greenplum等。
他表示,甲骨文與微軟都處於剛開始談論巨量資料的階段,IBM則是靠著Big Insights進入巨量資料領域,Teradata收購的Aster Data被Donald Feinberg歸納為處理多樣性、複雜性資料的領導廠商,因此,他表示,該併購也讓Teradata一舉成為處理巨量資料的領導廠商之一。另外,儲存廠商EMC所併購的Greenplum也將MapReduce納入資料倉儲中,成為另一個處理巨量資料領導廠商。
事實上,隨著資料量增加,已有OLTP領域的廠商推出軟硬體整合的產品跨足進資料倉儲的世界。3年多前甲骨文將自己最擅長的OLTP資料庫搭上昇陽的硬體,推出了一款資料倉儲產品Exadata,並且在第二版的儲存硬碟上加裝了儲存伺服器軟體,讓資料採礦計分的功能直接在儲存硬碟上進行,降低資料庫引擎的負擔。
面對巨量資料的挑戰,甲骨文大中華區臺灣技術諮詢部資深諮詢經理黃久安表示,原先資料庫軟體其實就能處理許多複雜的資料來源,包括文本檔案,甲骨文推出軟硬體搭配的資料倉儲產品,就是因為企業資料量逐漸增加,必須藉由硬體去克服為了分析所帶來的巨量資料。
不過,雖然甲骨文的資料庫引擎可以做到半結構性資料的分析,並宣稱自己的資料倉儲系統可以同時提供OLAP與OLTP的功能,但是,這代表所有的資料都必須儲存在資料倉儲系統中才能分析,若以資料量計價的話,恐怕沒有很經濟。
![]() |
|
▲中華電信資訊處第四科科長楊秀一點出巨量資料對企業的真正挑戰是「最大的問題是沒有便宜的儲存方式。」所以,中華電信用Hadoop預先處理來減量資料,降低資料倉儲的負擔。 |
中華電信資訊處第四科科長楊秀一就指出巨量資料對企業真正的難題是,「最大的問題在於沒有便宜的儲存方式。」他說。
這使得Teradata與IBM Netezza都用另一個平臺先處理大量非結構或是半結構性的資料來達到減量效果。Teradata專門用於儲存分析巨量資料的平臺是併購來的Aster Data,IBM則是採用自家開發的InfoSphere來儲存與分析巨量資料。
資料倉儲結合Hadoop運算技術
![]() |
Hadoop是目前最受歡迎的高擴充雲端運算技術,不論企業或IT廠商都使用Hadoop來處理巨量資料,圖為Hadoop提供的網頁管理介面,可以監控每一個運算節點的執行情形。 |
這些平臺的特色都是採用了Hadoop開源雲端運算平臺的MapReduce處理技術,來解決關連式資料庫無法分析非結構性資料的困境。像是Aster Data就能同時支援使用者透過標準SQL來進行MapReduce的處理,可先透過MapReduce找出非結構性資料中的有用的結構性資料,減少資料量後,再由傳統資料倉儲接手分析。
MapReduce是Google用來分析龐大網路服務資料的關鍵技術,在2005年釋出後,開源社群改用Java實作出MapReduce技術的開發平臺Hadoop。
MapReduce的基本概念其實不難懂,用一個真實的數錢幣故事來解釋。有位企業主為了刁難銀行,用50元硬幣和10元硬幣償還316萬元的貸款,數萬枚硬幣重達1公噸,還得找來吊車才能送到銀行,幾位行員七手八腳花了好幾個小時才清點完畢。銀行只要不斷加派人手,就能縮短清點時間,例如能立即找到100個人手,10分鐘內就能完成,不會影響到正常銀行運作。
就像這個不斷加派人手來清點錢幣的做法一樣,MapReduce可以不斷增加更多伺服器來提高運算能力,增加可承載的運算量。透過Map程式將資料切割成不相關的區塊,分配給大量電腦處理,再透過Reduce程式將結果彙整,輸出開發者需要的結果。
資料倉儲業者正是利用Hadoop的高擴充分散式運算技術,來解決巨大資料的難題。不過,另外建置一個平臺,除了增加建置成本之外,當然也就多一道資料存取的工作,資料的正確性也就成了另一個風險。
以單純軟體起家的Greenplum雖可同時支援SQL與MapReduce,直接讀取企業存取資料的儲存設備中的資料,並且在計價時只計算保留在資料倉儲空間中的資料量。過去Greenplum一直都是以販售軟體為主,讓企業自行搭配硬體。去年第三季他們也推出了軟硬體整合的產品。
就目前而言,各家廠商認為臺灣企業對於分析結構性資料的需求仍舊大於非結構性資料,而龐大資料的產生,則是正在發生中的事情,多數企業開始面對巨量資料的問題,都是在為了未來而打算,而不是現在就面臨的困難。
低成本的NoSQL資料庫技術
倒是網路業者更快面臨了巨量資料,例如先前提到的力可科技,或像eBay、Facebook、Google等,他們為了解決PB等級的資料儲存和擴充問題,也開始研發建置成本較低的分散式開源資料庫,也就是所謂的NoSQL資料庫。這類技術可使用個人電腦等級的伺服器,以較低的成本,但大量的設備來撐起巨量資料需要的儲存規模和分析處理能力。
像是Google自行研發的BigTable就是最好的例子。其他如Amazon、Yahoo、Facebook、Twitter也都投入這類NoSQL資料庫的研發。甚至連微軟Azure雲端平臺也使用了NoSQL技術來存取資料。而像Facebook也開發了一套NoSQL資料庫Cassandra,在600多個運算核心的叢集系統上,儲存了超過120TB的站內郵件資料。
目前主要有4種NoSQL資料,包括Key-Value資料庫,記憶體資料庫(In-memory Database)、圖學資料庫(Graph Database)以及文件資料庫(Document Database)。
Key-Value資料庫是NoSQL資料庫中最大宗的類型,這類資料最大的特色就是採用Key-Value資料架構,最簡單的Key分析師:複雜又巨量的資料為資料倉儲系統帶來新挑戰
分析機構Gartner副總裁Donald Feinberg表示,資料倉儲的角色之所以會有所轉變,其中一項因素就是資料不僅在數量上變多,而且日益複雜,對於5到10年前所設計出來的資料倉儲系統來說,就必須要能處理資訊的多樣性、複雜性、巨大的容量而且系統反應速度要即時等特性。而他認為,雖然巨量資料對不同產業都有不同的意義,但基本上,巨量資料代表的就是大量、複雜和非結構化的資料。
但是,對於擅長處理結構化資料的關聯式資料庫管理系統來說,是很難去處理巨量資料的。因此,Donald Feinberg表示,目前大部分的企業會特別打造一個空間或是平臺來存放非結構化資料或是巨量資料。
因應巨量資料的來臨,Donald Feinberg表示,未來邏輯資料倉儲的概念將會浮現,也就是將不同性質的資料存放在不同的資料庫中,就可以用適當的工具來獲取正確的資訊,同時,邏輯資料倉儲會利用適當的後設資料連結所有資料倉儲系統中不同的資料。
Donald Feinberg也表示,有許多工具都是用來處理巨量而非結構化的資料,但是,將有很多應用程式是使用MapReduce技術開發。
資料倉儲廠商面臨必須快速回應查詢的挑戰
巨量資料影響層面之廣,IDC軟體市場分析師鍾翠玲表示,巨量資料對於各方廠商都是新的戰場,其中也包含了儲存廠商,像是EMC買下資料倉儲軟體業者Greenplum就是一例。原因正是,她認為,資料倉儲的確是可因應巨量資料的主力。
不過,對資料倉儲廠商來說,還是有不少挑戰存在,首當其衝的是,他們必須要強化關聯式資料庫的效能,增加資料管理和資料壓縮的功能。
因為過往關聯性資料庫產品處理大量資料時的運作速度都不快,需要引進新技術來加速資料查詢的功能。另外,資料倉儲的廠商也開始嘗試不只採用傳統硬碟來儲存資料,像是使用快閃記憶體的資料庫、記憶體式資料庫等,都逐漸產生。
另一個挑戰就是傳統關聯性資料庫無法分析非結構化資料,因此,併購具有分析非結構化資料的廠商以及資料管理廠商,是目前資料倉儲大廠擴增實力的方向。
資料管理的影響主要是資訊安全的考量。IDC軟體市場分析師吳乃沛表示,巨量資料對於儲存技術與資訊安全也都會產生衝擊。首先,快照、重覆資料刪除等技術在巨量資料時代都很重要,就衍生了資料擷取權限的管理。
舉例來說,現在企業後端與前端所看到的資料模式並不一樣,當企業要處理非結構化資料時,就必須界定出是IT部門還是業務單位才是資料管理者。而吳乃沛表示,由於這牽涉的不僅是技術問題,還有公司政策的制定,因此界定出資料管理者是臺灣企業目前最頭痛的問題。文⊙辜雅蕾eBay如何分析巨量資料 用Hadoop分析巨量非結構性資料
對於臺灣企業來說,巨量資料的分析與應用大多採取較為保守的態度,即便看到巨量資料的來臨,還是著重於結構性資料的應用。
這可能是受臺灣的市場規模所限,相對來說,國外的許多大型企業則是已經看到不少巨量資料的挑戰,並且試著用更好的效能或是管理來解決。比如以麥當勞來說,他們因為近年來在世界各地越來越多產品品項,每一個品項在各地的銷售狀況,都會再傳回美國母公司的資料庫進行分析,為了優化資料庫的效能,藉由管理工作負載的軟體來改善資料回應的速度。
但對擁有全世界最大資料倉儲系統的eBay來說,挑戰不僅於此。eBay近年來數據成長的腳步相當驚人。他們現在每天有50PB的新增資料,使用者平均每天對5萬種商品進行數百萬次的網上查詢。除此之外,eBay還有7,000多個商業用戶和分析人員,為了分析,每8秒鐘會產生1TB的資料量。這些加起來,eBay每天要處理的資料量高達100PB。
巨量資料最大的挑戰是要同時處理結構與非結構性資料
這麼驚人的數字對eBay 來說並不只是量的增加而已。eBay分析平臺高級總監Oliver Ratzesberger認為,近年來在分析資料領域最大的挑戰就是要同時處理結構化與非結構化的資料。
eBay的非結構化資料主要是來自行為分析的數據、以及網站點擊率的分析。Ratzesberger表示,這些資料都比過去還要複雜、多變許多。就拿追蹤點擊率來說,近年來大部分的網頁都是動態網頁,過去只要透過網址就能知道使用者正在看什麼網頁,但是現在一個網頁上的內容變多了,而且每一秒都在變化,這對於分析使用者行為來說,難度也就更高。
Ratzesberger認為,目前關聯式資料庫已經能夠將結構性資料處理的非常好,不過,在半結構性資料或非結構性資料的處理能力還不行,而這些點擊率資訊就是這一類的資料。
運用Hadoop技術將大塊資料打散,可讓資料模型更小
因此,eBay在4年多前另外建立了一個軟硬體整合的平臺Singularity,在這個平臺上他們開始開發壓縮技術與解決結構、半結構資料的技術。2年多前這個平臺上加入了Hadoop的技術,專門處理半結構與非結構性的資料。Ratzesberger表示,現在eBay在這個平臺上處理的結構與非結構性資料已經達到40PB。
這個平臺除了可以儲存大量的結構與非結構性資料外,藉由Hadoop 的技術處理大塊的非結構性資料,當資料庫引擎出現大量的請求與查詢時,就不需要將整個資料放到資料模型中,因此讓資料模型變得較小。
在eBay的作法上,他們先為點擊率中的共同特性設定欄位,像是IP位址、時間、URL、使用者所使用的瀏覽器等,再進行交叉分析。這些欄位仍舊保留,其他較複雜的非結構化訊息則集中在另一個欄位中,一旦出現查詢需求時,就可以經過相對應數值的匹配,找到符合的概念與資料,再應用到資料模型中。而這些資料都會放在同一個資料表中。
eBay充分運用所能蒐集到的資料加以分析,並不是IT技術上的變革而已,這些工作,也確實對eBay產生了不少正面的影響。比如說,頂級賣家的銷售額占所有賣家銷售額的百分比從2009年10月的22%,到2010年4月時成長為32%,一共上升了10個百分點。
Ratzesberger表示,從分析使用者行為中得出來的介面設計經驗,也優化了網頁結構,提高銷售額。
應用虛擬化的資料超市來減少重覆複製資料
其實分析本身就是資料量不斷增加的一個重要因素。每進行一次分析,用於分析的資料就會再被複製一次,使得資料量不斷成長。但是,企業也必須使用資料倉儲進行深度分析,惟有深度分析才能創造出與其他企業區隔的獨特之處。
為了減少資料不斷複製的情況,Ratzesberger就提出了分析作為服務(Analytics as a Service)的觀念。作法是提供虛擬化的資料架構,也就是將資料超市(Data Mart)虛擬化,這些資料超市就像是一種資料次集合。當eBay旗下各單位有資料分析需求時,可以用自助服務申請專屬的資料次集合。
Ratzesberger表示,過去當業務單位需要分析資料時,這些資料可能來自於不同的資料庫,而這些資料庫也不能共享,資料產出的分析會存在一個資料庫中,當另一個單位需要分析時,就要將類似的資料再複製一次,導致許多資料為了不同的分析目的而被一再地複製。
資料架構虛擬化之後所有的資料都儲存在統一的資料倉儲中,當任何單位有需要分析服務時,這些資料超市都是共享同一個資料倉儲中的資料,而不需要複製,只有特別具有保存價值的分析結果資料,才另外進行儲存。
這樣做也可以解決資料庫使用效率不彰的問題。Ratzesberger表示,過去不同部門的資料超市都各自儲存,使得有些資料庫的效能浪費掉,有的資料庫效能又不敷使用。「在資料架構虛擬化之前,資料庫有一半以上的性能都浪費掉了。」他說。
舉例來說,在早上9點時,是行銷與IT部門的使用率最高,10點時,又變成行銷、財務、搜尋的使用率最高,到了下午1點,詐欺跟客戶服務的使用率變得最高。利用資料架構虛擬化的作法,就能在不同時間彈性調配不同的資料庫運算資源給不同單位使用。
現在eBay還讓企業內部的員工可以自助服務,申請自己需要的資料超市。這個虛擬的資料超市可以隨時調配需求,也具有簡單的管理功能。
未來,eBay也關注於社群網站的言論分析,配合行動裝置銷售版圖的擴展進行更多行動應用的優化,像是藉由行動裝置拍攝逛街看到的衣服照片,就可以立刻搜尋拍賣網站是否有相同物件等功能。因此,從今年開始,eBay還要進一步把Hadoop的技術整合進資料倉儲中,協助分析大量的資料,以因應未來持續增加、越來越複雜的資料量,以及更即時的回應。文⊙辜雅蕾
![]() |
eBay將資料庫中的資料架構虛擬化,讓資料庫資源可彈性配置,也減少因分析造成的大量資料複製的資料量,各單位也可以透過自助服務申請所需要使用的資料超市(Data Mart)。 |
中華電信如何分析巨量資料 組合168臺伺服器建立巨量資料運算平臺
雖然對很多臺灣企業來說,巨量資料仍被視為未來才會逐漸發生的事情,但實際上,臺灣電信業者確實已開始發展處理巨量資料的方法。
企業分析巨量資料的目的,多半是為了分析客戶行為,並針對這些行為給予主動行銷。以過去常運用資料倉儲分析資料的金融業來說,現在有更多即時性的資料出現,若能結合歷史性跟即時性的資料進行綜合分析,就能讓應用資料的效益更高。
現在臺灣也有電信業將巨量資料的分析結果應用在預測駭客攻擊的領域。由於一般駭客在正式攻擊之前,會先嘗試攻擊不同的伺服器,這些攻擊都會在系統的Log中留下軌跡。在Log會有一段敘述,用來描述錯誤訊息,電信業者就藉由可同時處理結構與非結構性資料的資料倉儲系統來處理這些半結構性資料,利用這些錯誤訊息建立模式,進而預測駭客攻擊提早加以預防。顯見得巨量資料在應用領域上已經逐漸多元化。
為了解決這些巨量又大型的非結構性資料,各個企業作法並不同,但Gartner副總裁Donald Feinber表示,大部分的企業會特別打造一個空間或是平臺來存放並分析這些非結構化資料或是巨量資料。中華電信的作法也是如此。
中華電信研究所為了配合中華電信的需求,在2010年1月建置了一個以Hadoop技術為核心的平臺,稱為「大資料運算平臺」,用來分析一些訊務資料、MOD每日收視率分析等。
中華電信研究所寬網室研究員蕭毅表示,目前這個平臺仍在研發階段,會針對中華電信內部的需求來開發平臺功能,接下來,將進一步對內實際提供加值應用,未來也打算將技術包裝後,對外提供巨量資料平臺運算的服務。
開發巨量資料元件庫,即使不會Hadoop技術也能使用平臺資料
中華電信「大資料運算平臺」組成要素 |
1. 168臺伺服器叢集,容量600TB。 2. Hadoop雲端運算技術為核心。 3. 平臺使用度模組化工具,如分散式資料庫系統、工作排程、流程管理、資料庫介接工具。 4. 平臺維護效率模組化工具,如效能監測、告警通知、組態管理等。 5. 「大資料元件庫」提供API,簡化開發。 |
這個「大資料運算平臺」目前是由168臺伺服器所組成,資料容量是600TB,以Hadoop雲端運算技術為核心架構。在底層核心架構上,中華電信研究所再利用開放原始碼各種技術開發了其他模組,像是分散式資料庫系統、工作排程、流程管理、資料庫介接工具等來提高平臺的可使用度。同時,為了提升平臺的維運效率,中華電信研究所開發了管理模組、效能監測、告警通報、組態管理等一般網管所具有的機制。
另外,中華電信研究所也開發了一個「大資料元件庫」。蕭毅表示,元件庫就如同中介軟體,藉由這些元件庫的API,開發人員不一定要學會用Hadoop技術來寫程式,就能使用平臺上的資料分析功能。目前這個元件庫底下約有6種元件庫,包括MOD元件庫、影音搜尋元件庫、影像辨識元件庫等。
蕭毅表示,當巨量資料平臺所群組起來的伺服器越多時,就表示要處理資料量越大,相對來說,管理能力就一定要增強,而目前中華電信研究所開發的「大資料運算平臺」程式功能已具有管理200臺伺服器的能力,未來若要商用化,這些能力都會持續擴增,讓可運算的資料量達到PB等級。
開發介面程式可相互轉換結構與非結構性資料,讓資料的分析更具有彈性
中華電信研究所會想要開發這個巨量資料運算平臺,有一個原因就是想要利用Hadoop來處理過去關聯性資料庫不容易處理的大量非結構化資料。非結構化資料通常都呈現非常大型的狀態,就好像是一整篇文章,而不是經過篩選的資料欄位,蕭毅稱為「一尾式」的資料。
蕭毅表示,這種「一尾式」的資料,如果要變成結構性資料,第一個問題是由於資料太過龐大,讓資料庫的費用大幅增加。第二個問題是,在資料量太大的時候,傳統資料庫難以連接不同的資料表。因此,「一尾型的資料因為傳統資料庫無法運算,就改放入Hadoop平臺運算,若原本是簡化過的結構性資料,才放進原來的資料庫分析。」他說。
像之前中華電信研究所曾經利用傳統資料庫來計算MOD每日收視率分析,結果由於資料量過大而無法分析,建構了「大資料運算平臺」以後,運用Hadoop 技術只需1個小時就能計算出結果。蕭毅認為,如果硬體的數量再增加,分析所需要的時間甚至可以在幾分鐘內完成。
雖然巨量資料運算平臺可以解決關聯性資料庫無法分析非結構性資料的難題,但蕭毅認為,只要是200TB以內的資料量都還是可以靠傳統資料庫分析,但超過PB等級資料量的話,傳統的資料庫恐怕就無法負荷。
因此,中華電信研究所也在這個平臺上開發了介面程式來轉換結構與非結構性資料,可以將非結構性資料轉成結構性資料分析,也可以把原先結構性資料打散變成非結構性資料,再讓Hadoop技術做倒立式的搜尋。
建立培訓機制協助技術人員學習Hadoop技術
雖然開發這個平臺為中華電信研究所帶來許多嶄新的測試經驗,但在開發過程中,他們遇到最大的困難就是嚴重的技術瓶頸。
蕭毅表示,最大的挑戰在於NoSQL與Hadoop等巨量資料技術與傳統資料的設計觀念完全不一樣,必須訓練資訊人員接受新方法,而難題就在於說服資深的技術人員學習新技術。「一旦採用Hadoop技術,原始程式和應用系統功能都要修改,要讓技術人員重新學習,這就是我們的困難。」他說。
中華電信要自己開發元件庫也是為了解決這個難題。不過,在這個元件庫下還是得開發不同專業領域元件庫,這時候需要該領域的專家以及能用Hadoop技術開發程式的技術人員共同合作才能完成。
就算可以使用元件庫來簡化開發,對於技術人員來說,要從本來傳統資料庫的元件庫轉換,也會出現轉換障礙。
而且,蕭毅表示,即使可以利用元件庫,技術人員還是直接用Java寫MapReduce的分析程式,在運作效能與速度都會比較好,技術人員還是得熟悉Hadoop技術。
因此,中華電信研究所建立了巨量資料技術的專長培訓機制,來協助技術人員的轉換技能,也為了訓練各應用領域的系統設計人員,建立新的巨量資料架構觀念擁有自行評估設計、規畫、開發的技術能力。文⊙辜雅蕾
Hadoop技術的優缺點比較 |
中華電信研究所從2010年1月建置好「大資料運算平臺」後,陸陸續續在這個平臺上測試了不少工作,包含訊務的分析以及MOD收視率分析等。 綜合這1年半來運用Hadoop技術的經驗,中華電信研究所認為,Hadoop技術各有幾項優缺點。 第一個優點是,運用Hadoop技術可以節省成本。中華電信研究所寬網室研究員蕭毅表示,開發巨量資料運算平臺的硬體很便宜,軟體也是免費的,如果要計算一樣的資料量來說,只需要支付用傳統資料庫計算時價格的10分之1。 第二個優點是,減輕程式維護人力。蕭毅表示,過去企業要維護一個傳統資料庫,需要大量的專業人力,尤其是要計算PB等級的資料量時,資料庫會變得更加複雜,加上備份的機制,對於程式維護來說是很大的負擔。但利用Hadoop技術,由於每一筆資料體積龐大,只要利用類似使用搜尋引擎的功能就可以找到資料,而且Hadoop也會自動備份3次,大大減低程式維護的人力。 另外,中華電信研究所也看好Hadoop技術將成為Java程式語言主流架構,可以同時支援開發單機版,或是多機版。 同時,他們也提出幾項目前採用Hadoop技術的缺點,其中有一些也是正在解決的問題。 第一個缺點是,安全性不足的問題。蕭毅解釋,中華電信研究所未來想要讓這個「大資料運算平臺」上擁有多租戶的功能,但是如果要將這些用戶隔開,就必須自行開發程式或使用不同的硬體來區分不同的用戶,不過,他認為,這對於單一企業應用此技術開發單一平臺來說,就不會有這個問題。 第二個缺點是程式開發人員必須要學習MapReduce架構才能在Hadoop平臺開發程式,而且沒有針對各行各業需求打造的元件庫。 第三個缺點則是各版本功能的差異較大,容易造成應用程式相容性的問題。蕭毅表示,為了解決這個問題,在開發的過程中就必須加進許多管控機制才能讓程式運作更順暢。 第四個缺點則是管理機制大多為指令介面,缺乏友善的圖像管理介面。事實上,蕭毅認為,對專業的開發人員來說,指令介面並沒有什麼問題,不過對於一般的人來說,容易產生距離感。文⊙辜雅蕾 |
Teradata的巨量資料對策:Aster Data 用結合SQL和MapReduce平臺處理
專注在OLAP領域的資料倉儲廠商Teradata,一直以來都是以MPP(Massive Parallel Processing)技術分析結構性資料,但巨量資料中混合存在的結構與非結構資料,使得資料的管理分析困難度便高,難以用原先的技術進行分析。
為了藉由第三方工具協助,他們在去年12月買下行銷軟體公司Aprimo,用來分析及管理來自網站、客服中心、郵寄廣告或社交網路等不同管道的資料,強化行銷業務領域的分析能力,又在今年買下了Aster Data強化分析非結構性資料的能力。
面對巨量資料中的非結構性資料,由於Teradata的資料庫引擎仍沒有處理非結構性資料的能力,在Teradata買下Aster Data以後,資料處理的架構則是將結構性資料與非結構性資料先儲存在Aster Data的平臺上,再藉由Aster Data來支援關連性資料庫SQL語法,以及可處理非結構性資料的MapReduce函式庫,將非結構性資料中可利用的訊息,轉變成結構性資料,進一步分析並建立資料模組,再交由Teradata資料倉儲系統進行關聯式分析。
Teradata大中華區專業服務副總經理張錦滄表示,目前Aster Data已預先提供了80個分析模組,針對多種資料源,包括圖形檔、臉書上的文字和感應器收集來的資料,企業不需要自行開發全部的分析模組。
同時,該平臺也與Teradata資料庫完成初步整合,藉由開放API,Teradata資料庫可直接用SQL指令呼叫Aster Data平臺分析所產生的資料集(Dataset),並進行分析;在Aster Data平臺上也可取出Teradata資料庫的資料進行分析整合。
另外在資料處理的效能強化上,Teradata也在今年4月底推出全新Active EDW 6 系列的SSD與硬碟混合型的資料倉儲來提高資料處理的速度,解決巨量資料需要更即時反應查詢。
這種混合型的資料倉儲系統,主要是藉由Teradata的虛擬存儲軟體(TVS)依照企業內部資料使用的頻率來自動分配,讓較常用的的資料置於SSD中處理,較少用的資料則放在一般硬碟中處理,讓平常越常使用資料,能獲得更快的資料處理效能。
Active EDW 6680搭配300GB到600GB的硬碟,加上300GB的SSD,資料量可從7TB擴充到36PB。Active EDW 6650則是搭配300GB到450GB的硬碟,企業可自行選擇是否升級到SSD,資料量可從7.5TB擴充到92PB。文⊙辜雅蕾IBM的巨量資料對策:InfoSphere Big Insights 以多層次架構分析巨量非結構資料
面對巨量資料,IBM是以去年併購的資料倉儲廠商Netezza的資料倉儲產品TwinFin應戰。IBM軟體事業處資訊工程顧問莊惟欽表示,專責OLAP的資料倉儲與專責OLTP的資料庫,其應用與強項各有不同,但近年來,單純記錄交易資料已經無法區隔出企業的競爭力,因此,資料倉儲就成為企業發揮獨特優勢的工具。
IBM針對巨量資料共有3種產品線,第一種是針對傳統關聯性有結構的資料,像是企業內部一般的ERP、CRM、採購等所產生的資料,第二種則是非傳統、非關聯的資料源,比如智能電網、股票交易等,都是在短時間內產生大量數據的系統,其中也包含了影像。第三種則是巨量資料,這種資料來源通常是非結構性以及半結構性,資料的格式也很多元,像是個人部落格、文件檔案等。
在資料處理的架構上,第一種資料則是藉由資料庫或是資料倉儲系統處理。第二種資料則是會藉由InfoSphere Streams處理感應器接收的資料,並不以儲存為目的,而是要快速回應,盡快提供分析結果。第三種資料,則是透過InfoSphere Big Insights平臺當作搜尋引擎,搜尋分析時所需要的文本資料。
InfoSphere Big Insights平臺可作為資料的存放空間,運用Hadoop中MapReduce的技術,搜尋存放在該平臺內部的檔案資料,但該平臺僅能進行簡單分析,例如文字敘述中的偏好等,企業若要進一步與歷史資料比對交叉分析的話,還是要靠底層資料庫架構將資料轉換成資料庫格式,再放到資料倉儲中運算。莊惟欽表示,MapReduce可以搜尋影音、文件、語音等檔案,但是在應用上,仍還是以文件為主。
TwinFin為了快速回應查詢,搭配了FPGA硬體分析伺服器,來負責大量資料解壓縮、欄位縮減過濾等動作,如同在硬碟與主機資料庫中加裝了加速卡,解決巨量資料從磁碟取出放入主機伺服器記憶體中分析的效能瓶頸,也讓資料存取的速度變快。
另外,莊維欽還強調TwinFin可將進階分析軟體如SAS、SPSS直接內建在資料倉儲的系統中,並支援平行處理進階分析軟體。文⊙辜雅蕾Oracle的巨量資料對策:Exadata v2 用儲存層工具過濾資料減少存取瓶頸
甲骨文Exadata v2是整合了昇陽的硬體與甲骨文資料庫的資料倉儲系統。Exadata v2的特色是在儲存層就安裝了可過濾資料的儲存伺服器軟體(Oracle Exadata Storage Server Software),讓儲存伺服器可以先處理部分資料,壓縮後傳給資料庫伺服器,減少往來傳輸的資料量,降低處理器的負擔。另外,壓縮技術使得系統可儲存的資料量更大,加上以快閃記憶體做為快取(cache),提高了系統的效能。
甲骨文大中華區臺灣技術諮詢部資深諮詢經理黃久安表示,不同於其他資料倉儲是將全部的資料都傳到資料庫引擎中運算,甲骨文的資料倉儲系統的特色就是在儲存系統中加裝了可過濾資料的儲存伺服器軟體,而這套軟體最大的功能就是過濾資料欄位,減少資料存取時的瓶頸。
簡單來說,就是Exadata v2運用儲存系統上的軟體先過濾出部分資料,產生一部份的資料超市(Data Mart)後,資料庫引擎就只需要進行統合的工作,也大大減少了資料庫主機伺服器的工作。
另外,藉由Exadata v2採用自家資料庫軟體來處理半結構性資料或是非結構性資料,直接利用甲骨文資料庫中的XML DB產品,把文件檔案當作一種XML網頁的格式,只要在文件內容貼上索引用的標籤,資料庫就可以全文檢索,並能傳到資料庫進行分析。黃久安表示,傳統資料庫軟體比起原本資料倉儲系統更擅長處理半結構性資料,不需要多層次處理。
不過,若要處理的資料來源是企業外部的資料,就得利用甲骨文的企業搜尋軟體Secure Enterprise Search來進行搜尋。但只要是企業想分析的資料都得放進資料倉儲的儲存空間中,才能進行分析,成本難免增加。
黃久安表示,目前臺灣已有4家企業採用Exadata資料倉儲系統,其中一家高科技製造業已經上線,而他認為,甲骨文的資料倉儲系統可同時執行OLTP與OLAP,當巨大資料不斷產生時,許多資料其實是混合型產生的,比較符合企業的實際狀況。
舉例來說,臺灣的高科技製造業導入Exadata資料倉儲系統,主要是用來分析生產線上的狀況,然而,生產線上的資訊大多屬於OLTP,快速運算之後,再經由OLAP分析處理,一旦發現任何問題,如良率下降時,就能立即停止線上的生產,再進行調整。文⊙辜雅蕾EMC的巨量資料對策:Greenplum Greenplum可同時支援兩種技術
資料倉儲軟體Greenplum去年被儲存大廠EMC併購,原先僅有軟體產品,併購後旋即推出軟硬體整合的機櫃式產品,其中的DCA-1000,每個全櫃機櫃內含2臺主機伺服器,16個節點,搭配壓縮技術可達144TB的容量,最大可擴充到24個機櫃。同時,資料計價方式也從過去按照使用人數計算軟體授權費用,改由以資料倉儲系統中的資料量計費。
EMC業務協理楊傑儂表示,Greenplum最大的優勢在於它是一個可以同時支援SQL跟MapReduce語法的資料庫引擎。因此,在處理非結構性資料時,Greenplum並不需要再另外建一個分析平臺,而是可以直接讀取存在企業內部儲存系統中的非結構資料,並進行分析。大量的非結構性資料無論儲存在企業的SAN架構或是NAS架構,Greenplum會將這些文件當作是外部資料表(External Table),利用在資料倉儲系統上開發的MapReduce程式分析這些資料表。楊傑儂表示,不過,僅需進一步利用的非結構性資料才儲存在資料倉儲系統中,計價時,也只計算這部分的資料量,能解決儲存非結構性資料成本高昂的問題。
為了強化系統效能,Greenplum採用MPP(Massive Parallel Processing)架構,由2臺Master主機,和最多可擴充到上千臺的Segment主機,中間以網路連接。Master主機負責建立用戶端的連接和管理、SQL的解析與形成執行計畫、分發Segment執行計畫與收集結果等工作。資料的儲存、存取和SQL查詢的執行則由各個Segment負責。每個Segment都使用一般PC等級伺服器,上面會搭載Greenplum的資料庫軟體,各自擁有獨立的儲存硬碟、記憶體、CPU等。當執行查詢工作時,則是切分給各個Segment去執行,提高效能。
楊傑儂認為,隨著企業有越來越多分析需求,資料查詢的工作越來越複雜,資料存取的速度就很重要。因此,Greenplum將用來選擇、萃取資料的ETL(Extract-Transform-Load)伺服器獨立出來,連接內部網路,這個ETL伺服器會自動將資料分散到讓每一個Segment來進行分析,加快資料存取的速度。文⊙辜雅蕾