• 沒有找到結果。

大數據與雲端運算技術概述

第二章 文獻探討

第四節 大數據與雲端運算技術概述

城市、社區與住宅受到新興互聯網科技、智慧環境和使用者驅動創新的影 響。物聯網(IoT)、傳感器和智慧設備網路、嵌入式系統,語義網、使用者和 民眾的互聯網、雲端運算及大數據分析的科技趨勢,產生一種新型的城市空間 智慧,即嵌入式空間智慧。這種形式的智慧提高了以前僅僅基於 Web 科技(Web

2.0、社群媒體、群眾外包平台)的城市資訊和知識能力,並開啟了城市、社區 與住宅創新和電子化服務新的循環。

集體智慧和社群媒體是城市空間智慧能的主要驅動因素。他們提供了用來 組織市民參與創建和使用協作空間、群眾外包平台、混搭,以及其他線上參與 方式等適當科技層次的資訊。現在,轉向智慧環境和嵌入式系統提供了一種新 型的城市、社區與住宅空間智慧-嵌入式空間智慧-這有賴於傳感器、即時資 訊和隨著城市功能產生的海量數據(千兆等級以上)。[8]

所謂大數據(Big Data)是指無法在一定時間內用一般軟體工具對其內容進 行抓取、管理和處理的數據集合。隨著世界各國資訊通信建設的深入,許多政 府部門和企業積累了海量的數據資源,迫切需要利用大數據技術對這些數據資 源進行處理、分析和挖掘,提高政府行政管理和公共服務水準,以及企業的生 產經營管理效率,使海量的數據資源轉化為巨大的社會財富。

一、大數據技術概述

1.歷史背景

大數據概念最早是由美國 EMC 公司於 2011 年 5 月提出的。2011 年 6 月,

由 EMC 贊助、IDC 編制的年度數字宇 宙研究報告《從混 沌中汲取價值》

(Extracting Value from Chaos)發布。根據 IDC 過去 5 年的研究發現,全球數 據量大約每兩年翻一番;2010 年,全球數據量跨入 ZB 時代,預計到 2020 年全 球數據量將達到 35ZB。2011 年 6 月底,IBM、麥肯錫等眾多機構相繼發布了大 數據相關的研究報告。大數據的計量單位如表 2-1 所示。[9]

表 2-1 大數據的計量單位

符號 名稱 容 量 容量說明

TB 太字節 1024 GB Twitter 每天產生 7 TB 的數據,是 60 年來紐約 時報單單詞量的 2 倍

PB 拍字節 1024 TB Google 每小時處理的數據約為 1PB

EB 艾字節 1024 PB 全中國每人 1 本 500 頁書的資訊量約為 1 EB ZB 澤字節 1024 EB 2011 年以前全人類的資訊量約為 1.2 ZB YB 堯字節 1024 ZB

資料來源:金江軍,《智慧城市:大數據、互聯網時代的城市治理》電子工業出版社, 北京,2016。

隨著全球資訊化的深入發展,世界各國的數據量急劇增長。據統計,全球 103-105 年內產生的數據量比以往 4 萬年產生的數據量還要多。2009 年,美國 離散型製造業的數據量達 996 PB (1PB≒106GB),政府部門的數據量達 848 PB,

傳媒產業的數據量達 715 PB,流程型製造業的數據量達 694 PB,銀產業的數據 量達 619 PB 可見各行各業數據量之大。

隨著電子商務、物聯網、社交網路等發展,新的數據源和數據採集技術不 斷出現,使數據類型不斷增多,各種非結構化的數據增加了大數據的複雜性,

使傳統數據庫技術無法對其進行高效的分析。在互聯網時代,數據的移動已成 為資訊系統最大的開銷。資訊系統需要從"數據圍著處理器轉"轉變為"處理器 圍著數據轉"。

麥肯錫認為,大數據在為商業和消費者創造價值方面具有巨大的發展潛 力。許多產業都可以利用大數據提高市場資源配置和協調能力,減少不必要的 浪費,促進新想法和新見解的產生。大數據技術的運用對各個產業都具有重要 意義,在某些產業將產生更大的收益。雖然許多產業都呈現出大數據增長的態 勢,但不同產業的數據量有所不同,數據產生和儲存的類型也有所區別。政 府、金融、電信、互聯網、航空等產業的數據量規模較大。這些產業比其他產 業更加具有通過大數據來創造價值的潛力。例如,金融、電信產業擁有大量使 用者,通過客戶細分和自動化算法可以從利用大數據中獲取非常大的收益。互 聯網公司收集了大量的使用者在線行為數據,必將通過大數據的使用而大幅獲 益。

2.大數據的特性

大數據不僅包含了海量數據,還包含複雜類型的數據。大數據包括交易和 交互數據集在內的所有數據集,其規模或複雜程度超出了常用技術按照合理的 成本和時限捕捉、管理及處理這些數據集的能力。大數據具有如下六大特徵 (如圖 2-5 所示):

圖 2-5 大數據的六大特徵 資料來源:本研究繪製

(1)數據容量(Volume)極大:各種設備產生的海量數據,其數據規模極為龐 大,遠大於目前互聯網上的資訊流量,PB 級別將是常態。

(2)數據差異化(Variety)程度大:各種設備、服務過程產生數據種類繁多,

在編碼方式、數據格式、應用特徵等多方面存在差異性,形成大量的異構 數據。

(3)處理速度(Velocity)快:涉及到感知、傳輸、決策、控制開放式循環的大 數據,對數據實時處理有著極高的要求。

(4)複雜度(Complexity)高:數據庫處理過持久儲存的數據不再適用於大數據 處理,需要有新的方法來滿足異構數據統一接入和實時數據處理的需求。

(5)時效性(Vitality)強:數據持續到達,並且只有在特定時間和空間中才有 意義,透過傳統數據庫查詢方式得到的"當前結果"很可能已經沒有價值。

(6)可視化(Visualization):以上各種數據特性,已經無法單從數據本身觀 察,必須藉由可視化將讓數據科學家尋求問題以及探索數據集新特性的一 種方式。

2.關鍵技術

管理和分析大數據的關鍵技術主要包括 Big Table、商業智慧、雲端運 算、Cassandra、數據倉庫、數據集市、分佈式系統、Dynamo、GFS、Hadoop、

速度 (Velocity) 差異化

(Variety)

時效性 (Vitality)

複雜度 (Complexity) 可視化

(Visualization)

容量 (Volume)

大數據

言、結構化數據、非結構化數據、半結構化數據、SQL、流處理、可視化技術 等。

從實際應用觀點而,大數據人才大致可以分為以下三個方向[10]:

(1) 偏重基建與架構的「大數據架構」:

 架構理論:關鍵字有高併發、高可用、平行運算、MapReduce、Spark 等。

 資料流程應用:關鍵字有 Flume、Fluentd、Kafka、ZMQ 等。

 儲存應用:關鍵字有 HDFS、Ceph 等。

 軟體應用:關鍵字有 Hive、HBase、Cassandra、PrestoDB 等。

 視覺化應用:關鍵字有 HightCharts、ECharts、D3、HTML5、CSS3 等。

以大數據架構專業人員而言,在上述架構理論層面、資料流程層面、儲存 層面、軟體應用層面等都需要比較深入的理解和實務應用。尤其是需要至少從 每個層面中挑選一個可以完全純熟應用的產品,然後組合成一個完整的應用情 境,在造訪強度、實作成本、功能應用層面都能滿足需求,這是一個合格的大 數據架構專業人員必須具備的最低要求。

(2) 偏重建模與分析的「大數據分析」

大數據分析的人才注重的是資料指標的建立,資料的統計,資料之間的聯 繫,資料的深度挖掘和機器學習,並利用探索性資料分析的方式得到更多的規 律、知識,或者對未來事物預測和預判的手段。以下是大數據分析關鍵技術:

 資料庫應用:關鍵字有 RDBMS、NoSQL、MySQL、Hive、Cassandra 等。

 資料加工:關鍵字有 ETL、Python 等。

 資料統計:關鍵字有統計、機率等。

 料分析:關鍵字有資料建模、資料採集、機器學習、迴歸分析、聚 類、分類、協同過濾等。

此外還有需具有專業領域的知識,才能針對專業領域的需求進行資料收集 及分析;畢竟各種產業甚至每家公司的業務形態都大有不同,只有對這些業務 形態和業務流程有了充分的理解,才能把資料分析做到融會貫通,正確建立模 型和解讀數據。

(3) 偏重應用與實作的「大數據開發」

大數據開發人才注重的是伺服器端開發、資料庫開發、呈現與視覺化、人 機互動等銜接資料載體、各層面的資料加工,以及使用者的功能實作。以下是 大數據開發研究的主要範疇:

 資料庫開發:關鍵字有 RDBMS、NoSQL、MySQL、Hive 等。

 資料流程工具開發:關鍵字有 Flume、Heka、Fluentd、Kafka、ZMQ 等。

 資料前端開發:關鍵字有 HightCharts、ECharts、JavaScript、D3、

HTML5、CSS3 等。

 資料獲取開發:關鍵字有爬蟲、分詞、自然語言學習、文字分類等。

以上三類中,大數據開發和大數據架構方向有很多技術關鍵字是重複的,

但重點不一樣。區別在於「應用」階段著重的是懂得這些這種技術能為大家提 供什麼功能,以及使用這種技術的優缺點,並擅長取捨;「開發」階段則注重 的是熟練掌握,快速實作。

3.大數據分析與雲端運算技術[9]

大數據分析技術與雲端運算技術有著內在的本質聯繫,概括來說,雲端運 算技術為大數據分析技術提供了基礎體系結構,主要關注儲存和計算資源的虛 擬化和分佈式計算架構。大數據分析技術是構建在雲端運算基礎體系結構之上 的應用層技術,是海量數據的高效分析處理算法與技術。更進一步地解釋是,

雲端運算技術相當於一個分佈式操作系統,將大量的硬體和軟體資源虛擬化之 後再進行分配使用,雲端運算思想的起源是麥卡錫在 20 世紀 60 年代提出的,

其核心理念是把計算能力作為一種像水和電一樣的公用事業提供給使用者。在 雲端運算應用領域目前領先的互聯網公司是 Amazon 公司,它為雲端運算提供 了商業化的標準,以及充滿活力的開源雲端平台 OpenStack。

OpenStack 開源雲平台主要由三部分組成,分別是 OpenStack 軟體、公有 雲與私有雲、工具與服務軟體。它之所以受到業界廣泛青睞,主要有 3 個方面 的原因:首先,OpenStack 的軟體開發週期短,數據儲存、查詢和分析速度 快,運行性能高,能快速部署應用;其次,OpenStack 的靈活性高,其外掛程 式架構允許多業內領導廠商提供專有程式,因此受到業界的廣泛支持,使

OpenStack 能與企業已有數據中心的許多組件協同工作;最後,OpenStack 遵 循開放原則,其開源社區可快速提供創新的產品和新功能。

縱觀大數據和雲端運算領域的發展歷程可以看出,目前的大數據分析技術 一直在向著近似於傳統數據庫體驗的方向發展。Hadoop 軟體架構使我們能夠 用普通機器建立能夠快速處理 TB 級數據的商業集群,從而降低了並行處理大 數據的技術和設備門檻。然而由於 MapReduce 技術的內在局限性和軟體開發複 雜性等原因,限制了 Hadoop 架構在大數據分析中的應用場景。因此不斷有各 項補充、替代技術推出,如 pig、Latin 和 Hive 分別是 Yahoo 和 Facebook 發起 的計畫。Pig 是一種編程語言,它可加載數據、表達轉換數據以及儲存最終結 果。Hive 是一種數據倉庫工具,可以把 Hadoop 下的原始結構化數據變成 Hive

縱觀大數據和雲端運算領域的發展歷程可以看出,目前的大數據分析技術 一直在向著近似於傳統數據庫體驗的方向發展。Hadoop 軟體架構使我們能夠 用普通機器建立能夠快速處理 TB 級數據的商業集群,從而降低了並行處理大 數據的技術和設備門檻。然而由於 MapReduce 技術的內在局限性和軟體開發複 雜性等原因,限制了 Hadoop 架構在大數據分析中的應用場景。因此不斷有各 項補充、替代技術推出,如 pig、Latin 和 Hive 分別是 Yahoo 和 Facebook 發起 的計畫。Pig 是一種編程語言,它可加載數據、表達轉換數據以及儲存最終結 果。Hive 是一種數據倉庫工具,可以把 Hadoop 下的原始結構化數據變成 Hive