數(shù)據(jù)倉庫的特性是集成,把不同數(shù)據(jù)源、不同形式的數(shù)據(jù)整合在一起沧竟。大數(shù)據(jù)下的數(shù)據(jù)特點(diǎn)如下:
①數(shù)據(jù)多樣性:包括高度結(jié)構(gòu)化铸敏,易于處理的結(jié)構(gòu)化數(shù)據(jù)以及服務(wù)器日志、圖片悟泵、視頻等非結(jié)構(gòu)化數(shù)據(jù)
②數(shù)據(jù)量:傳統(tǒng)的數(shù)據(jù)倉庫每天的同步量在幾百GB上下杈笔,大型的數(shù)據(jù)倉庫每天達(dá)PB級別,甚至EB級別
批量數(shù)據(jù)同步:
1)離線的數(shù)據(jù)線倉庫用于負(fù)責(zé)將不同數(shù)據(jù)源的數(shù)據(jù)同步到數(shù)據(jù)倉庫糕非,以及定時將數(shù)據(jù)同步到業(yè)務(wù)系統(tǒng)
2)要實(shí)現(xiàn)不同數(shù)據(jù)庫與數(shù)據(jù)倉庫之間數(shù)據(jù)的雙向同步桩撮,必須把數(shù)據(jù)轉(zhuǎn)換成某種中間狀態(tài)進(jìn)行數(shù)據(jù)格式的統(tǒng)一。目前使用字符串類型作為中間類型
以阿里巴巴DataX為例:2PB數(shù)據(jù)峰弹,3小時
① 通過插件的方式將數(shù)據(jù)從數(shù)據(jù)源轉(zhuǎn)換為中間狀態(tài),同時提供傳輸芜果、緩存等服務(wù)鞠呈。
② 在DataX中數(shù)據(jù)以中間狀態(tài)的形式存儲,在業(yè)務(wù)系統(tǒng)中轉(zhuǎn)化為需要的數(shù)據(jù)格式右钾。
③?DataX采用FrameWork+Plugin的方式實(shí)現(xiàn)蚁吝,F(xiàn)rameWork負(fù)責(zé)數(shù)據(jù)緩沖、流程控制舀射、上下文切換窘茁、并發(fā)并提供接口與插件接入服務(wù);Plugin 僅需實(shí)現(xiàn)對數(shù)據(jù)系統(tǒng)的訪問脆烟,易于開發(fā)
④ 數(shù)據(jù)傳輸全部在內(nèi)存中完成山林,實(shí)現(xiàn)異構(gòu)數(shù)據(jù)庫與數(shù)據(jù)倉庫之間的高速數(shù)據(jù)交換
job:數(shù)據(jù)同步作業(yè)
Task:同步作業(yè)經(jīng)過分解,切分成多個小人物
Reader:運(yùn)行Task邢羔,將數(shù)據(jù)從源系統(tǒng)裝載到DataX
Channel:Reader與Writer之間數(shù)據(jù)交換
Writer:將數(shù)據(jù)從DataX導(dǎo)出到目標(biāo)系統(tǒng)
實(shí)時數(shù)據(jù)同步
1)對于日志類數(shù)據(jù)或者需要實(shí)時處理的業(yè)務(wù)數(shù)據(jù)驼抹,需要以流的方式把數(shù)據(jù)不間斷的同步到數(shù)據(jù)倉庫
2)采用的策略是建立數(shù)據(jù)交換中心,通過解析數(shù)據(jù)日志實(shí)時地將增量數(shù)據(jù)以流的方式不同同步到數(shù)據(jù)中心
以阿里巴巴TimeTunnel為例:
① 基于生產(chǎn)者拜鹤、消費(fèi)者框冀、Topic的傳輸中間件,將消息持久化到HBase
② 生產(chǎn)者敏簿、消費(fèi)者明也、Topic類似于kafka,Broker負(fù)責(zé)處理收發(fā)消息的請求惯裕,向Hbase取發(fā)數(shù)據(jù)
③ 實(shí)現(xiàn)基于Topic的讀寫分離(kafka的讀寫操作都在leader上)