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

基于Doris構建億級數據實時數據分析系統

大數據 數據分析
現有業務數據有以下特點,查詢多、更新少,基本不會更新1 個月以前的數據,但是查詢范圍較大,有時需要查詢幾年前的數據,而且數據會以年、月等不同維度統計。

背景

隨著公司業務快速發展,對業務數據進行增長分析的需求越來越迫切,與此同時我們的業務數據量也在快速激增、每天的數據新增量大概在30w 左右,一年就會產生1 個億的數據,顯然基于傳統MySQL數據庫已經無法支撐

基于上述需求和痛點,決定提供一個靈活的多維實時查詢和分析平臺,幫助業務線做精細化運營。

業務分析

現有業務數據有以下特點,查詢多、更新少,基本不會更新1 個月以前的數據,但是查詢范圍較大,有時需要查詢幾年前的數據,而且數據會以年、月等不同維度統計

因此以上場景使用 OLTP 引擎不是特別適合,OLAP則更為適合

這里可能有些人員不懂什么是 OLAP,下面是一個OLAP與OLTP對比圖

圖片圖片

技術選型

實時數倉

以上場景確定后,我們就開始了框架選型,最終確定了 Doris,理由如下

  • 性能滿足要求
  • 兼容MySQL 協議
  • 運維成本較低
  • 架構足夠簡單
  • 社區活躍,支持力度高

下面是一個選型對比,沒有好壞,只是Doris適合我們

圖片圖片

實時數據捕獲

實時數據,采用Fink CDC進行捕獲,Fink CDC Connectors 是Apache Flink的一組源連接器,使用變更數據捕獲 (CDC) 從不同數據庫中獲取變更,而獲取變更是通過Debezium監聽Binlog 日志,獲取到更新數據以后,可以對數據進行轉換,然后在根據doris 提供的Flink 插件Doris flink connecto導入到 Doris 里面

圖片圖片

具體示例,可以參考:https://mp.weixin.qq.com/s/ssXocqCyoSVuRFBi2hzCKQ

為什么需要實時數據捕獲?

Doris 只是一個數據倉庫,他提供的功能是實時數據統計、查詢和存儲,他不支持主動實時抓取數據,需要借助第三方工具來進行實現,比如我們在 MySQL修改了一條數據,怎么讓 Doris 進行更新?目前想到的答案是主動發送更新數據至Kafka,然后Doris訂閱 KafKa 的 Topic 然后進行實時同步,雖然以上能實現我們想要的功能,但是有點復雜,業務每次操作都要發送 Kafka,同時要想對數據進行加工,工作量相對較大,正因為有以上問題,所以我們采用Flink CDC

數據調度平臺

數據調度平臺,采用海豚調度器(DolphinScheduler),它也是國人開源的一款分布式可擴展的大數據調度平臺,使用Java 語言開發,目前已經成為Apache 項目,它提供了強大的DAG可視化界面,所有流程定義都是可視化,通過拖拽任務完成定制DAG,同時支持 30+類型的任務,比如執行 SQL、shell 、DataX 等類型,官網地址:https://dolphinscheduler.apache.org

圖片圖片

為什么需要數據調度平臺?

數據轉換:通過Flink 抽取的數據,如果還想對這些數據進行加工處理,比如實時同步的業務數據,需要再次轉換為分鐘級、小時級、天、月等維度的報表

非實時數據同步:通過調度DataX,以分鐘、小時、天為單位進行源數據同步

定時歸檔:比如每晚同步業務數據庫一個月前數據,同步完成之后,在執行刪除任務,刪除業務庫一個月前的數據

數倉數據分層

數據倉庫的分層是一種常見的設計模式,它將數據倉庫劃分為不同的層級,每個層級有不同的功能和用途。

圖片圖片

ODS層

Operation Data Store 數據準備區,也稱為貼源層。數據倉庫源頭系統的數據表通常會原封不動的存儲一份,這稱為ODS層,是后續數據倉庫加工數據的來源。

DWD層

data warehouse details 細節數據層,是業務層與數據倉庫的隔離層。主要對ODS數據層做一些數據清洗和規范化的操作,數據清洗:去除空值、臟數據、超過極限范圍的

DWS層

data warehouse service 數據服務層,基于DWD上的基礎數據,整合匯總成分析某一個主題域的服務數據層,一般是寬表。用于提供后續的業務查詢,OLAP分析,數據分發等。

  • 用戶行為,輕度聚合
  • 主要對ODS/DWD層數據做一些輕度的匯總。

注意:數倉層內部的劃分不是為了分層而分層,它是數據倉庫經過了建模和 ETL 之后真正開始對外提供服務的地方,因此數倉層內的劃分更應該符合使用者的思維習慣。DW 內的分層沒有最正確的,只有最適合你的。

命名規范

圖片圖片

系統架構

經過前面的技術選型,以及分層定義,我們最終架構如下

圖片圖片

數據查詢

假設語句已經同步到doris,那么怎么進行展現,這里有很多種方式,比如通過BI工具,例如:power bi、dataEase、Davinci等,同時Doris 支持mysql 協議,我們為了讓之前的業務改動,對后端接口實現進行了替換,通過 mybatis 動態解析 sql,并調用 doris進行查詢,架構如下

圖片圖片

示例介紹

Flink實時同步

具體查看鋒哥的文章,https://mp.weixin.qq.com/s/ssXocqCyoSVuRFBi2hzCKQ

DolphinScheduler準實時同步

同步業務數據庫mysql中register表至doris的ods_test_mysql_register_s表中,并對業務數據進行刪除

1. 創建datax文件

在資源中心創建各個團隊文件夾,并在文件夾中創建對應datax文件

圖片圖片

2. 創建任務

進入項目管理/工作流定義目錄,點擊創建工作流

圖片圖片

選擇shell任務,worker分區選擇datax,

datax組為自行創建,實際配置時,以本地執行環境為準

圖片圖片

選擇資源,并編寫datax啟動命令

圖片圖片

如果遷移完,需要進行原數據刪除,則新建sql任務,編寫sql語句,進行清理

圖片圖片

3. 依賴關系創建

第一步進行datax數據同步第二步進行原數據清理,如下圖連線就是依賴關系

圖片圖片

4. 全局參數設置

參數可以設置為動態參數,這里為了測試方便為固定值

例如:$[yyyy-MM-dd 00:00:00-15] 表示前15天,具體參考dolphinscheduler內置參數說明

圖片圖片

5. 啟動任務

首選點擊對應任務進行上線,在配置定時任務,如果測試連通性,則點擊啟動按鈕可以立即測試

圖片 圖片

責任編輯:武曉燕 來源: 架構成長指南
相關推薦

2022-05-12 14:34:14

京東數據

2024-10-18 08:17:09

Doris數據倉庫

2018-04-19 09:10:17

數據分析列式存儲

2020-03-18 16:15:21

億級搜索數據

2018-08-23 07:40:58

Spark流處理數據流

2014-01-07 09:25:31

Amazon云計算Kinesis

2024-05-07 08:16:17

2024-01-12 18:02:38

Doris數據平臺

2022-03-07 07:18:18

Netflix機器學習架構

2024-08-22 14:16:08

2012-08-28 10:52:58

IBMdW

2012-08-24 08:51:27

IBMdW

2019-05-27 09:56:00

數據庫高可用架構

2021-07-13 07:04:19

Flink數倉數據

2021-10-25 17:57:08

數據技術架構

2020-03-18 07:11:24

實時同步搜索

2019-08-19 14:24:39

數據分析Spark操作

2024-04-18 09:00:00

數據存儲數據庫

2022-07-26 11:42:31

科大訊飛Flink數據倉庫
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩在线一区二区 | 欧美在线成人影院 | 欧美日韩精品综合 | 国产美女在线精品免费 | 久草免费视| 日本一区二区三区视频在线 | 一级黄色毛片免费 | 91网站在线看 | 日日夜夜操天天干 | 亚洲精品一区二区三区中文字幕 | 中文字幕久久精品 | 国产色网 | 亚洲成av| 亚洲入口| 国产精品久久久久久久久久久久久久 | 日韩激情免费 | xx性欧美肥妇精品久久久久久 | 天天综合网永久 | 超碰在线影院 | 亚洲午夜一区二区 | 香蕉超碰| 欧美日在线 | 亚洲一区不卡 | 中日韩欧美一级片 | 色综合一区二区三区 | 日韩一级免费看 | 久久久久国产一区二区三区 | 在线不卡视频 | 成人一区二区三区在线观看 | 国产免费一区二区 | 久久亚洲天堂 | 亚洲国产精品99久久久久久久久 | 欧美久久久久久久 | 日本福利一区 | 在线观看成年视频 | 国产一区二区三区在线 | 日本中文字幕在线视频 | 国产精品激情小视频 | 狠狠综合久久av一区二区老牛 | 国产精品久久久久久52avav | 成人av电影免费在线观看 |