成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

剖析大數據平臺的數據源

企業動態
大數據平臺是一個整體的生態系統,內容涵蓋非常豐富,涉及到大數據處理過程的諸多技術。在這些技術中,除了一些最基礎的平臺框架之外,針對不同的需求場景,也有不同的技術選擇。

我在一次社區活動中做過一次分享,演講題目為《大數據平臺架構技術選型與場景運用》。在演講中,我主要分析了大數據平臺架構的生態環境,并主要以數據源、數據采集、數據存儲與數據處理四個方面展開分析與講解,并結合具體的技術選型與需求場景,給出了我個人對大數據平臺的理解。本文是演講內容的***部分。

大數據平臺是一個整體的生態系統,內容涵蓋非常豐富,涉及到大數據處理過程的諸多技術。在這些技術中,除了一些最基礎的平臺框架之外,針對不同的需求場景,也有不同的技術選擇。這其中,顯然有共性與差異性的特征。若從整個開發生命周期的角度看,無論是需求、架構,還是開發、測試到***的部署與運維,各種技術都會牽扯其中,不同的角色關注點自然也有不同。

大數據平臺的核心功能

從大數據平臺工程師的角度看,決定整個大數據平臺關鍵質量的不外三方面:

  • 數據采集
  • 數據存儲
  • 數據處理

至于系統監控、資源協調、部署運維及其他管理功能都是大數據平臺整個生態環境中不可缺少的拼圖,但對于面向數據的架構,核心還是與數據打交道的一部分。如下圖所示:

數據的架構

根據我在大數據項目中的經驗,我發現,無論是數據采集、存儲還是分析,在技術選型與方案設計上,似乎又與數據源的特征息息相關,甚至在某種程度上,可以認為是數據源的特點決定了整個大數據平臺架構的設計。

數據源的特點

于是,我將關注點首要放在了數據源上。分析數據源的數據特征,我從四個不同的維度對數據源進行了分類:

數據源的特點

來源

數據的來源不同,意味著我們對數據的掌控也就不同,更意味著我們對數據的訪問機制也有所不同。

企業的內部數據通常與具體業務緊密相關,且多數來自我們可以掌控(或者通過兄弟團隊)的軟件系統,如CRM、ERP或者HR系統。從企業架構的角度考慮,我們本身就應該避免企業系統出現所謂的“煙囪系統”,規避“信息孤島”。設計良好的系統應該要提供相關的接口允許其他系統有限度地訪問該系統的內部數據,又或者主動地將內部數據寫入到一個完全解耦合的系統中。例如,一個常見的做法是將內部系統實時產生的輸入寫入到Kafka中。

通常,我們會盡量避免直接將內部系統的數據庫公開給大數據平臺。因為這種方式不僅會帶來潛在的安全威脅,還可能會因為資源占用的緣故影響到業務系統。

外部數據的獲取方式不外乎兩種:

  • API調用
  • 通過網絡爬蟲抓取

與內部數據不同,外部數據不可能聽指揮地“召之即來揮之即去”,我們需要定期或不定期地去獲取數據,好處是我們可以根據業務場景和數據的特點自主地選擇數據存儲。

結構

只要了解過大數據項目,都知道數據結構直接影響了存儲與處理技術的選擇。RDB之于結構型數據,NoSQL之于非結構數據,這是司空見慣的配對了。相當而言,RDB的選擇比較簡單,NoSQL則有更復雜的分類。Pramod J·Sadalage與Martin Fowler在NoSQL Distilled一書中將NoSQL分為四類:

  • 鍵值數據庫
  • 文檔數據庫
  • 列族數據庫
  • 圖數據庫

針對不同結構類型的數據,我們將這一分類作為選型的參考。

可變性

Datomic數據庫的設計哲學是將所有過去發生的事情(或事件)認為是一個“fact(事實)”,基于事實不能篡改的本質,則數據庫中存儲的數據也當是不變的。無論是添加、刪除還是修改,在數據庫層面都是增加一條記錄。

然而,多數數據庫并未添加這種不變性的約束,雖然這種不變性帶來的好處是明顯的,不過也會給業務系統的設計與實現帶來不必要的復雜度。然而,作為大數據平臺的數據源而言,情況則相反,若數據允許更改,數據采集過程就會變得更復雜。

一種簡單的應對辦法是采用直連的形式。由于數據分析可能會基于不同的數據場景對數據存儲提出不同的要求,直連的數據源未必滿足這種要求。例如,假設我們的分析場景是要做基于關鍵字的全文本搜索,在大數據量高性能的要求下,選擇ElasticSearch或者Solr會表現更好,若直連的數據源是MySQL,事情就會變得較為棘手。

數據量

數據量小,則一切都可迎刃而解,這里不再贅述。

針對大數據量,實則是兩個不同的場景。一種是批處理方式,典型地算法是MapReduce,主要針對非實時需求場景,我們可以編寫定期以及批量執行的任務來完成數據的采集。需要費心的是對Job的監控、管理與調度。另一種則是流處理方式,(準)實時對產生的數據進行處理,這種場景對數據源的限制更多,最常見的方案就是將源源不斷產生的數據寫入到Kafka中。

在真實場景下,批處理與流處理方式可能共存。Lambda架構提出創新的三層架構方式,將此二者有機地融合起來,分別為:

  • Batch Layer:針對批處理場景
  • Speed Layer:針對流處理場景
  • Serving Layer:由流處理場景提供實時數據模型,再對批處理的大數據進行預計算,從而提供批處理數據模型(聚合計算后),合并后提供給Serving Layer。

Lambda架構圖如下所示:

Lambda架構圖

OLAP分析平臺druid就采用了Lambda架構。

【本文為51CTO專欄作者“張逸”原創稿件,轉載請聯系原作者】

戳這里,看該作者更多好文

責任編輯:趙寧寧 來源: 51CTO專欄
相關推薦

2017-07-13 11:13:18

大數據數據存儲

2017-07-22 00:41:27

大數據數據存儲

2017-07-21 14:22:17

大數據大數據平臺數據處理

2013-06-07 10:05:18

2013-06-09 10:15:09

2021-06-16 07:05:03

安全

2021-06-16 08:30:36

Dooring可視化數據源設計剖析

2015-09-02 13:24:54

大數據數據源

2017-01-22 19:57:42

大數據數據源

2017-02-05 19:09:30

大數據API百度

2017-09-04 14:52:51

Tomcat線程數據源

2009-06-15 13:24:46

JBoss數據源

2010-12-27 09:59:11

ODBC數據源

2013-12-04 09:54:32

CA TechnoloCA ERwin

2020-12-08 13:25:06

大數據數據源

2020-12-07 10:56:20

大數據源大數據數據源

2017-11-10 12:34:38

大數據數據源免費數據

2013-07-25 10:57:10

大數據大數據源頭

2013-05-06 10:22:28

大數據Hadoop

2023-11-27 09:16:53

Python數據源類型
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91久久精品国产91久久性色tv | 91国产在线播放 | 伊人网在线看 | 欧美一级特黄aaa大片在线观看 | 国产精品欧美大片 | 亚洲啪啪| www.亚洲精品 | 日韩成人在线视频 | 日韩中文字幕一区二区三区 | 免费一级片 | 国产综合欧美 | 欧美三级免费观看 | 九久久| 久久亚洲一区二区三区四区 | 在线视频亚洲 | 在线观看黄视频 | 91麻豆精品国产91久久久久久久久 | 欧美a√ | 成人一区二区视频 | 岛国av在线免费观看 | 日韩中文字幕视频在线 | 久久精品视频网站 | av影音资源| 成人免费视频网站在线观看 | 久久久久久久久久久成人 | 成人欧美一区二区三区白人 | 国产精品久久久久久久久久久免费看 | 黄色网址大全在线观看 | 国产日韩欧美中文字幕 | 久久久久国产精品一区二区 | 午夜在线精品偷拍 | 欧美色综合一区二区三区 | av网站免费观看 | 超碰97免费在线 | 久草免费在线视频 | 久久久久久久国产 | 亚洲人成一区二区三区性色 | 成人欧美一区二区三区色青冈 | 免费黄色录像视频 | 精品中文字幕一区二区 | 久久成人免费观看 |