91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

數據上云,應該選擇全量抽取還是增量抽取?

發布時間:2020-08-10 14:18:04 來源:ITPUB博客 閱讀:176 作者:大濤學長 欄目:關系型數據庫
作者:向師富 轉自:阿里巴巴數據中臺官網 https://dp.alibaba.com 概述數據抽取是指從源數據抽取所需要的數據, 是構建數據中臺的第一步。 數據源一般是關系型數據庫,近幾年,隨著移動互聯網的蓬勃發展,出現了其他類型的數據源,典型的如網站瀏覽日期、APP瀏覽日志、IoT設備日志 從技術實現方式來講,從關系型數據庫獲取數據,可以細分為全量抽取、增量抽取2種方式,兩種方法分別適用于不用的業務場景
增量抽取
  • 時間戳方式
用時間戳方式抽取增量數據很常見,業務系統在源表上新增一個時間戳字段,創建、修改表記錄時,同時修改時間戳字段的值。 抽取任務運行時,進行全表掃描,通過比較抽取任務的業務時間、時間戳字段來決定抽取哪些數據。 此種數據同步方式,在準確率方面有兩個弊端: 1、只能獲取最新的狀態,無法捕獲過程變更信息,比如電商購物場景,如果客戶下單后很快支付,隔天抽取增量數據時,只能獲取最新的支付狀態,下單時的狀態有可能已經丟失。針對此種問題,需要根據業務需求來綜合判定是否需要回溯狀態。 2、會丟失已經被delete的記錄。如果在業務系統中,將記錄物理刪除。也就無法進行增量抽取。一般情況下,要求業務系統不刪除記錄,只對記錄進行打標。
業務系統維護時間戳如果使用了Oracle、DB2等傳統關系型數據庫,需要業務系統維護時間戳字段,業務系統在更新業務數據時,在代碼中更新時間戳字段。此種方法很常見,不過由于需要編碼實現,工作量會變大,有可能會出現漏變更的情形
觸發器維護時間戳典型的關系型數據庫,都支持觸發器。當數據庫記錄有變更時,調用特定的函數,更新時間戳字段。典型的樣例如下:

數據庫維護時間戳MySQL可以自動實現變更字段的維護,一定程度上減輕了開發工作量。 具體的實現樣例如下: 創建記錄

最終的結果如下:

更新記錄

最終的結果如下,數據庫自動變更了時間戳字段:

  • 分析MySQL binlog日志
近幾年,隨著互聯網的蓬勃發展,互聯網公司一般使用MySQL作為主數據庫,由于是開源數據庫,很多公司都做了定制化開發。 其中一個很大的功能點是通過訂閱MySQL binlog日志,實現了讀寫分離、主備實時同步,典型的示意圖如下:

解析binlog日志,給數據同步帶來了新的方法,將解析之后結果發送到Hive/MaxCompute等大數據平臺,實現秒級延時的數據同步。
解析binlog日志增量同步方式技術很先進,有3個非常大的優點: 1.數據延時小。在阿里巴巴雙11場景,在巨大的數據量之下,可以做到秒級延時; 2.不丟失數據,可以捕獲數據delete的情形; 3.對業務表無額外要求,可以缺少時間戳字段;
當然,這種同步方式也有些缺點: 1.技術門檻很高。一般公司的技術儲備不夠,不足以自行完成整個系統搭建。目前國內也僅限于頭部的互聯網公司、大型的國企、央企。不過隨著云計算的快速發展,在阿里云上開放了工具、服務,可以直接實現實時同步,經典的組合是MySQL、DTS、Datahub、MaxCompute; 2.資源成本比較高,要求有一個系統實時接收業務庫的binlog日志,一直處于運行狀態,占用資源較多 3.業務表中需要有主鍵,以便進行數據排序
  • 分析Oracle Redo Log日志
Oracle是功能非常強大的數據庫,通過Oracle GoldenGate實時解析Redo Log日志,并將解析后的結果發布到指定的系統
全量抽取全量抽取是將數據源中的表或視圖的數據原封不動的從數據庫中抽取出來,并寫入到Hive、MaxCompute等大數據平臺中,有點類似于業務庫之間的數據遷移。 全量同步比較簡單,常用于小數據量的離線同步場景。不過這種同步方法,也有兩個弊端,與增量離線同步一模一樣: 1.只能獲取最新的狀態 2.會丟失已經被delete的記錄
業務庫表同步策略
  • 同步架構圖 從業務視角,可以將離線數據表同步細分為4個場景,總體架構圖表如下:


原則上,在數據上云這個環節,建議只進行數據鏡像同步。不進行業務相關的數據轉換工作。從ETL策略轉變為ELT,出發點有3個: 1.機器成本。在庫外進行轉換,需要額外的機器,帶來新的成本; 2.溝通成本。 業務系統的開發人員,也是數據中臺的用戶,這些技術人員對原始的業務庫表很熟悉,如果進行了額外的轉換,他們需要額外的學習其他工具、產品; 3.執行效率。庫外的轉換機器性能,一般會低于MaxCompute、Hadoop集群,增加了執行時間; 同步過程中,建議全表所有字段上云,減少后期變更成本
  • 小數據量表 來源數據每日全量更新,采用數據庫直連方式全量抽取,寫入每日/每月全量分區表。
  • 日志型表 原始日志增量抽取到每日增量表,按天增量存儲。因為日志數據表現為只會有新增不會有修改的情況,因此不需要保存全量表。
  • 大數據量表 數據庫直連方式通過業務時間戳抽取增量數據到今日增量分區表,再將今日增量分區表merge前一日全量分區表,寫入今日全量分區表。
  • 小時/分鐘增量表/不定期全量 來源數據更新頻率較高,達到分鐘/小時級別,從源數據庫通過時間戳抽取增量數據到小時/分鐘增量分區表,將N個小時/分鐘增量分區表merge入每日增量分區表,再將今日增量分區表merge前一日全量分區表,寫入今日全量分區表。
更多內容詳見阿里巴巴數據中臺官網 https://dp.alibaba.com阿里巴巴數據中臺團隊,致力于輸出阿里云數據智能的最佳實踐,助力每個企業建設自己的數據中臺,進而共同實現新時代下的智能商業! 阿里巴巴數據中臺解決方案,核心產品: Dataphin,以阿里巴巴大數據核心方法論OneData為內核驅動,提供一站式數據構建與管理能力; Quick BI,集阿里巴巴數據分析經驗沉淀,提供一站式數據分析與展現能力; Quick Audience,集阿里巴巴消費者洞察及營銷經驗,提供一站式人群圈選、洞察及營銷投放能力,連接阿里巴巴商業,實現用戶增長。


原文鏈接
本文為云棲社區原創內容,未經允許不得轉載。
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

灌阳县| 萨迦县| 东山县| 筠连县| 手游| 云和县| 通州区| 呼图壁县| 景东| 邹平县| 措美县| 余江县| 罗城| 寿光市| 象山县| 资阳市| 榆社县| 梧州市| 丰都县| 湄潭县| 富宁县| 渝中区| 志丹县| 湘西| 区。| 彝良县| 荆州市| 怀远县| 离岛区| 长武县| 恩平市| 偏关县| 五家渠市| 咸宁市| 塘沽区| 胶南市| 巩留县| 仙桃市| 礼泉县| 大连市| 义马市|