1. 程式人生 > >雲端計算 大資料 人工智慧 三者之間關係

雲端計算 大資料 人工智慧 三者之間關係

導讀

本文作者憑藉其天馬行空的腦回路,用最深入淺出,清晰化的文字邏輯,講明白了雲端計算、大資料和人工智慧三者之間的關係。故事裡面三個角色:兼具經濟效益與情懷的雲端計算;努力資訊變為智慧的大資料;模擬人類大腦工作方式,學會推理的人工智慧。三個從出身開始就註定“量子糾纏”的夥伴,他們之間相親相愛,相輔相成的跌宕故事,獻給非專業技術背景,但是需要了解行業的你。


來源:劉超的通俗雲端計算(popsuper1982) 劉超,《Lucene應用開發揭祕》作者

今天跟大家講講雲端計算、大資料和人工智慧。這三個詞現在非常火,並且它們之間好像互相有關係。

一般談雲端計算的時候會提到大資料、談人工智慧的時候會提大資料、談人工智慧的時候會提雲端計算……感覺三者之間相輔相成又不可分割。

但如果是非技術的人員,就可能比較難理解這三者之間的相互關係,所以有必要解釋一下。

雲端計算最初的目標

我們首先來說雲端計算。雲端計算最初的目標是對資源的管理,管理的主要是計算資源、網路資源、儲存資源三個方面。

管資料中心就像配電腦

什麼叫計算、網路、儲存資源?

比如你要買檯筆記本電腦,是不是要關心這臺電腦是什麼樣的 CPU?多大的記憶體?這兩個就被我們稱為計算資源。

這臺電腦要上網,就需要有個可以插網線的網口,或者有可以連線我們家路由器的無線網絡卡。

您家也需要到運營商比如聯通、移動或者電信開通一個網路,比如 100M 的頻寬。然後會有師傅弄一根網線到您家來,師傅可能會幫您將您的路由器和他們公司的網路連線配置好。

這樣您家的所有的電腦、手機、平板就都可以通過您的路由器上網了。這就是網路資源。

您可能還會問硬碟多大?過去的硬碟都很小,大小如 10G 之類的;後來即使 500G、1T、2T 的硬碟也不新鮮了。(1T 是 1000G),這就是儲存資源。

對於一臺電腦是這個樣子的,對於一個數據中心也是同樣的。想象你有一個非常非常大的機房,裡面堆了很多的伺服器,這些伺服器也是有 CPU、記憶體、硬碟的,也是通過類似路由器的裝置上網的。

這時的問題就是:運營資料中心的人是怎麼把這些裝置統一的管理起來的呢?

靈活就是想啥時要都有,想要多少都行

管理的目標就是要達到兩個方面的靈活性。具體哪兩個方面呢?

舉個例子來理解:比如有個人需要一臺很小的電腦,只有一個 CPU、1G 記憶體、10G 的硬碟、一兆的頻寬,你能給他嗎?

像這麼小規格的電腦,現在隨便一個膝上型電腦都比這個配置強了,家裡隨便拉一個寬頻都要 100M。然而如果去一個雲端計算的平臺上,他想要這個資源時,只要一點就有了。

這種情況下它就能達到兩個方面的靈活性:

  • 時間靈活性:想什麼時候要就什麼時候要,需要的時候一點就出來了。

  • 空間靈活性:想要多少就有多少。需要一個空間很小的電腦,可以滿足;需要一個特別大的空間例如雲盤,雲盤給每個人分配的空間動不動就很大很大,隨時上傳隨時有空間,永遠用不完,也是可以滿足的。

空間靈活性和時間靈活性,即我們常說的雲端計算的彈性。而解決這個彈性的問題,經歷了漫長時間的發展。

物理裝置不靈活

第一個階段是物理裝置時期。這個時期客戶需要一臺電腦,我們就買一臺放在資料中心裡。

物理裝置當然是越來越牛:

  • 例如伺服器,記憶體動不動就是百 G 記憶體。

  • 例如網路裝置,一個埠的頻寬就能有幾十 G 甚至上百 G。

  • 例如儲存,在資料中心至少是 PB 級別的(一個 P 是 1000 個 T,一個 T 是 1000 個 G)。

然而物理裝置不能做到很好的靈活性:

  • 首先是它缺乏時間靈活性。不能夠達到想什麼時候要就什麼時候要。比如買臺伺服器、買個電腦,都要有采購的時間。

    如果突然使用者告訴某個雲廠商,說想要開臺電腦,使用物理伺服器,當時去採購就很難。與供應商關係好的可能需要一個星期,與供應商關係一般的就可能需要採購一個月。

    使用者等了很久電腦才到位,這時使用者還要登入上去慢慢開始部署自己的應用。時間靈活性非常差。

  • 其次是它的空間靈活性也不行。例如上述的使用者需要一個很小很小的電腦,但現在哪還有這麼小型號的電腦?不能為了滿足使用者只要一個 G 的記憶體、80G 硬碟的,就去買一個這麼小的機器。

    但是如果買一個大的,又會因為電腦大,需要向用戶多收錢,可使用者需要用的只有那麼小一點,所以多付錢就很冤。

虛擬化靈活多了

有人就想辦法了。第一個辦法就是虛擬化。使用者不是隻要一個很小的電腦麼?

資料中心的物理裝置都很強大,我可以從物理的 CPU、記憶體、硬碟中虛擬出一小塊來給客戶,同時也可以虛擬出一小塊來給其他客戶。

每個客戶只能看到自己的那一小塊,但其實每個客戶用的是整個大的裝置上的一小塊。

虛擬化的技術使得不同客戶的電腦看起來是隔離的。也就是我看著好像這塊盤就是我的,你看著這塊盤就是你的,但實際情況可能我的這個 10G 和你的這個 10G 是落在同樣一個很大很大的儲存上。

而且如果事先物理裝置都準備好,虛擬化軟體虛擬出一個電腦是非常快的,基本上幾分鐘就能解決。所以在任何一個雲上要建立一臺電腦,一點幾分鐘就出來了,就是這個道理。

這樣空間靈活性和時間靈活性就基本解決了。

虛擬世界的賺錢與情懷

在虛擬化階段,最牛的公司是 VMware。它是實現虛擬化技術比較早的一家公司,可以實現計算、網路、儲存的虛擬化。

這家公司很牛,效能做得非常好,虛擬化軟體賣得也非常好,賺了好多的錢,後來讓 EMC(世界五百強,儲存廠商第一品牌)給收購了。

但這個世界上還是有很多有情懷的人的,尤其是程式設計師裡面。有情懷的人喜歡做什麼事情?開源。

這個世界上很多軟體都是有閉源就有開源,源就是原始碼。也就是說,某個軟體做的好,所有人都愛用,但這個軟體的程式碼被我封閉起來,只有我公司知道,其他人不知道。

如果其他人想用這個軟體,就要向我付錢,這就叫閉源。但世界上總有一些大牛看不慣錢都讓一家賺了去的情況。大牛們覺得,這個技術你會我也會;你能開發出來,我也能。

我開發出來就是不收錢,把程式碼拿出來分享給大家,全世界誰用都可以,所有的人都可以享受到好處,這個叫做開源。

比如最近的蒂姆·伯納斯·李就是個非常有情懷的人。2017 年,他因“發明全球資訊網、第一個瀏覽器和使全球資訊網得以擴充套件的基本協議和演算法”而獲得 2016 年度的圖靈獎。

圖靈獎就是計算機界的諾貝爾獎。然而他最令人敬佩的是,他將全球資訊網,也就是我們常見的 WWW 技術無償貢獻給全世界免費使用。

我們現在在網上的所有行為都應該感謝他的功勞,如果他將這個技術拿來收錢,應該和比爾蓋茨差不多有錢。

開源和閉源的例子有很多:例如在閉源的世界裡有 Windows,大家用 Windows 都得給微軟付錢;開源的世界裡面就出現了 Linux。

比爾蓋茨靠 Windows、Office 這些閉源的軟體賺了很多錢,稱為世界首富,就有大牛開發了另外一種作業系統 Linux。

很多人可能沒有聽說過 Linux,很多後臺的伺服器上跑的程式都是 Linux 上的,比如大家享受雙十一,無論是淘寶、京東、考拉……支撐雙十一搶購的系統都是跑在 Linux 上的。

再如有 Apple 就有安卓Apple 市值很高,但是蘋果系統的程式碼我們是看不到的,於是就有大牛寫了安卓手機作業系統。

所以大家可以看到幾乎所有的其他手機廠商,裡面都裝安卓系統。原因就是蘋果系統不開源,而安卓系統大家都可以用。

在虛擬化軟體也一樣,有了 VMware,這個軟體非常貴。那就有大牛寫了兩個開源的虛擬化軟體,一個叫做 Xen,一個叫做 KVM,如果不做技術的,可以不用管這兩個名字,但是後面還是會提到。

虛擬化的半自動和雲端計算的全自動

要說虛擬化軟體解決了靈活性問題,其實並不全對。因為虛擬化軟體一般建立一臺虛擬的電腦,是需要人工指定這臺虛擬電腦放在哪臺物理機上的。

這一過程可能還需要比較複雜的人工配置。所以使用 VMware 的虛擬化軟體,需要考一個很牛的證書,而能拿到這個證書的人,薪資是相當高,也可見其複雜程度。

所以僅僅憑虛擬化軟體所能管理的物理機的叢集規模都不是特別大,一般在十幾臺、幾十臺、最多百臺這麼一個規模。

這一方面會影響時間靈活性:雖然虛擬出一臺電腦的時間很短,但是隨著叢集規模的擴大,人工配置的過程越來越複雜,越來越耗時。

另一方面也影響空間靈活性:當用戶數量多時,這點叢集規模,還遠達不到想要多少要多少的程度,很可能這點資源很快就用完了,還得去採購。

所以隨著叢集的規模越來越大,基本都是千臺起步,動輒上萬臺、甚至幾十上百萬臺。如果去查一下 BAT,包括網易、谷歌、亞馬遜,伺服器數目都大的嚇人。

這麼多機器要靠人去選一個位置放這臺虛擬化的電腦並做相應的配置,幾乎是不可能的事情,還是需要機器去做這個事情。

人們發明了各種各樣的演算法來做這個事情,演算法的名字叫做排程(Scheduler)。

通俗一點說,就是有一個排程中心,幾千臺機器都在一個池子裡面,無論使用者需要多少 CPU、記憶體、硬碟的虛擬電腦,排程中心會自動在大池子裡面找一個能夠滿足使用者需求的地方,把虛擬電腦啟動起來做好配置,使用者就直接能用了。

這個階段我們稱為池化或者雲化。到了這個階段,才可以稱為雲端計算,在這之前都只能叫虛擬化。

雲端計算的私有與公有

雲端計算大致分兩種:一個是私有云,一個是公有云,還有人把私有云和公有云連線起來稱為混合雲,這裡暫且不說這個。

  • 私有云:把虛擬化和雲化的這套軟體部署在別人的資料中心裡面。使用私有云的使用者往往很有錢,自己買地建機房、自己買伺服器,然後讓雲廠商部署在自己這裡。

    VMware 後來除了虛擬化,也推出了雲端計算的產品,並且在私有云市場賺的盆滿鉢滿。

  • 公有云:把虛擬化和雲化軟體部署在雲廠商自己資料中心裡面的,使用者不需要很大的投入,只要註冊一個賬號,就能在一個網頁上點一下建立一臺虛擬電腦。

    例如 AWS 即亞馬遜的公有云;國內的阿里雲、騰訊雲、網易雲等。

亞馬遜為什麼要做公有云呢?我們知道亞馬遜原來是國外比較大的一個電商,它做電商時也肯定會遇到類似雙十一的場景:在某一個時刻大家都衝上來買東西。

當大家都衝上買東西時,就特別需要雲的時間靈活性和空間靈活性。因為它不能時刻準備好所有的資源,那樣太浪費了。但也不能什麼都不準備,看著雙十一這麼多使用者想買東西登不上去。

所以需要雙十一時,就建立一大批虛擬電腦來支撐電商應用,過了雙十一再把這些資源都釋放掉去幹別的。因此亞馬遜是需要一個雲平臺的。

然而商用的虛擬化軟體實在是太貴了,亞馬遜總不能把自己在電商賺的錢全部給了虛擬化廠商。

於是亞馬遜基於開源的虛擬化技術,如上所述的 Xen 或者 KVM,開發了一套自己的雲化軟體。沒想到亞馬遜後來電商越做越牛,雲平臺也越做越牛。

由於它的雲平臺需要支撐自己的電商應用;而傳統的雲端計算廠商多為 IT 廠商出身,幾乎沒有自己的應用,所以亞馬遜的雲平臺對應用更加友好,迅速發展成為雲端計算的第一品牌,賺了很多錢。

在亞馬遜公佈其雲端計算平臺財報之前,人們都猜測,亞馬遜電商賺錢,雲也賺錢嗎?後來一公佈財報,發現不是一般的賺錢。僅僅去年,亞馬遜 AWS 年營收達 122 億美元,運營利潤 31 億美元。

雲端計算的賺錢與情懷

公有云的第一名亞馬遜過得很爽,第二名 Rackspace 過得就一般了。沒辦法,這就是網際網路行業的殘酷性,多是贏者通吃的模式。所以第二名如果不是雲端計算行業的,很多人可能都沒聽過了。

第二名就想,我幹不過老大怎麼辦呢?開源吧。如上所述,亞馬遜雖然使用了開源的虛擬化技術,但云化的程式碼是閉源的。

很多想做又做不了雲化平臺的公司,只能眼巴巴的看著亞馬遜掙大錢。Rackspace 把原始碼一公開,整個行業就可以一起把這個平臺越做越好,兄弟們大家一起上,和老大拼了。

於是 Rackspace 和美國航空航天局合作創辦了開源軟體 OpenStack,如上圖所示 OpenStack 的架構圖,不是雲端計算行業的不用弄懂這個圖。

但能夠看到三個關鍵字:Compute 計算、Networking 網路、Storage 儲存。還是一個計算、網路、儲存的雲化管理平臺。

當然第二名的技術也是非常棒的,有了 OpenStack 之後,果真像 Rackspace 想的一樣,所有想做雲的大企業都瘋了,你能想象到的所有如雷貫耳的大型 IT 企業:IBM、惠普、戴爾、華為、聯想等都瘋了。

原來雲平臺大家都想做,看著亞馬遜和 VMware 賺了這麼多錢,眼巴巴看著沒辦法,想自己做一個好像難度還挺大。

現在好了,有了這樣一個開源的雲平臺 OpenStack,所有的 IT 廠商都加入到這個社群中來,對這個雲平臺進行貢獻,包裝成自己的產品,連同自己的硬體裝置一起賣。

有的做了私有云,有的做了公有云,OpenStack 已經成為開源雲平臺的事實標準。

IaaS,資源層面的靈活性

隨著 OpenStack 的技術越來越成熟,可以管理的規模也越來越大,並且可以有多個 OpenStack 叢集部署多套。

比如北京部署一套、杭州部署兩套、廣州部署一套,然後進行統一的管理。這樣整個規模就更大了。

在這個規模下,對於普通使用者的感知來講,基本能夠做到想什麼時候要就什麼時候要,想要多少就要多少。

還是拿雲盤舉例子,每個使用者雲盤都分配了 5T 甚至更大的空間,如果有 1 億人,那加起來空間多大啊。

其實背後的機制是這樣的:分配你的空間,你可能只用了其中很少一點,比如說它分配給你了 5 個 T,這麼大的空間僅僅是你看到的,而不是真的就給你了。

你其實只用了 50 個 G,則真實給你的就是 50 個 G,隨著你檔案的不斷上傳,分給你的空間會越來越多。

當大家都上傳,雲平臺發現快滿了的時候(例如用了 70%),會採購更多的伺服器,擴充背後的資源,這個對使用者是透明的、看不到的。

從感覺上來講,就實現了雲端計算的彈性。其實有點像銀行,給儲戶的感覺是什麼時候取錢都有,只要不同時擠兌,銀行就不會垮。

總結

到了這個階段,雲端計算基本上實現了時間靈活性和空間靈活性;實現了計算、網路、儲存資源的彈性。

計算、網路、儲存我們常稱為基礎設施 Infranstracture, 因而這個階段的彈性稱為資源層面的彈性。

管理資源的雲平臺,我們稱為基礎設施服務,也就是我們常聽到的 IaaS(Infranstracture As A Service)。

雲端計算不光管資源,也要管應用

有了 IaaS,實現了資源層面的彈性就夠了嗎?顯然不是,還有應用層面的彈性。

這裡舉個例子:比如說實現一個電商的應用,平時十臺機器就夠了,雙十一需要一百臺。你可能覺得很好辦啊,有了 IaaS,新建立九十臺機器就可以了啊。

但 90 臺機器創建出來是空的,電商應用並沒有放上去,只能讓公司的運維人員一臺一臺的弄,需要很長時間才能安裝好的。

雖然資源層面實現了彈性,但沒有應用層的彈性,依然靈活性是不夠的。有沒有方法解決這個問題呢?

人們在 IaaS 平臺之上又加了一層,用於管理資源以上的應用彈性的問題,這一層通常稱為 PaaS(Platform As A Service)。

這一層往往比較難理解,大致分兩部分:一部分筆者稱為“你自己的應用自動安裝”,一部分筆者稱為“通用的應用不用安裝”。

  • 自己的應用自動安裝:比如電商應用是你自己開發的,除了你自己,其他人是不知道怎麼安裝的。

    像電商應用,安裝時需要配置支付寶或者微信的賬號,才能使別人在你的電商上買東西時,付的錢是打到你的賬戶裡面的,除了你,誰也不知道。

    所以安裝的過程平臺幫不了忙,但能夠幫你做得自動化,你需要做一些工作,將自己的配置資訊融入到自動化的安裝過程中方可。

    比如上面的例子,雙十一新創建出來的 90 臺機器是空的,如果能夠提供一個工具,能夠自動在這新的 90 臺機器上將電商應用安裝好,就能夠實現應用層面的真正彈性。

    例如 Puppet、Chef、Ansible、Cloud Foundary 都可以幹這件事情,最新的容器技術 Docker 能更好的幹這件事情。

  • 通用的應用不用安裝:所謂通用的應用,一般指一些複雜性比較高,但大家都在用的,例如資料庫。幾乎所有的應用都會用資料庫,但資料庫軟體是標準的,雖然安裝和維護比較複雜,但無論誰安裝都是一樣。

    這樣的應用可以變成標準的 PaaS 層的應用放在雲平臺的介面上。當用戶需要一個數據庫時,一點就出來了,使用者就可以直接用了。

    有人問,既然誰安裝都一個樣,那我自己來好了,不需要花錢在雲平臺上買。當然不是,資料庫是一個非常難的東西,光 Oracle 這家公司,靠資料庫就能賺這麼多錢。買 Oracle 也是要花很多錢的。

然而大多數雲平臺會提供 MySQL 這樣的開源資料庫,又是開源,錢不需要花這麼多了。

但維護這個資料庫,卻需要專門招一個很大的團隊,如果這個資料庫能夠優化到能夠支撐雙十一,也不是一年兩年能夠搞定的。

比如您是一個做單車的,當然沒必要招一個非常大的資料庫團隊來幹這件事情,成本太高了,應該交給雲平臺來做這件事情。

專業的事情專業的人來做,雲平臺專門養了幾百人維護這套系統,您只要專注於您的單車應用就可以了。

要麼是自動部署,要麼是不用部署,總的來說就是應用層你也要少操心,這就是 PaaS 層的重要作用。

雖說指令碼的方式能夠解決自己的應用的部署問題,然而不同的環境千差萬別,一個指令碼往往在一個環境上執行正確,到另一個環境就不正確了。

而容器是能更好地解決這個問題。

容器是 Container,Container 另一個意思是集裝箱,其實容器的思想就是要變成軟體交付的集裝箱。集裝箱的特點:一是封裝,二是標準

在沒有集裝箱的時代,假設將貨物從 A 運到 B,中間要經過三個碼頭、換三次船。

每次都要將貨物卸下船來,擺得七零八落,然後搬上船重新整齊擺好。因此在沒有集裝箱時,每次換船,船員們都要在岸上待幾天才能走。


有了集裝箱以後,所有的貨物都打包在一起了,並且集裝箱的尺寸全部一致,所以每次換船時,一個箱子整體搬過去就行了,小時級別就能完成,船員再也不用上岸長時間耽擱了。

這是集裝箱“封裝”、“標準”兩大特點在生活中的應用。

那麼容器如何對應用打包呢?還是要學習集裝箱。首先要有個封閉的環境,將貨物封裝起來,讓貨物之間互不干擾、互相隔離,這樣裝貨卸貨才方便。好在 Ubuntu 中的 LXC 技術早就能做到這一點。

封閉的環境主要使用了兩種技術:

  • 看起來是隔離的技術,稱為  Namespace,也即每個 Namespace 中的應用看到的是不同的 IP 地址、使用者空間、程號等。

  • 用起來是隔離的技術,稱為 Cgroups,也即明明整臺機器有很多的  CPU、記憶體,而一個應用只能用其中的一部分。

所謂的映象,就是將你焊好集裝箱的那一刻,將集裝箱的狀態儲存下來,就像孫悟空說:“定”,集裝箱裡面就定在了那一刻,然後將這一刻的狀態儲存成一系列檔案。

這些檔案的格式是標準的,誰看到這些檔案都能還原當時定住的那個時刻。將映象還原成執行時的過程(就是讀取映象檔案,還原那個時刻的過程),就是容器執行的過程。

有了容器,使得 PaaS 層對於使用者自身應用的自動部署變得快速而優雅。

大資料擁抱雲端計算

在 PaaS 層中一個複雜的通用應用就是大資料平臺。大資料是如何一步一步融入雲端計算的呢?

資料不大也包含智慧

一開始這個大資料並不大。原來才有多少資料?現在大家都去看電子書,上網看新聞了,在我們 80 後小時候,資訊量沒有那麼大,也就看看書、看看報,一個星期的報紙加起來才有多少字?

如果你不在一個大城市,一個普通的學校的圖書館加起來也沒幾個書架,是後來隨著資訊化的到來,資訊才會越來越多。

首先我們來看一下大資料裡面的資料,就分三種類型:

  • 結構化的資料:即有固定格式和有限長度的資料。例如填的表格就是結構化的資料,國籍:中華人民共和國,民族:漢,性別:男,這都叫結構化資料。

  • 非結構化的資料:現在非結構化的資料越來越多,就是不定長、無固定格式的資料,例如網頁,有時候非常長,有時候幾句話就沒了;例如語音,視訊都是非結構化的資料。

  • 半結構化資料:是一些 XML 或者 HTML 的格式的,不從事技術的可能不瞭解,但也沒有關係。

其實資料本身不是有用的,必須要經過一定的處理。例如你每天跑步帶個手環收集的也是資料,網上這麼多網頁也是資料,我們稱為 Data。

資料本身沒有什麼用處,但資料裡面包含一個很重要的東西,叫做資訊(Information)。

資料十分雜亂,經過梳理和清洗,才能夠稱為資訊。資訊會包含很多規律,我們需要從資訊中將規律總結出來,稱為知識(Knowledge),而知識改變命運。

資訊是很多的,但有人看到了資訊相當於白看,但有人就從資訊中看到了電商的未來,有人看到了直播的未來,所以人家就牛了。

如果你沒有從資訊中提取出知識,天天看朋友圈也只能在網際網路滾滾大潮中做個看客。

有了知識,然後利用這些知識去應用於實戰,有的人會做得非常好,這個東西叫做智慧(Intelligence)。

有知識並不一定有智慧,例如好多學者很有知識,已經發生的事情可以從各個角度分析得頭頭是道,但一到實幹就歇菜,並不能轉化成為智慧。

而很多的創業家之所以偉大,就是通過獲得的知識應用於實踐,最後做了很大的生意。

所以資料的應用分這四個步驟:資料、資訊、知識、智慧。

最終的階段是很多商家都想要的。你看我收集了這麼多的資料,能不能基於這些資料來幫我做下一步的決策,改善我的產品。

例如讓使用者看視訊的時候旁邊彈出廣告,正好是他想買的東西;再如讓使用者聽音樂時,另外推薦一些他非常想聽的其他音樂。

使用者在我的應用或者網站上隨便點點滑鼠,輸入文字對我來說都是資料,我就是要將其中某些東西提取出來、指導實踐、形成智慧,讓使用者陷入到我的應用裡面不可自拔,上了我的網就不想離開,手不停地點、不停地買。

很多人說雙十一我都想斷網了,我老婆在上面不斷地買買買,買了 A 又推薦 B,老婆大人說,“哎呀,B 也是我喜歡的啊,老公我要買”。

你說這個程式怎麼這麼牛,這麼有智慧,比我還了解我老婆,這件事情是怎麼做到的呢?

資料如何昇華為智慧

資料的處理分以下幾個步驟,完成了才最後會有智慧:

  • 資料收集

  • 資料傳輸

  • 資料儲存

  • 資料處理和分析

  • 資料檢索和挖掘

資料收集

首先得有資料,資料的收集有兩個方式:

  • 拿,專業點的說法叫抓取或者爬取。例如搜尋引擎就是這麼做的:它把網上的所有的資訊都下載到它的資料中心,然後你一搜才能搜出來。

    比如你去搜索的時候,結果會是一個列表,這個列表為什麼會在搜尋引擎的公司裡面?就是因為他把資料都拿下來了,但是你一點連結,點出來這個網站就不在搜尋引擎它們公司了。

    比如說新浪有個新聞,你拿百度搜出來,你不點的時候,那一頁在百度資料中心,一點出來的網頁就是在新浪的資料中心了。

  • 推送,有很多終端可以幫我收集資料。比如說小米手環,可以將你每天跑步的資料,心跳的資料,睡眠的資料都上傳到資料中心裡面。

資料傳輸

一般會通過佇列方式進行,因為資料量實在是太大了,資料必須經過處理才會有用。可系統處理不過來,只好排好隊,慢慢處理。

資料儲存

現在資料就是金錢,掌握了資料就相當於掌握了錢。要不然網站怎麼知道你想買什麼?

就是因為它有你歷史的交易資料,這個資訊可不能給別人,十分寶貴,所以需要儲存下來。

資料處理和分析

上面儲存的資料是原始資料,原始資料多是雜亂無章的,有很多垃圾資料在裡面,因而需要清洗和過濾,得到一些高質量的資料。

對於高質量的資料,就可以進行分析,從而對資料進行分類,或者發現數據之間的相互關係,得到知識。

比如盛傳的沃爾瑪超市的啤酒和尿布的故事,就是通過對人們的購買資料進行分析,發現了男人一般買尿布的時候,會同時購買啤酒。

這樣就發現了啤酒和尿布之間的相互關係,獲得知識,然後應用到實踐中,將啤酒和尿布的櫃檯弄的很近,就獲得了智慧。

資料檢索和挖掘

檢索就是搜尋,所謂外事不決問 Google,內事不決問百度。內外兩大搜索引擎都是將分析後的資料放入搜尋引擎,因此人們想尋找資訊的時候,一搜就有了。

另外就是挖掘,僅僅搜尋出來已經不能滿足人們的要求了,還需要從資訊中挖掘出相互的關係。

比如財經搜尋,當搜尋某個公司股票的時候,該公司的高管是不是也應該被挖掘出來呢?

如果僅僅搜尋出這個公司的股票發現漲的特別好,於是你就去買了,其時其高管發了一個宣告,對股票十分不利,第二天就跌了,這不坑害廣大股民麼?所以通過各種演算法挖掘資料中的關係,形成知識庫,十分重要

大資料時代,眾人拾柴火焰高

當資料量很小時,很少的幾臺機器就能解決。慢慢的,當資料量越來越大,最牛的伺服器都解決不了問題時,怎麼辦呢?

這時就要聚合多臺機器的力量,大家齊心協力一起把這個事搞定,眾人拾柴火焰高。

對於資料的收集:就 IoT 來講,外面部署著成千上萬的檢測裝置,將大量的溫度、溼度、監控、電力等資料統統收集上來;就網際網路網頁的搜尋引擎來講,需要將整個網際網路所有的網頁都下載下來。

這顯然一臺機器做不到,需要多臺機器組成網路爬蟲系統,每臺機器下載一部分,同時工作,才能在有限的時間內,將海量的網頁下載完畢。

對於資料的傳輸:一個記憶體裡面的佇列肯定會被大量的資料擠爆掉,於是就產生了基於硬碟的分散式佇列,這樣佇列可以多臺機器同時傳輸,隨你資料量多大,只要我的佇列足夠多,管道足夠粗,就能夠撐得住。

對於資料的儲存:一臺機器的檔案系統肯定是放不下的,所以需要一個很大的分散式檔案系統來做這件事情,把多臺機器的硬碟打成一塊大的檔案系統。

對於資料的分析:可能需要對大量的資料做分解、統計、彙總,一臺機器肯定搞不定,處理到猴年馬月也分析不完。

於是就有分散式計算的方法,將大量的資料分成小份,每臺機器處理一小份,多臺機器並行處理,很快就能算完。

例如著名的 Terasort 對 1 個 TB 的資料排序,相當於 1000G,如果單機處理,怎麼也要幾個小時,但並行處理 209 秒就完成了。

相關推薦

雲端計算 資料 人工智慧 三者之間關係

導讀本文作者憑藉其天馬行空的腦回路,用最深入淺出,清晰化的文字邏輯,講明白了雲端計算、大資料和人工智慧三者之間的關係。故事裡面三個角色:兼具經濟效益與情懷的雲端計算;努力把資訊變為智慧的大資料;模擬人類大腦工作方式,學會推理的人工智慧。三個從出身開始就註定“量子糾纏”的夥伴,

雲端計算-資料-人工智慧-區塊鏈-物聯網

hadoop ----------------     開源軟體,可靠的、分散式、可伸縮的 大資料 ----------------     去IOE -------------     IBM            //ibm小型機.     Oracle        

雲端計算&資料&人工智慧相關概念

雲端計算相關概念首先做雲端計算平臺的公司會買很多的物理機放在自己的資料中心中,再通過虛擬化的技術(如閉源的VMware,開源的Xen、KVM),將物理機分割成不同大小的資源(計算資源(CPU)、網路資源

【產業智慧官】 用新一代技術+商業作業系統(AI-CPS OS:雲端計算+資料+物聯網+區塊鏈+人工智慧),在場景中構建狀態感知-實時分析-自主決策-精準執行-學習提升的認知計算和機器智慧

產業智慧官 用新一代技術+商業作業系統(AI-CPS OS:雲端計算+大資料+物聯網+區塊鏈+人工智慧),在場景中構建狀態感知-實時分析-自主決策-精準執行-學習提升的認知計算和機器智慧...

新手小白如何學習雲端計算資料(必學乾貨整理

如今,大資料的發展趨勢正在迅速轉變,但專家預計機器學習、預測分析、物聯網、邊緣計算將在未來幾年對大資料專案產生重大影響。新手小白如何學習雲端計算大資料呢? 如今大資料已不再只是一個流行術語。調研機構Forrester公司的研究人員發現,在2016年,將近40%的企業正在實施和擴充套件大資料技術的

終於有人把雲端計算 資料和 AI 講明白了

                                                                                                    (點選上方公眾號,可快速關注)作者:劉超www.cnblogs.com/popsuper1982/p/8505

【本人禿頂程式設計師】淺談 Spring Boot、微服務架構和資料治理三者之間的故事

←←←←←←←←←←←← 我都禿頂了,還不點關注! 微服務架構 微服務的誕生並非偶然,它是在網際網路高速發展,技術日新月異的變化以及傳統架構無法適應快速變化等多重因素的推動下誕生的產物。網際網路時代的產品通常有兩類特點:需求變化快和使用者群體龐大,在這種情況下,如何從系統架構的角度出

雲端計算資料“一帶一路”國際合作論壇在京舉行

6月13日訊息,由中國電子學會主辦的雲端計算大資料“一帶一路”國際合作論壇在北京國家會議中心成功舉辦。中國科協國際聯絡部副部長王慶林出席會議並致辭。中國電子學會副理事長兼祕書長徐曉蘭主持開幕式。 中國科協國際聯絡部副部長王慶林致辭 中國電子學會副理事長兼祕書長 徐曉蘭 主持開幕式 中國、印度、新

一文讀懂 Spring Boot、微服務架構和資料治理三者之間的故事

微服務架構 微服務的誕生並非偶然,它是在網際網路高速發展,技術日新月異的變化以及傳統架構無法適應快速變化等多重因素的推動下誕生的產物。網際網路時代的產品通常有兩類特點:需求變化快和使用者群體龐大,在這種情況下,如何從系統架構的角度出發,構建靈活、易擴充套件的系統,快速應對需求的變化;同時,隨著使用者的增加,如

GIS+=地理資訊+雲端計算+資料+容器+物聯網+...

題記: 在我們學習openstack知識過程中,經常會部署幾臺物理伺服器,但是也有可能某些物理伺服器另作他用,也就是物理伺服器修改IP或者角色轉換,但是可能這些物理伺服器作為宿主機(計算節點)還包含

【似水流年 -- 韓欣的部落格】資料管理 儲存 雲端計算 資料

My Name is 韓欣 網名:似水流年 上海德拓資訊科技有限公司副總經理,負責公司技術體系,產品系統架構設計,在雲端儲存,資料管理,資料備份容災、虛擬化領域有些研究, 有幾年的開發設計經驗,經驗不足,歡迎和大家成為朋友,一起研究學習!

雲端計算資料類崗位部分常見面試問題總結

Hashing  適用範圍:快速查詢,刪除的基本資料結構,通常需要總資料量可以放入記憶體 基本原理及要點: hash函式選擇,針對字串,整數,排列,具體相應的hash方法。 碰撞處理,一種是open hashing,也稱為拉鍊法;另一種就是closed hashing,也稱開地址法,opened addre

雲端計算資料,挑戰年薪30W+,原地踏步的你還等什麼?

  馬雲曾說過:“一個員工離職就兩點。錢,沒給到位;心,委屈了。歸根結底就是一條,乾的不爽。”你是否在企業中也處在這樣悲催的境遇裡,待遇就那麼多,想升職怎麼努力都不行,想跳槽卻擔心自己能力不夠找不到更好的。天天敲程式碼,敲了一年又一年,年年就盼漲工資,工資不見漲,負責的模

一文透析 Spring Boot、微服務架構和資料治理三者之間的故事

微服務架構 微服務的誕生並非偶然,它是在網際網路高速發展,技術日新月異的變化以及傳統架構無法適應快速變化等多重因素的推動下誕生

人工智慧資料雲端計算資料探勘與機器學習概述

一、人工智慧、大資料、雲端計算:https://blog.csdn.net/zw0pi8g5c1x/article/details/80027593 二、資料探勘與機器學習:https://blog.csdn.net/xiaogss/article/details/79316063 資料探勘

資料+人工智慧

                                          &nb

資料人工智慧發展趨勢與前景

上週,南京大學開設了國內第一家人工智慧學院,機器學習大牛周志華領銜院長,可謂實至名歸。最近幾年,以大資料和人工智慧為代表的前沿資訊科技,備受各界關注,相關領域的風投和創新、創業高燒不退,學術界大牛們紛紛下海,大資料深度學習研究和應用也在逐步落地,就連國務院的支援政策也是一個接一個。還有Face

JAVA資料人工智慧

  什麼是大資料?大資料是通過對海量資料的篩選分析,將資料視覺化為直觀圖表,從茫茫資料中發現規律,從而對運營決策提供最有力的建議。     JAVA大資料工程師是做什麼的?★資料整理,通過資料庫資料,爬蟲等,對使用者資訊整理歸類,從茫茫資料中篩選出有效部分。★一般而言

prototype constructor __prpto__ 三者之間關係

// prototype constructor __prpto__ 即: 原型物件 建構函式 原型物件 // prototype 物件的屬性,指向其原型物件 // constructor 物件的屬性,指向其建構函式 // __prpto__ 物件的屬性 , 指向

看好雲端計算資料領域 外資投行重新審視中概科技股

11月29日訊息,@北京商報從度小滿金融人士處獲悉,百度正式拿到准許經營證券期貨的許可證。據許可證顯示,機構名稱為北京百度百盈科技有限公司(下稱“百度百盈”),證券期貨業務經營範圍為基金銷售。而今年8月22日,根據北京證監局官網顯示,證監局已核准百度百盈證券投資基金銷售業務資格。 企查查資訊顯示,百度百盈成