国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

如何選擇離線數(shù)據(jù)集成方案 - 全量&增量

這篇具有很好參考價值的文章主要介紹了如何選擇離線數(shù)據(jù)集成方案 - 全量&增量。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1 前言

我在上一篇中介紹了實時集成與離線集成該怎么選擇,接著介紹一下離線集成中的增量與全量的選擇問題。

要設計方案,我們先分析一下數(shù)據(jù)產(chǎn)生的方式。我們把音視頻流這種非結構化的數(shù)據(jù)集成從這里排除出去,因為這種音視頻流一般都是專業(yè)的廠商和系統(tǒng)來處理。我們圍繞數(shù)據(jù)分析領域常見的半結構化、結構化數(shù)據(jù)來看。

結構化和半結構化數(shù)據(jù)主要來源于各種設備和系統(tǒng)中運行的軟件,包括寫入各種數(shù)據(jù)庫的數(shù)據(jù)、服務器中的日志。如果數(shù)據(jù)本身可以實時傳輸過來,那么我們就盡可能采用這種方式,但是實際工作中更多的場合是離線。尤其是項目的一期,更容易使用離線集成。

實時集成就相當于收快遞,需要商家和物流企業(yè)先期投入大量建設,才能讓快遞便捷的傳輸?shù)侥闶掷铩6@種什么都準備好的情況,大部分時候都是企業(yè)IT建設相對成熟的情況下才有。

日志這種文件流,如果采用實時采集,就屬于實時集成范圍。如果離線傳輸,就是傳個文件,本身就沒有太多需要講述的。下面我們就討論下從數(shù)據(jù)庫中實施離線集成的方法。

2 數(shù)據(jù)庫的數(shù)據(jù)

一提到傳統(tǒng)數(shù)據(jù)庫,就想到了結構化數(shù)據(jù)。但是數(shù)據(jù)庫其實可以存儲各種能存儲的下的數(shù)據(jù),比如音視頻文件其實可以存儲到LOB類型的二進制大對象字段中。而半結構化數(shù)據(jù),可以存儲到string、text、CLOB等字符型二進制大對象字段中。工業(yè)控制系統(tǒng)產(chǎn)生的時序數(shù)據(jù),也可以存儲到數(shù)據(jù)庫中。

而數(shù)據(jù)庫中的數(shù)據(jù)操作有插入、更新、刪除,不同種類的操作會對集成有影響。

如果要對一個數(shù)據(jù)庫做全庫的集成,首先要決定哪些表是我們要入倉的。一定不要不經(jīng)分析就把數(shù)據(jù)集成到數(shù)據(jù)倉庫或者數(shù)據(jù)中臺中。按照維度建模的理念,需要以需求為導向去構建模型,所以,集成的數(shù)據(jù)表一定是要明確有需求。這樣我們就能確定一個范圍,而不是全部。

劃定范圍,我們就會遇到非結構化數(shù)據(jù)入庫的問題,因為MaxCompute本身是不支持大字段的,最長的字段長度是string,只有8M。至于數(shù)據(jù)庫的LOB存儲什么,五花八門,我見過照片、音頻、Word文檔、這些要集成,統(tǒng)統(tǒng)都需要傳輸?shù)絆SS,而不是MaxCompute。目前這種數(shù)據(jù),還需要單獨開發(fā)程序去集成到OSS。

剩下的我們就可以理解為結構化和半結構化數(shù)據(jù)了,一般能用string存的下的都可以集成到MaxCompute。例如一些XML、JSON半結構化數(shù)據(jù),之前在數(shù)據(jù)庫是存儲在CLOB類型的字段中的,但是本身并不是超過8M。

接下來我們就需要評估該如何集成數(shù)據(jù)了-增量還是全量。

3 增量還是全量

回顧之前在實時還是離線的章節(jié)總結的集成原則。

集成原則:

1 費用緊張,資源有限,盡可能使用離線集成。

2 批處理數(shù)據(jù)(主要指源端數(shù)據(jù)是批量產(chǎn)生,或者雙十一式爆發(fā)式產(chǎn)生)集成,盡量走離線。如果確實預算非常充足,資源非常豐富,也可以走實時集成(很多時候,源端都可能扛不住)。

3 交易型數(shù)據(jù)集成,盡量走實時,如果資源有限可以走離線。

4 大表,例如數(shù)據(jù)超過200W、存儲超過1G,盡量走實時,這種表一般在業(yè)務系統(tǒng)中數(shù)量不會超過表數(shù)量的20%。離線集成時效性很難滿足要求,當然也不是不行。一般離線集成的表在1-10億這個級別也是可以一戰(zhàn)(與系統(tǒng)資源相關)。再大基本上就很難了,集成時間過久,業(yè)務系統(tǒng)沒有足夠的快照空間,事務會報錯,集成就會失敗。

5 小表,例如常年不動的代碼表,10W以下的小表,大概都能在30秒-3分鐘內(nèi)完成,建議走離線。畢竟實時挺貴,這些小表,還是打包搞過來比較適合。

我們看到我把數(shù)據(jù)分為“批處理”、“交易型”、“大表”、“小表”。很明顯,“批處理”和“交易型”是一個對照組,“大表”和“小表”是一個對照組。

先看下什么是“批處理”,主要是指數(shù)據(jù)并不是由業(yè)務系統(tǒng)的業(yè)務事件產(chǎn)生,而是由數(shù)據(jù)庫或者應用后臺運行的數(shù)據(jù)運行,其特點是一次操作的數(shù)據(jù)或者產(chǎn)生的數(shù)據(jù)是多條(幾萬到數(shù)億)記錄。“批處理”操作主要在做后臺數(shù)據(jù)庫版本發(fā)布的批量運維,夜間批量做數(shù)據(jù)處理,幾個表關聯(lián)生成一張新的表。這種操作瞬時產(chǎn)生大量的數(shù)據(jù)操作,少則幾萬,多則數(shù)億,且發(fā)生時間相對短暫。對應的“交易型”則是實時發(fā)生,是由實際的業(yè)務發(fā)生時產(chǎn)生。并不是定時任務和運維人員提交到數(shù)據(jù)庫的,是由應用提交到數(shù)據(jù)庫的。

“大表”和“小表”需要畫一條線,根據(jù)數(shù)據(jù)庫系統(tǒng)的能力來評估。一般按照二八原則,或者一九。就是說一般數(shù)據(jù)庫中90%表都是小表,根據(jù)數(shù)據(jù)庫的規(guī)模,可以是10萬也可以是100萬。

1.全量集成

先說大小表,這個比較簡單,一旦劃定了大小表。就可以確定,小表是可以全部使用全量集成的。所以,這個邊界是全量離線集成的邊界。剩下的大表,就困難了。大表的意思就是全量集成不能完成,或者對數(shù)據(jù)庫的負載過大,搞不定。這部分就需要考慮增量集成了。

2.增量集成

因為小表全量集成很暴力了,無所謂什么,都能集成過來。而大表的增量要怎么獲取呢?真的很難。我有一句總結:沒有一個業(yè)務系統(tǒng)的時間戳字段是可信的。大家可以去證明我是錯誤的,我的見識是淺薄的,但是這就是從業(yè)十多年的我的見識。

首先,增量集成需要數(shù)據(jù)庫表不能有物理刪除,這很難實現(xiàn)。即便業(yè)務系統(tǒng)在設計之初有這種設計,也難以避免后臺人工運維引入非正常操作問題。

其次,標識數(shù)據(jù)被更新和插入的時間字段(時間戳)不可信。除了業(yè)務系統(tǒng)可能并不更新這個字段外,還同樣存在人工運維引入非正常操作的問題。

3.批處理表的增量集成

即便如此,仍然有表,是可以容易實現(xiàn)增量識別的,而這種表往往還是大表。我們前面提到的“批處理”表就是這種表,因為這類表是批量寫入的,操作頻次是有限且是批量的(常見的數(shù)據(jù)交換表也是這種表)。這種表的數(shù)據(jù),較為容易獲得增量。

方法:

  1. 找到主鍵。因為增量數(shù)據(jù)需要與全量合并,所以主鍵非常重要。
    1. 了解數(shù)據(jù)寫入特征。數(shù)據(jù)變動的范圍多大,哪個字段是每日生成新數(shù)據(jù)的業(yè)務日期字段,這關系到增量集成的增量時區(qū)范圍多大。例如,會更新當前月的數(shù)據(jù),會更新最近N天的數(shù)據(jù)。
    2. 了解業(yè)務。為什么會產(chǎn)生這樣的數(shù)據(jù),業(yè)務是什么,數(shù)據(jù)該如何使用。
    3. 調(diào)研數(shù)據(jù)。從數(shù)據(jù)中驗證之前得到的信息,是否完全正確,這非常重要。最經(jīng)常的問題就是數(shù)據(jù)變動的范圍,與描述不一致。這是因為調(diào)研總是短暫的,而數(shù)據(jù)不會騙人。例如運行了一個歷史日期的數(shù)據(jù),例如過了一個假期才處理問題。
  2. 事件表的增量集成

還有另外一種表,自然就可以做到增量識別。這類表就是事件型表,這類表只有insert,沒有update和delete。例如刷了一次門禁卡。

增量/全量集成,云棲號技術分享,數(shù)據(jù)庫,數(shù)據(jù)倉庫,阿里云,云計算,大數(shù)據(jù)

到這里,我其實并沒有解決所有表的集成。我只解決了小表、部分大表(批量表、事件表),這就是現(xiàn)實。大部分時候,我們只能采取加大離線集成的并行度,并忍受數(shù)個小時離線集成時長。而離線集成很難解決的這些表的集成,往往也是最適合實時集成的表。這就是我給的答案,離線集成不完美,解決不了我們獲取數(shù)據(jù)的完整性的問題。

4總結

全量和增量都是一種選擇,如果表都很小,我們整個庫都可以全量集成。而增量則更多的時候是一種奢望,系統(tǒng)運行的越久,離線增量集成的問題就會暴露的越多。在這個時候,我要說:選擇要大于努力,建議去看看實時集成是不是可以幫助到你。另外一個方面,我們回顧上一章節(jié),實時集成集成小表并不劃算,集成批量表會導致進程崩潰。

所以,沒有完美的工具,只有完美的方案。只有針對客戶現(xiàn)場的實際情況,做出最適合客戶的現(xiàn)場方案才是我們的最終選擇。

原文鏈接

本文為阿里云原創(chuàng)內(nèi)容,未經(jīng)允許不得轉載。

?文章來源地址http://www.zghlxwxcb.cn/news/detail-781210.html

到了這里,關于如何選擇離線數(shù)據(jù)集成方案 - 全量&增量的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • DataX-阿里開源離線同步工具在Windows上實現(xiàn)Sqlserver到Mysql全量同步和增量同步

    DataX-阿里開源離線同步工具在Windows上實現(xiàn)Sqlserver到Mysql全量同步和增量同步

    Kettle-開源的ETL工具集-實現(xiàn)SqlServer到Mysql表的數(shù)據(jù)同步并部署在Windows服務器上: Kettle-開源的ETL工具集-實現(xiàn)SqlServer到Mysql表的數(shù)據(jù)同步并部署在Windows服務器上_etl實現(xiàn)sqlserver報表服務器_霸道流氓氣質(zhì)的博客-CSDN博客 上面講過Kettle的使用,下面記錄下阿里開源異構數(shù)據(jù)源同步工具

    2024年02月08日
    瀏覽(27)
  • 全量、增量數(shù)據(jù)在HBase遷移的多種技巧實踐

    全量、增量數(shù)據(jù)在HBase遷移的多種技巧實踐

    作者經(jīng)歷了多次基于HBase實現(xiàn)全量與增量數(shù)據(jù)的遷移測試,總結了在使用HBase進行數(shù)據(jù)遷移的多種實踐,本文針對全量與增量數(shù)據(jù)遷移的場景不同,提供了1+2的技巧分享。 1.背景 在HBase使用過程中,使用的HBase集群經(jīng)常會因為某些原因需要數(shù)據(jù)遷移。大多數(shù)情況下,可以用離線

    2024年02月06日
    瀏覽(18)
  • DBSyncer安裝_配置postgresql和mysql_sqlserver_oracel全量增量同步---數(shù)據(jù)全量增量同步之DBSyncer001

    DBSyncer安裝_配置postgresql和mysql_sqlserver_oracel全量增量同步---數(shù)據(jù)全量增量同步之DBSyncer001

    ? ? ?國內(nèi)做開源的大神做的,用了一下還可以,就是不能和Phoenix這種操作hbase等數(shù)據(jù)庫一起用, 這個是官網(wǎng),下載安裝非常簡單,官網(wǎng)也有中文詳細說明. 直接下載安裝包: 然后解壓到某個地方,主要要用unzip dbsyncer.zip -d /opt/module這樣解壓 解壓后直接啟動就可以了 ? ?解壓以后進入

    2024年02月09日
    瀏覽(22)
  • Redis主從架構、數(shù)據(jù)同步原理、全量同步、增量同步

    Redis主從架構、數(shù)據(jù)同步原理、全量同步、增量同步

    大家好,我是哪吒。 2023年再不會Redis,就要被淘汰了 圖解Redis,談談Redis的持久化,RDB快照與AOF日志 Redis單線程還是多線程?IO多路復用原理 Redis集群的最大槽數(shù)為什么是16384個? Redis緩存穿透、擊穿、雪崩到底是個啥?7張圖告訴你 Redis分布式鎖的實現(xiàn)方式 Redis分布式緩存、

    2024年02月07日
    瀏覽(24)
  • 大數(shù)據(jù)Maxwell(二):使用Maxwell增量和全量同步MySQL數(shù)據(jù)

    大數(shù)據(jù)Maxwell(二):使用Maxwell增量和全量同步MySQL數(shù)據(jù)

    文章目錄 使用Maxwell增量和全量同步MySQL數(shù)據(jù) 一、使用Maxwell同步MySQL數(shù)據(jù)

    2023年04月09日
    瀏覽(29)
  • elasticsearch+canal增量、全量同步

    elasticsearch+canal增量、全量同步

    目錄 一、搭建環(huán)境: 1.1 下載軟件上傳到linux目錄/data/soft下 1.2? 把所有軟件解壓到/data/es-cluster 二、單節(jié)點(多節(jié)點同理)集群部署elasticsearch 2.1 創(chuàng)建es用戶 2.2 準備節(jié)點通訊證書 2.3 配置elasticsearch,編輯/data/es-cluster/elasticsearch-7.9.0-node1/config/elasticsearch.yml文件 2.4 在每一臺集群

    2024年01月24日
    瀏覽(24)
  • DataEase開源BI工具安裝_數(shù)據(jù)全量_增量同步_大屏拖拽自動生成_多數(shù)據(jù)源支持_數(shù)據(jù)血緣分析---大數(shù)據(jù)工作筆記0183

    DataEase開源BI工具安裝_數(shù)據(jù)全量_增量同步_大屏拖拽自動生成_多數(shù)據(jù)源支持_數(shù)據(jù)血緣分析---大數(shù)據(jù)工作筆記0183

    我這里用的是Centos7.9安裝的 可以通過uname -p來查看一下我們的電腦架構,可以看到是x86_64架構的 ?我們下第一個,這個是x86架構的,第二個arm架構的? ? 然后解壓到/opt/module中 ? 然后再去重命名一下文件夾.? 推薦200G? 本地模式的功能比較多 推薦100G ?

    2024年02月15日
    瀏覽(18)
  • Android中的全量更新、增量更新以及熱更新

    Android中的全量更新、增量更新以及熱更新

    在客戶端開發(fā)過程中,我們可能會遇到這樣一種需求:點擊某個按鈕彈出一個彈窗,提示我們可以更新到apk的某個版本,或者我們可以通過服務端接口進行強制更新。在這種需求中,我們是不需要通過應用商店來更新我們的apk的,而是直接在apk內(nèi)部進行版本更新。這次我們就

    2024年02月12日
    瀏覽(22)
  • hive 全量表、增量表、快照表、切片表和拉鏈表

    hive 全量表、增量表、快照表、切片表和拉鏈表

    全量表 :記錄每天的所有的最新狀態(tài)的數(shù)據(jù), 增量表 :記錄每天的新增數(shù)據(jù),增量數(shù)據(jù)是上次導出之后的新數(shù)據(jù)。 快照表 :按日分區(qū),記錄截止數(shù)據(jù)日期的全量數(shù)據(jù) 切片表 :切片表根據(jù)基礎表,往往只反映某一個維度的相應數(shù)據(jù)。其表結構與基礎表結構相同,但數(shù)據(jù)往往

    2024年02月13日
    瀏覽(22)
  • 【Spark數(shù)倉項目】需求八:MySQL的DataX全量導入和增量導入Hive

    【Spark數(shù)倉項目】需求八:MySQL的DataX全量導入和增量導入Hive 本需求將模擬從MySQL中向Hive數(shù)倉中導入數(shù)據(jù),數(shù)據(jù)以時間分區(qū)。測試兩種導入場景,一種是將數(shù)據(jù)全量導入,即包含所有時間分區(qū);另一種是每天運行調(diào)度,僅導入當天時間分區(qū)中的用戶數(shù)據(jù)。 mysql表建表語句:

    2024年02月03日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包