導航:首頁 > 數據分析 > 除了大數據維度還能談什麼

除了大數據維度還能談什麼

發布時間:2024-11-26 09:24:05

大數據可能是一場騙局

大數據可能是一場騙局
幾乎每天都能看到有人在談論大數據,讓人好生厭煩。什麼是大數據(Big Data) ? 簡單一點可以理解為超出傳統數據管理工具處理能力的大規模、復雜的數據集合。判斷是否數據大數據的范疇,要從三個維度來衡量:數據量(Volume)、處理速度( Velocity)以及數據種類(Variety)。

大數據(Big Data) 是 2012 年信息技術領域最時髦的詞彙。當然,跟所有曾經的時髦技術熱詞一樣,最後可能是一場騙局。為什麼?
大數據是個相對的概念,新瓶裝舊酒
有些人所說的大數據處理方式,不過是在既有的方案上包裝了一下,新瓶裝舊酒,只為趕時髦。今天的大數據可能到了明天算不上大數據。過去我們也曾經對「海量數據」望而生畏。但海量數據時代並沒有給多少企業帶來革命性的變化,在 MapRece 以及 Hadoop 出現之前,沒有多少企業能夠輕松的對數據進行大規模並行計算(奇怪的是,那時候沒有多少人提大數據)。而 NoSQL 的出現也為處理數據的方式帶來了更多可能性。我們突然發現,處理數據能力已經悄然增強。
大數據是機會,但不是所有人的機會
大數據的商業前景被過分誇大了。到目前來看,只有為數不多的企業真正擁有大數據,而且這些數據的管理、處理、分析並沒有帶來所謂空前大的挑戰。因為新的工具、新的計算方式已經已經具備處理這些數據的能力。
大數據是機會,但只是少數人的機會,更多是巨頭們的商業障眼法,比如 IBM 、Oracle、微軟,他們提倡甚至誇大大數據的目的還是為了向你兜售他們的工具,兜售他們的解決方案,確切的說,從你身上賺錢。更有甚者,居然是向你兜售硬體,這不完全是扯淡么? 大硬體還差不多。
中小型公司應該繞道走,別唯大佬們馬首是瞻,別總去湊熱鬧。你所需要的東西,通過開源社區就可以獲取到,參加各種大佬們口沫橫飛的會議還不如和工程師聊聊可以運用什麼工具來具體操練一下。適用好比什麼都重要。創業公司也應該繞著大數據走,這未必是個好方向。 大數據的確會有價值,但沒有那麼大
必須要承認從某些大數據中會挖掘出新的價值,但這個價值只是附加價值,沒有理由去誇大他,更沒有理由去無端的想像。你可以說這篇沙漠可能有金子,但並不是說沙漠中一定就能挖掘出金子。
從現在業界一些公司拿出來的所謂的大數據應用實例來看,依然只是在利用傳統意義上的數據價值,只是巧妙地把這筆帳記在了大數據上而已。一個電子商務網站說什麼地方的人買東西最瘋狂或是什麼型號手機最好賣,這會是大數據分析的結果,完全是扯淡嘛。難道數據倉庫系統分析出來的結果和這個大數據出來的結果會有不同么?
不算結束的結束語
大數據不會是什麼商業模式的變革,重視大數據,但沒必要抱著大數據的大腿,尤其是在業界對於數據還不夠重視的時候,就更別說大數據了。相信隨著時間的推移,大數據這個詞會和信息爆炸、網格計算、雲計算等逐漸被淡忘,當然,到時候可能出現新的時髦詞彙了。
沒有大數據,只有數據;沒有藍海,只有大海;沒有先知,只有忽悠。

② 注意力經濟數字經濟新媒體的四個維度

以下是關於注意力經濟、數字經濟和新媒體四個維度的解析:
1. 內容維度:
內容維度關注媒體傳播的信息本身,涵蓋文字、圖像、音頻、視頻等多種形式。在注意力經濟中,高質量的內容更能吸引用戶關注,從而提高用戶的留存率和參與度。
2. 平台維度:
平台維度涉及不同的數字媒體平台,如社交媒體、搜索引擎、新聞客戶端和短視頻平台等。每個平台都有其獨特的用戶群體和使用習慣。媒體需要針對這些平台特性來制定相應的傳播策略。
3. 商業模式維度:
商業模式維度指的是數字媒體的盈利方式和運作模式,包括廣告、付費訂閱、電商、內容付費等。一個有效的商業模式不僅能夠推動數字媒體的創新和發展,還能提升用戶體驗和價值。
4. 技術維度:
技術維度關注數字媒體運用的技術手段,如人工智慧、大數據、區塊鏈等。這些先進技術的應用為數字媒體提供了更高效、便捷和安全的服務,同時增強了媒體的創新能力和競爭力。

③ 利用大數據發展業務的五個維度

利用大數據發展業務的五個維度

對於大數據的前景,有53%的互聯網專家和觀察員相信,它將給社會的各個方面都帶來積極的影響。大數據可以增加社會透明度、可以更好地分析系統性能等等,因此它在未來價值巨大。
除了以上優點,大數據還能創造新的商業模式、產品和服務。讓我們來看看大數據的這些優點會給公司帶來怎樣的好處。以下是當今公司利用大數據發展業務的方法:
了解客戶
市場界的新規則是:市場人員可以影響公眾對品牌的看法,但不能完全控制公眾的交流內容。除了提供優秀的客戶體驗並精簡市場推廣活動,公司還需要靠大數據的支持來提供定製化的私人服務。
利用大數據,當市場人員與客戶進行交流時,就能發現哪些東西能影響客戶,並在諸多渠道之中選擇最佳市場方案。每天活躍在互聯網上的10億Facebook用戶和4億Twitter用戶,讓零售商看到了市場的巨大潛力。獲取社交平台數據並不是了解客戶行為的最終目的,市場人員還需要通過解讀關鍵字使用頻率趨勢,以及運用某些矩陣分析法來做進一步分析。現在亞馬遜能通過購買記錄、瀏覽記錄、購物車記錄等數據來預測其8900萬用戶的購買行為。
優化流程
大數據意味著大機遇。當員工可以利用數據時,員工的工作效率和公司的銷售業績都會顯著提升。在2012年,生產效率提升最明顯的是零售行業,升幅達49%,相應的零售總量提升至12億美元。
市場人員還可以通過實時商業情報系統和數據挖掘技術來優化流程。最近,保險行業誕生了估算個人風險的新模型。在澳大利亞富士施樂公司的支持下,保險行業現在能提供更快捷的私人服務,並更有效地與客戶交流。
創造機會
通過人口統計學市場分割,公司能快速找到目標客戶並提供相應產品。這樣的市場調查讓市場人員更了解客戶的興趣、需求、情感,從而更好地服務客戶。
拿微軟的市場調查來說,他們發現50%的年輕父親受到電子廣告的影響。如果市場人員的目標客戶群是男性,或許這項調查會很有幫助。市場人員不僅可以快速找到目標客戶群,還可以通過大數據分析來了解客戶需求,並提前增加相應產品的庫存量。
客戶關系管理(CRM)
這些年,客戶對申訴回復速度的期望越來越高。1/4的Facebook和Twitter用戶認為公司應該在1小時內回復社交平台上的申訴。市場人員可以開展客戶關系管理,在提供服務的時候獲取客戶的私人信息。而在詳細了解客戶之後,不論是發送定製廣告、郵件,還是利用實時分析相關產品進行推送,都是有效的商業營銷手段。
關於私人訂制客戶體驗,一項調查中87%的體驗反饋表明,抓取並共享有效的數據對評估投資回報率至關重要。
加強安全措施
公司一般需要信息技術專家來保護內部數據,但公司也可以選擇採用雲服務和雲分析技術來達到相同目的。阿米特·維塔爾(Amit Vital)是某大型IT公司的首席信息官,他說大數據分析可以幫助定製並校準安全工具。
像谷歌這樣的公司是不允許外人進入其數據中心的。公司將客戶的數據儲存在不同地方,這樣做在提供安全保障的同時,還能達到改善客戶體驗的目的。

以上是小編為大家分享的關於利用大數據發展業務的五個維度的相關內容,更多信息可以關注環球青藤分享更多干貨

④ 什麼是大數據,紅海,藍海,互聯網思維,o2o,眾籌

個人理解。大數據首先有兩個維度,一個是數量維度,一個是數據本內質屬性指標容維度。比如就拿淘寶分析消費者這個案例來舉例,首先這個消費信息夠大,至少他能分析一個消費者十年的消費數據,這是單個維度的指標,淘寶上有上億的消費者,同樣可以做到區域性分析。所以大數據至少要有這兩個維度。
紅海一般指的是某一個產品品類進入的競爭者太多了,已經達到了完全競爭的狀態,像手機行業,日化用品行業等等,紅海一般的特徵是,打價格戰。
藍海,一般是指目前進入這個行業的對手還很少,尚未達到完全競爭狀態。創業最喜歡的就是藍海!
互聯網思維說的有點廣,每個人都有不同的理解。但是本質上來講,就是互聯網解決了營銷,和消除中間商的傳統銷售模式。所以互聯網思維就是在這兩個方面把握住。
o2o有很多版本,通常的理解是線上和線下。本質上來講,o2o其實概念操作而已,但是現在創業不了解這些概念還真不好意思說你懂互聯網了。
眾籌其實就是多人用資金支持一個認為可以成功的項目,獲得非金錢而是項目中承諾的物質回報的一種創業模式。

⑤ 高並發,你真的理解透徹了嗎


高並發,幾乎是每個程序員都想擁有的經驗。原因很簡單:隨著流量變大,會遇到各種各樣的技術問題,比如介面響應超時、CPU load升高、GC頻繁、死鎖、大數據量存儲等等,這些問題能推動我們在技術深度上不斷精進。

在過往的面試中,如果候選人做過高並發的項目,我通常會讓對方談談對於高並發的理解,但是能系統性地回答好此問題的人並不多。

大概分成這樣幾類:

1、對數據化的指標沒有概念 :不清楚選擇什麼樣的指標來衡量高並發系統?分不清並發量和QPS,甚至不知道自己系統的總用戶量、活躍用戶量,平峰和高峰時的QPS和TPS等關鍵數據。

3、理解片面,把高並發設計等同於性能優化 :大談並發編程、多級緩存、非同步化、水平擴容,卻忽視高可用設計、服務治理和運維保障。

4、掌握大方案,卻忽視最基本的東西 :能講清楚垂直分層、水平分區、緩存等大思路,卻沒意識去分析數據結構是否合理,演算法是否高效,沒想過從最根本的IO和計算兩個維度去做細節優化。

這篇文章,我想結合自己的高並發項目經驗,系統性地總結下高並發需要掌握的知識和實踐思路,希望對你有所幫助。內容分成以下3個部分:


高並發意味著大流量,需要運用技術手段抵抗流量的沖擊,這些手段好比操作流量,能讓流量更平穩地被系統所處理,帶給用戶更好的體驗。

我們常見的高並發場景有:淘寶的雙11、春運時的搶票、微博大V的熱點新聞等。除了這些典型事情,每秒幾十萬請求的秒殺系統、每天千萬級的訂單系統、每天億級日活的信息流系統等,都可以歸為高並發。

很顯然,上面談到的高並發場景,並發量各不相同, 那到底多大並發才算高並發呢?

1、不能只看數字,要看具體的業務場景。不能說10W QPS的秒殺是高並發,而1W QPS的信息流就不是高並發。信息流場景涉及復雜的推薦模型和各種人工策略,它的業務邏輯可能比秒殺場景復雜10倍不止。因此,不在同一個維度,沒有任何比較意義。

2、業務都是從0到1做起來的,並發量和QPS只是參考指標,最重要的是:在業務量逐漸變成原來的10倍、100倍的過程中,你是否用到了高並發的處理方法去演進你的系統,從架構設計、編碼實現、甚至產品方案等維度去預防和解決高並發引起的問題?而不是一味的升級硬體、加機器做水平擴展。

此外,各個高並發場景的業務特點完全不同:有讀多寫少的信息流場景、有讀多寫多的交易場景, 那是否有通用的技術方案解決不同場景的高並發問題呢?

我覺得大的思路可以借鑒,別人的方案也可以參考,但是真正落地過程中,細節上還會有無數的坑。另外,由於軟硬體環境、技術棧、以及產品邏輯都沒法做到完全一致,這些都會導致同樣的業務場景,就算用相同的技術方案也會面臨不同的問題,這些坑還得一個個趟。

因此,這篇文章我會將重點放在基礎知識、通用思路、和我曾經實踐過的有效經驗上,希望讓你對高並發有更深的理解。


先搞清楚高並發系統設計的目標,在此基礎上再討論設計方案和實踐經驗才有意義和針對性。

高並發絕不意味著只追求高性能,這是很多人片面的理解。從宏觀角度看,高並發系統設計的目標有三個:高性能、高可用,以及高可擴展。

1、高性能:性能體現了系統的並行處理能力,在有限的硬體投入下,提高性能意味著節省成本。同時,性能也反映了用戶體驗,響應時間分別是100毫秒和1秒,給用戶的感受是完全不同的。

2、高可用:表示系統可以正常服務的時間。一個全年不停機、無故障;另一個隔三差五齣線上事故、宕機,用戶肯定選擇前者。另外,如果系統只能做到90%可用,也會大大拖累業務。

3、高擴展:表示系統的擴展能力,流量高峰時能否在短時間內完成擴容,更平穩地承接峰值流量,比如雙11活動、明星離婚等熱點事件。

這3個目標是需要通盤考慮的,因為它們互相關聯、甚至也會相互影響。

比如說:考慮系統的擴展能力,你會將服務設計成無狀態的,這種集群設計保證了高擴展性,其實也間接提升了系統的性能和可用性。

再比如說:為了保證可用性,通常會對服務介面進行超時設置,以防大量線程阻塞在慢請求上造成系統雪崩,那超時時間設置成多少合理呢?一般,我們會參考依賴服務的性能表現進行設置。

再從微觀角度來看,高性能、高可用和高擴展又有哪些具體的指標來衡量?為什麼會選擇這些指標呢?

2.2.1 性能指標

通過性能指標可以度量目前存在的性能問題,同時作為性能優化的評估依據。一般來說,會採用一段時間內的介面響應時間作為指標。

1、平均響應時間:最常用,但是缺陷很明顯,對於慢請求不敏感。比如1萬次請求,其中9900次是1ms,100次是100ms,則平均響應時間為1.99ms,雖然平均耗時僅增加了0.99ms,但是1%請求的響應時間已經增加了100倍。

2、TP90、TP99等分位值:將響應時間按照從小到大排序,TP90表示排在第90分位的響應時間, 分位值越大,對慢請求越敏感。

3、吞吐量:和響應時間呈反比,比如響應時間是1ms,則吞吐量為每秒1000次。

通常,設定性能目標時會兼顧吞吐量和響應時間,比如這樣表述:在每秒1萬次請求下,AVG控制在50ms以下,TP99控制在100ms以下。對於高並發系統,AVG和TP分位值必須同時要考慮。

另外,從用戶體驗角度來看,200毫秒被認為是第一個分界點,用戶感覺不到延遲,1秒是第二個分界點,用戶能感受到延遲,但是可以接受。

因此,對於一個 健康 的高並發系統,TP99應該控制在200毫秒以內,TP999或者TP9999應該控制在1秒以內。

2.2.2 可用性指標

高可用性是指系統具有較高的無故障運行能力,可用性 = 正常運行時間 / 系統總運行時間,一般使用幾個9來描述系統的可用性。

對於高並發系統來說,最基本的要求是:保證3個9或者4個9。原因很簡單,如果你只能做到2個9,意味著有1%的故障時間,像一些大公司每年動輒千億以上的GMV或者收入,1%就是10億級別的業務影響。

2.2.3 可擴展性指標

面對突發流量,不可能臨時改造架構,最快的方式就是增加機器來線性提高系統的處理能力。

對於業務集群或者基礎組件來說,擴展性 = 性能提升比例 / 機器增加比例,理想的擴展能力是:資源增加幾倍,性能提升幾倍。通常來說,擴展能力要維持在70%以上。

但是從高並發系統的整體架構角度來看,擴展的目標不僅僅是把服務設計成無狀態就行了,因為當流量增加10倍,業務服務可以快速擴容10倍,但是資料庫可能就成為了新的瓶頸。

像MySQL這種有狀態的存儲服務通常是擴展的技術難點,如果架構上沒提前做好規劃(垂直和水平拆分),就會涉及到大量數據的遷移。

因此,高擴展性需要考慮:服務集群、資料庫、緩存和消息隊列等中間件、負載均衡、帶寬、依賴的第三方等,當並發達到某一個量級後,上述每個因素都可能成為擴展的瓶頸點。

了解了高並發設計的3大目標後,再系統性總結下高並發的設計方案,會從以下兩部分展開:先總結下通用的設計方法,然後再圍繞高性能、高可用、高擴展分別給出具體的實踐方案。

通用的設計方法主要是從「縱向」和「橫向」兩個維度出發,俗稱高並發處理的兩板斧:縱向擴展和橫向擴展。

3.1.1 縱向擴展(scale-up)

它的目標是提升單機的處理能力,方案又包括:

1、提升單機的硬體性能:通過增加內存、 CPU核數、存儲容量、或者將磁碟 升級成SSD 等堆硬體的方式來提升。

2、提升單機的軟體性能:使用緩存減少IO次數,使用並發或者非同步的方式增加吞吐量。

3.1.2 橫向擴展(scale-out)

因為單機性能總會存在極限,所以最終還需要引入橫向擴展,通過集群部署以進一步提高並發處理能力,又包括以下2個方向:

1、做好分層架構:這是橫向擴展的提前,因為高並發系統往往業務復雜,通過分層處理可以簡化復雜問題,更容易做到橫向擴展。

上面這種圖是互聯網最常見的分層架構,當然真實的高並發系統架構會在此基礎上進一步完善。比如會做動靜分離並引入CDN,反向代理層可以是LVS+Nginx,Web層可以是統一的API網關,業務服務層可進一步按垂直業務做微服務化,存儲層可以是各種異構資料庫。

2、各層進行水平擴展:無狀態水平擴容,有狀態做分片路由。業務集群通常能設計成無狀態的,而資料庫和緩存往往是有狀態的,因此需要設計分區鍵做好存儲分片,當然也可以通過主從同步、讀寫分離的方案提升讀性能。

下面再結合我的個人經驗,針對高性能、高可用、高擴展3個方面,總結下可落地的實踐方案。

3.2.1 高性能的實踐方案

1、集群部署,通過負載均衡減輕單機壓力。

2、多級緩存,包括靜態數據使用CDN、本地緩存、分布式緩存等,以及對緩存場景中的熱點key、緩存穿透、緩存並發、數據一致性等問題的處理。

3、分庫分表和索引優化,以及藉助搜索引擎解決復雜查詢問題。

4、考慮NoSQL資料庫的使用,比如HBase、TiDB等,但是團隊必須熟悉這些組件,且有較強的運維能力。

5、非同步化,將次要流程通過多線程、MQ、甚至延時任務進行非同步處理。

6、限流,需要先考慮業務是否允許限流(比如秒殺場景是允許的),包括前端限流、Nginx接入層的限流、服務端的限流。

7、對流量進行 削峰填谷 ,通過 MQ承接流量。

8、並發處理,通過多線程將串列邏輯並行化。

9、預計算,比如搶紅包場景,可以提前計算好紅包金額緩存起來,發紅包時直接使用即可。

10、 緩存預熱 ,通過非同步 任務 提前 預熱數據到本地緩存或者分布式緩存中。

11、減少IO次數,比如資料庫和緩存的批量讀寫、RPC的批量介面支持、或者通過冗餘數據的方式幹掉RPC調用。

12、減少IO時的數據包大小,包括採用輕量級的通信協議、合適的數據結構、去掉介面中的多餘欄位、減少緩存key的大小、壓縮緩存value等。

13、程序邏輯優化,比如將大概率阻斷執行流程的判斷邏輯前置、For循環的計算邏輯優化,或者採用更高效的演算法。

14、各種池化技術的使用和池大小的設置,包括HTTP請求池、線程池(考慮CPU密集型還是IO密集型設置核心參數)、資料庫和Redis連接池等。

15、JVM優化,包括新生代和老年代的大小、GC演算法的選擇等,盡可能減少GC頻率和耗時。

16、鎖選擇,讀多寫少的場景用樂觀鎖,或者考慮通過分段鎖的方式減少鎖沖突。

上述方案無外乎從計算和 IO 兩個維度考慮所有可能的優化點,需要有配套的監控系統實時了解當前的性能表現,並支撐你進行性能瓶頸分析,然後再遵循二八原則,抓主要矛盾進行優化。

3.2.2 高可用的實踐方案

1、對等節點的故障轉移,Nginx和服務治理框架均支持一個節點失敗後訪問另一個節點。

2、非對等節點的故障轉移,通過心跳檢測並實施主備切換(比如redis的哨兵模式或者集群模式、MySQL的主從切換等)。

3、介面層面的超時設置、重試策略和冪等設計。

4、降級處理:保證核心服務,犧牲非核心服務,必要時進行熔斷;或者核心鏈路出問題時,有備選鏈路。

5、限流處理:對超過系統處理能力的請求直接拒絕或者返回錯誤碼。

6、MQ場景的消息可靠性保證,包括procer端的重試機制、broker側的持久化、consumer端的ack機制等。

7、灰度發布,能支持按機器維度進行小流量部署,觀察系統日誌和業務指標,等運行平穩後再推全量。

8、監控報警:全方位的監控體系,包括最基礎的CPU、內存、磁碟、網路的監控,以及Web伺服器、JVM、資料庫、各類中間件的監控和業務指標的監控。

9、災備演練:類似當前的「混沌工程」,對系統進行一些破壞性手段,觀察局部故障是否會引起可用性問題。

高可用的方案主要從冗餘、取捨、系統運維3個方向考慮,同時需要有配套的值班機制和故障處理流程,當出現線上問題時,可及時跟進處理。

3.2.3 高擴展的實踐方案

1、合理的分層架構:比如上面談到的互聯網最常見的分層架構,另外還能進一步按照數據訪問層、業務邏輯層對微服務做更細粒度的分層(但是需要評估性能,會存在網路多一跳的情況)。

2、存儲層的拆分:按照業務維度做垂直拆分、按照數據特徵維度進一步做水平拆分(分庫分表)。

3、業務層的拆分:最常見的是按照業務維度拆(比如電商場景的商品服務、訂單服務等),也可以按照核心介面和非核心介面拆,還可以按照請求源拆(比如To C和To B,APP和H5 )。


高並發確實是一個復雜且系統性的問題,由於篇幅有限,諸如分布式Trace、全鏈路壓測、柔性事務都是要考慮的技術點。另外,如果業務場景不同,高並發的落地方案也會存在差異,但是總體的設計思路和可借鑒的方案基本類似。

高並發設計同樣要秉承架構設計的3個原則:簡單、合適和演進。"過早的優化是萬惡之源",不能脫離業務的實際情況,更不要過度設計,合適的方案就是最完美的。

作者簡介:985碩士,前亞馬遜工程師,現大廠技術管理者。

⑥ 認知計算,人工智慧和大數據分析有何區別

你好·抄
大數據分析屬於認知計算的一個維度。與大數據相比,認知計算的范圍更廣、技術也更為先進。
認知計算和大數據分析有類似的技術,比如大量的數據、機器學習(MachineLearning)、行業模型等,大數據分析更多強調的是獲得洞察,通過這些洞察進行預測。此外,傳統的大數據分析會使用模型或者機器學習的方法,但更多的是靠專家提供。
對於認知計算而言,洞察和預測只是其中的一種。但是,認知計算更為強調人和機器之間自然的交互,這些維度都不是傳統的大數據分析所強調。
此外,認知計算目前成長很快的一個領域為深度學習(DeepLearning),它的學習方法與傳統方法不同,更多的是基於大量的數據通過自學的方式得到這樣的模型,而不需要很多的人為干預,這個從學習方法來講和大數據分析有很多不同的地方。
希望能夠幫助到你

⑦ 復雜與失控的現實 大數據平台的思考

復雜與失控的現實:大數據平台的思考
「在大數據行業幹了這么些年,我相信大家都有一種在泥潭中掙扎的感覺。要搞清楚到底有哪些數據、數據的結構、數據的來源、數據的意義、數據的上下文、數據的質量、數據可能有哪些局限性等等,都是非常麻煩的事情。在大多數情況下我們會發現數據的元數據缺失,數據的說明文檔不存在或者文檔有用的內容很少。為了某一個新任務要把數據搞清楚,我們可能需要咨詢很多不同的人,每個人對數據的說法都不完全一致,當所有相關方都溝通了幾次後,我們才大致把數據的概貌搞清楚。而這僅僅是完成了第一步,後面的數據處理、數據探索、特徵工程、分析建模、生產應用還有無數的迷宮的需要探索。
自然,面對這些問題,我們會想能不能有一個平台把數據以及數據利用的各個環節都有效管起來,讓我們可以很輕松的把數據的來龍去脈搞清楚,藉助各種強大的功能非常方便的讓我們把數據處理、數據探索、特徵工程、分析建模乃至生產應用都輕松的解決。總之,我們希望這個平台能把一切都管起來,把一切關於數據、項目和工程的信息都管起來。使用者只需要在這個平台上就能獲得關於數據的一切信息,並能夠獲得各種運用數據的能力。這可以說是數據平台的終極理想。
但是最近半年來,我對這個終極理想產生了比較大的疑惑,感覺追求這一目標可能是「理性的自負」。
復雜與失控的現實
復雜的大數據:
「首先,大數據本身就是極其復雜的,不僅在於規模、維度、類型,也在於其各種變化和各種不完美。而且大數據還在日復一日的變得更大、更復雜、更快,要把所有數據以及所有數據的所有方面全部都搞清楚,恐怕是非常困難的,很可能已經是人力不可及的事情。
可能必須得承認,我們對大數據的控制能力是有限的,大數據很大程度上對於人類來說就是失控的。很直接的一個例子就是「數據湖」,顯然「數據湖」失去了傳統資料庫和數據倉庫那種井井有條的規范美。「數據湖」基本上就是把所有可以收集到的數據堆放在一起,並沒有非常規范的管理。並不是人們不想管理,而是事實上是做不到的,只能向現實妥協。當然,這種妥協很大程度上是可能是自發的而不是自覺的。
可能很多人也認為「數據湖」只是一種過渡,我們還在等待更強大的數據管理和數據治理的技術、工具、平台和方法論的出現。但是,人的智力和精力終歸是有限的,如果我們期望能為所有數據都建立非常良好的文檔和譜系來進行管理,並且能夠得到及時的維護更新,需要投入的人力可能是無法承受的。而且如何保證這些管理的質量?只做形式審查是比較容易的,但是無法正真保證管理文檔的內容質量,但是實質審查實際上又是不可能做到的。因此,很可能我們根本沒有辦法對大數據建立起傳統意義中的管理體系。」
復雜的技術:
「其次,技術上的問題也是非常復雜的。技術問題的復雜性主要來自於各種技術本身的不完備性,任何技術都只能解決某一類型的問題。但是一個通用的數據平台,至少需要考慮能解決大部分的常見需求,這就意味著必須要將不同的技術整合到一起。多種技術的整合是非常考驗系統工程能力的,這是要過的第一關。
但更大困難在於技術的快速發展,新技術、新開源項目不斷涌現,既有技術和項目有些持續發展、不斷更新,有的逐步衰退。這種情況下,如何能夠保證平台本身在技術上能跟上時代是個非常困難的問題。一個系統的結構一旦確定,就會形成路徑依賴,隨著時間的推移,會變得越來越難以變動,越來越難以將新技術整合進來。
另外,即使技術本身不變化、功能不變化,但是處理的數據規模不同、質量不同、具體的資源規模和配置都會有很大的不同。處理大數據難點在於如何用有限的資源和能力來處理規模巨大的問題。同樣的處理邏輯,但是數據規模的不同,有效的處理方法可能就有很不同。而這是預設功能難以全面考慮清楚的。
綜上,大數據平檯面對的技術問題也是開放性的,或者說也是失控的,我們執著於技術和功能層面的大一統也很可能是「理性的自負」。
大數據平台設計哲學的重構
面對大數據,在數據和技術都失控的情況下,考慮如何強加對數據的控制和提高駕馭數據的能力都很可能是徒勞的。我們需要重新思考大數據平台的設計哲學,而不是在傳統大型軟體設計的哲學下做加強和修補。對於此, TalkingData首席數據科學家 張夏天 有一些思考。
擁抱不完美:
「首先,我們必須承認我們的無知和無能,放棄去構建一個全知全能的平台的理想。我們需要思考大數據平台要管什麼,更重要的是不管什麼。我們需要在該放手的地方就放手,我們需要接受甚至是擁抱某種程度的失控。我們很可能就沒有辦法把所有數據都非常好的管起來,只需要通過平台,新手就很容易把數據情況搞清楚。我們很可能也無法提供完全統一設計風格、交互邏輯的功能界面。我們必須容忍一定的混亂,從而擁抱無限的可能和變化。」
經驗與價值的沉澱:
「還是先從數據來看,了解數據最便捷的途徑就是找到最了解這個數據的人進行直接溝通。最了解數據的人可能是數據的生產者,也可能是數據的處理者,甚至是消費者。很多情況下完全搞清楚,可能需要與所有相關方都進行溝通後才比較清楚。平台的設計到底是要消除這種直接溝通,還是讓這種溝通更有效率呢?
因為全面文檔化是不現實的,那麼我們能夠考慮的是讓目前的方式效率更高。數據平台能夠承擔的一個功能是更有效的把數據的需求方和了解數據的人連接起來。原來我想找一個了解某個數據的人,都可能需要問好幾個人,而要了解清楚一個數據又可能需要找到好幾個人,這就需要不斷在線下反復的溝通。如果平台能夠告訴我哪些人對這些數據最了解,這就可以提升相當多的效率。
當一個人一位對某個數據最了解,而被人問了很多次問到很煩的時候,他可以把自己對這個數據的總結的文檔和FQA放到平台上。對這個數據關心的人也可以寫評論談自己對數據的理解和遇到的坑。當一個數據被使用的越多,那麼平台上就可以沉澱出越多關於這個數據的信息,包括最熟悉的人和各種對數據的描述和解讀,後來的使用者就越容易掌握這個數據。
我們可以想像,一個數據平台,經過一段時間的沉澱,有些數據的相關文檔會變得十分豐富,而有些數據根本無人問津。當我們不追求全面的控制後,最有價值的信息可能就自動涌現了。當然,當我們要使用一些鮮有人問津的數據時,就需要經歷一個比較痛苦的過程。但是只要平台能把這個過程積累到的經驗沉澱下來,就是有價值的。」
從標准化到社區化:
「利用大數據是需要探索精神的,大數據平台不應該是一條機械的流水線,把使用者變成一個個沒有聯系的隨時可以替換掉的零部件。因為我們不可能做成真正構建這樣有效率的流水線。同時,我們幾乎無法用一套客觀的量化指標來衡量對數據的利用效率,我們必須寄希望於人的主動精神。大數據平台的設計哲學應該以人為中心,尊重人的價值,激勵人的探索和創新精神,讓對數據有激情的人能夠涌現出來,產生更大的聲音,同時鼓勵和便利人與人之間的溝通,從而提高總體的效率。總之,平台設計思想應該從標准化轉為社區化。」
彈性與開放:
「從技術上來看,我們需要盡可能的適應各種不同的功能和性能需求以及未來可能出現的技術演進。為了解決這個問題,我們需要的不是一個結構復雜包羅萬象的技術架構,因為越復雜的系統就越脆弱,就越難以進化。 我們也不能綁定核心計算引擎就是Spark或者某幾種特定技術,否則這就不是一個能力全面的數據平台。
很多為自有業務設計的數據平台是可以考慮業務特性來進行特化的。但是我們作為企業服務的提供商,需要考慮的是足夠的通用性和靈活性。我們在技術架構的設計哲學上,不應該執著於提供多少強大的功能,而是應該專注於能夠提供多少可能性和可擴展性。我們永遠無法知道明天客戶會有什麼新需求,也無法知道會有什麼新技術出現。
因此在技術架構上,應該以容器技術為基礎,實現彈性的資源管理,和對技術和功能的開放支持能力。在容器技術的支持下,可以做到不同計算資源的即開即用即回收,可以支持資源的動態智能調整。當一個任務需要Spark時就創建Spark集群,需要TensorFlow就創建TensorFlow集群,任務完成就可以把資源及時回收,任務過程中根據資源使用情況和任務完成要求,動態的增加或者減少資源。
這種架構下,我們不是將各種技術能力整合封裝成各種固定功能提供給使用者將他們的工作傻瓜化,而是向使用者賦能為其開放各種技術能力以及資源能力去創造無限的可能性。這種架構下很難提供統一的界面設計風格、交互邏輯,很多工作也需要使用者開發完成。因為我們無法做到對所有的技術進行統一風格的封裝,而是把所有的技術直接暴露給了使用者,使用者必須自己使用這些技術來解決問題。當然這並不是說我們不需要做產品設計,只是產品設計的出發點不是創造一套獨立完美的體系,而是應該著力於讓使用者更容易的將不同的技術方便的組織起來,同時減少在不同技術之間切換的麻煩。
同時,技術架構也需要考慮不同模塊之間如何組織的問題,這個問題遵循服務化的思路應該是已經形成共識,這里就不再過多展開。只是個人覺得在推行服務化之前,我們需要把服務介面的標准、服務匯流排的技術定下來。有好的服務基礎架構,新增、替換、升級不同的模塊就變得相對容易。從需求角度確定的功能和模塊不可能是百分之百正確的,後續一定會面臨著重構和調整的問題。只有做好面對一切變化的准備,才能更好的面對各種不確定性。」
適應而不是約束:
「最後,我想談談關於方法論的問題。產品設計方法論先行是對的,但是我們要深入思考什麼才是有效的方法論。關於數據挖掘的方法論已經存在十幾年了(CRISP-DM),老實說我們在思考的數據科學的方法論並不會有本質性的改變。但我對這些方法論的感覺就是「如何把大象放進冰箱」,或者5步畫馬法。原則上都對,但是對實際工作的指導意義非常有限,因為魔鬼都在細節中。
其實面對大數據,不僅我們對數據和技術是失控的,實際上我們如何處理、應用數據的過程在很大程度上也是失控的。整個過程就像在走迷宮,工作步驟分形似的不斷展開。任何大的指導原則對於具體工作的指導意義就變得極為有限。
正因為如此,產品設計應該考慮的是如何適應這種Ad-hoc的工作狀態,而不是用一套流程把使用者束縛起來。我們可以提供一些機制便於使用者來梳理手頭的工作,但是盡可能不要去強制使用者遵守某種約束性很強的標准或者規范。為什麼像NoteBook這樣設計如此簡單的工具能夠流行起來,很重要的一點就是給使用者足夠自由的工作界面來做任何想做的事情,而且即寫即得,便於隨時修改策略,同時文檔可以根據需要隨時插在代碼之中。正是這種無結構的扁平性,使得用戶可以按照最合適的路徑去完成自己的工作,而不是在被設計好的過程中掙扎。」
總結
「寫了這么多,其實核心想說的就是我們必須警惕「理性的自負」。我們首先必須承認理性的力量是有限的,我們不是無所不能的。面對著數據失控、技術失控和需求失控的問題,我們到底是要想盡一切辦法去控制,還是順應、包容甚至是欣賞這些失控。這是在我們智能數據平台研發道路的起點上需要思考的問題。」

閱讀全文

與除了大數據維度還能談什麼相關的資料

熱點內容
如何實現大數據面前人人平等 瀏覽:300
安卓發送文件到蘋果電腦 瀏覽:376
海投網app怎麼注銷 瀏覽:404
爐石新版本勇闖安戈洛 瀏覽:172
UG編程I5D2哪裡設置 瀏覽:442
博越pro2021車機怎麼安裝app 瀏覽:793
完整ime文件夾 瀏覽:817
下載的數據一般在c盤哪裡 瀏覽:1
蘋果xs刷完機手機里文件還保留嗎 瀏覽:919
360殺毒後全部文件夾 瀏覽:74
游戲策劃與編程哪個好 瀏覽:224
網路對話技巧 瀏覽:163
java四捨五入方法 瀏覽:266
win10桌面文件卸載不了 瀏覽:195
excel獲取vba密碼 瀏覽:691
linuxhttp文件 瀏覽:95
什麼是趣味編程課 瀏覽:817
硬碟數據線是什麼樣子的 瀏覽:965
自學大數據需要什麼條件 瀏覽:848
數控編程需要從事什麼 瀏覽:929

友情鏈接