迷思止步 - 系列五:沒有好工具,豈能抓住魔鬼細節?

正所謂魔鬼藏在細節裡,企業與對手捉對廝殺,箇中的決戰點,往往不在於你我都看得到的大地方,而是最容易被忽略、隱藏甚或淹沒的微小細節,所以現在大家一頭栽進海量資料 (Big Data) 熱潮,為的正是從一堆小細節中找出致勝線索!但若無好的工具,要從資料洪流中捕捉魔鬼,恐非易事。

不可諱言,人們熱衷談論海量資料時,腦海中所浮現之標的,有很大一部分,似乎都指向當前風起雲湧的社群媒體,因為它蘊藏了最為真實不虛的消費者意向,對於企業而言,若想了解需求的變更、以及群眾影響力,對口耳相傳的宣傳方式究竟有何影響,都可望藉由社群媒體得到解答。

有業者看準這個趨勢,開始推出「社群媒體用戶影響力衡量」服務,旨在讓這些流竄於社群網路的原始資料,轉化為客戶、品牌業者及合作夥伴的參考資訊,再據此擬定行動方案。一家取名自「影響力 (Clout)」諧音字的 Klout 公司,便是從事此類服務;它就好比一個能將「垃圾變黃金」的魔術師,可以把過去乏人聞問的資料,轉變為企業賴以決勝的利器。

時至今日,Klout 每天協助客戶深入瞭解數百TB資料,這些資料源自於 15 個領先業界的社群網路,包括知名的 Facebook、LinkedIn。其主要分析標的,涵蓋了社群網路上動輒逾十億則的龐大訊息,這些訊息係由上億人共同產生,他們包括了 Klout 成員,以及在社交網站上與成員來往的人,但不管是誰, Klout 都為這些人逐一建立索引,再以為基礎,演算各個成員在網路上的影響力,並以 1~100 分的級距來評定影響力的強弱。

綜上所述,Klout 所需分析的資料量,比起大多數企業的資料處理需求,無疑更加巨大;Klout 一方面需致力滿足客戶所要的資料分析深度,二方面又需符合草創的預算限制,左思右想,遂決定以開放原始碼 Apache Hadoop 作為基礎架構,針對大型資料集進行分散式處理,其間包含了用以儲存各個社交網路資料的獨立資料庫。另外,Klout 也採用自訂的 Web 服務,內含許多獨特的商業邏輯,藉此向資料庫擷取資料,再以混搭整合資料型式提供服務。

架構失當,海量資料難煉黃金

然而,維護 Hadoop 與自訂 Web 服務,不僅讓 Klout 團隊承受沈重作業負擔,且一陣忙亂之餘,也無法獲得預期成效。譬如,要從 Hadoop 存取詳細資訊,尚需搭配額外開發作業,而且資訊極為混亂,經常欠缺使用者所欲尋找的細節;此外,查詢處理時間長達數分鐘到數小時不等,效率明顯不佳。

抓不出細節,查詢處理時效又慢,實令 Klout 飽嚐苦果,因此下定決心更換基礎架構,只因開放原始碼工具集對於 BI 分析,效率實在過於低落,若無更佳選擇,即使海量資料在手亦難提煉黃金。幾經思考,其選擇以 Hive 技術建立資料倉儲,彙整由 Hadoop 代管之全部資料;同時導入 SQL Server 2012 企業版資料庫,將透過箇中 Analysis Services 功能進行多維度線上分析處理 (MOLAP)。Klout 高階主管透露,之所以選定 SQL Server 2012,無非是看重它與第三方軟體的絕佳相容性,很適合用來管理 Klout 的所有商業邏輯,保存細節並加速分析,確保滿足海量資料所需之查詢效能。

值得一提,SQL Server 2012 內含的 AlwaysOn 功能,亦使 Klout 受用無窮,以此輕鬆將資料庫複寫到次要系統,順勢實現資料高可用度的目標。

如今,這個植基於 SQL Server 2012 的 MOLAP 模型,每天負責分析多達 350 億列資料,查詢回應時間從不超過 10 秒,更使得 Klout 原本耗費在管理商務邏輯與資料連線的冗長時間,就此蒸發不見,輕而易舉讓深藏在 Hadoop 的資料細節,全都被曝露出來,終至將海量資料的潛力發揮到極致。

即使整個社會,亦可因 Big Data 得利

上述例子,相當發人深省。就好比一個人若只以裸眼直視海量資料,則不僅看得慢,也未必能端詳箇中玄機,但如果搭配高倍數顯微機,情況便將徹底改觀;任何亟欲洞燭機先、決勝千里的企業,是否需要部署強大工具,答案已顯而易見!

而 Big Data 的好處,不但適用於企業一己利益,對於整個社會國家、民眾福祉,亦可望發揮關鍵助力。例如美國 CBS 電視公司製作的「疑犯追蹤 (Person of Interest)」,雖不過是一齣影集,然其故事情節,絕對有可能發生在現實世界。

劇中一位深居簡出的億萬富豪,為政府開發一套可偵測「有計畫性或經謀略策劃的犯罪」之電腦,大至諸如 911 的恐怖攻擊,小到一般人的暴力犯罪,皆可加以掌握。富豪將情報分為「攸關 (Relevant)」、「非攸關 (Irrelevant)」兩大類,僅將前項資料呈報予有關當局,至於非攸關清單,原本必定於每晚刪除,然富豪後來體悟到,非攸關資料亦有助於制止犯罪活動,挽救無辜百姓的生命財產,於是他利用程式中的一個後門,取得「社會安全號碼」資訊,以此號碼來追蹤加害者與受害者。

緊接著,以富豪為首的團隊,屢屢在肇事者即將出手的千鈞一髮之際,及時遏止犯罪事故的發生。此一場景看似虛擬夢幻,惟只要援引 Klout 前例,採用諸如 Hadoop、Hive 及 SQL Server 2012 等海量資料處理暨分析技術,其實絕對有可能付諸實踐。