回覆列表
  • 1 # 大松IT服務直通車

    資料同步是大資料平臺搭建中非常重要的基礎環節,大資料平臺之所以有優勢,就是必須要具有對實時或準實時更新的增量資料連同存量資料具有線上分析能力,資料同步方案制訂要考慮很多因素,從網路到內網由於要透過網閘,是很難做到實時同步的,內網間的業務系統要儘可能做到和大資料平臺之間是增量同步。同步還要考慮到源業務系統是否需要進行資料介面改造,最好是對源業務系統是無侵入式的。我根據這些年的實踐經驗,推薦下面幾種常用的同步的方案和工具。

    文末的圖表示了資料同步工具在國土大資料平臺中的重要地位

    資料同步可以用以下工具實現:

    1、Sqoop

    Apache Sqoop 是一種工具,用於在 Apache Hadoop 和外部資料儲存(如關係資料庫,企業資料倉庫)之間高效傳輸批次資料。Sqoop 用於將資料從外部資料儲存匯入 Hadoop Hdfs 或 Hive 和 HBase 等相關 Hadoop 生態系統。同樣,Sqoop 還可用於從 Hadoop 或其生態系統中提取資料,並將其匯出到外部資料儲存區,如關係資料庫、資料倉庫。Sqoop 適用於 Oracle,MySQL,Postgres 等關係資料庫。

    2、Datax

    DataX 是阿里開發的一個異構資料來源離線同步工具,致力於實現包括關係型資料庫(MySQL、Oracle 等)、HDFS、Hive、ODPS、HBase、FTP 等各種異構資料來源之間穩定高效的資料同步功能。DataX 本身作為離線資料同步框架,採用 Framework + plugin 架構構建。將資料來源讀取和寫入抽象成為 Reader/Writer 外掛,納入到整個同步框架中。

    kettle

    3.Kettle 是一款開源的 ETL 工具,實現對各種資料來源讀取,操作和寫入資料,Kettle 無需安裝解壓即可使用,可透過客戶端進行配置和執行作業。Kettle 中有兩種指令碼檔案,transformation 和 job,transformation 完成針對資料的基礎轉換,job 則完成整個工作流的控制。

    4.HVR

    HVR是基於日誌的邏輯複製軟體,可實時捕獲源端資料庫日誌的增量變化,並將資料變化實時地傳輸到目標端,在目標端資料庫應用這些資料變化,從而保持目標端資料庫和源端資料庫的一致性。由於捕獲的僅為增量資料,同時在傳輸過程中配置了資料壓縮功能,減少網路頻寬的佔用,可以將遠端的資料同步時差控制到最低。基於事務日誌的資料變更,能夠最低限度的減少對源庫的效能影響。

    小結

    那我們該如何選擇合適同步的工具。大資料平臺是與 Hadoop 叢集相掛鉤,在離線同步一般選擇 Sqoop,Sqoop 從一開始就是為大資料平臺的資料採集業務服務,而且作為 Apache 頂級的專案,Sqoop 比起 Datax 更加可靠,如果涉及阿里自身的資料庫系列選擇 Datax 是一個不錯的選擇。在實時同步資料,一般採用 Kafka 作為中間元件,跟 Canal 結合實現 MySQL 到 Hive 增量資料同步。kettle 和 Informatica PowerCenter 一般在建設數倉中使用,透過客戶端配置 ETL 任務定製。如果是要求是不侵入源業務系統,則可以考慮使用HVR工具。

  • 2 # 大松IT服務直通車

    資料同步是大資料平臺搭建中非常重要的基礎環節,大資料平臺之所以有優勢,就是必須要具有對實時或準實時更新的增量資料連同存量資料具有線上分析能力,資料同步方案制訂要考慮很多因素,從網路到內網由於要透過網閘,是很難做到實時同步的,內網間的業務系統要儘可能做到和大資料平臺之間是增量同步。同步還要考慮到源業務系統是否需要進行資料介面改造,最好是對源業務系統是無侵入式的。我根據這些年的實踐經驗,推薦下面幾種常用的同步的方案和工具。

    文末的圖表示了資料同步工具在國土大資料平臺中的重要地位

    資料同步可以用以下工具實現:

    1、Sqoop

    Apache Sqoop 是一種工具,用於在 Apache Hadoop 和外部資料儲存(如關係資料庫,企業資料倉庫)之間高效傳輸批次資料。Sqoop 用於將資料從外部資料儲存匯入 Hadoop Hdfs 或 Hive 和 HBase 等相關 Hadoop 生態系統。同樣,Sqoop 還可用於從 Hadoop 或其生態系統中提取資料,並將其匯出到外部資料儲存區,如關係資料庫、資料倉庫。Sqoop 適用於 Oracle,MySQL,Postgres 等關係資料庫。

    2、Datax

    DataX 是阿里開發的一個異構資料來源離線同步工具,致力於實現包括關係型資料庫(MySQL、Oracle 等)、HDFS、Hive、ODPS、HBase、FTP 等各種異構資料來源之間穩定高效的資料同步功能。DataX 本身作為離線資料同步框架,採用 Framework + plugin 架構構建。將資料來源讀取和寫入抽象成為 Reader/Writer 外掛,納入到整個同步框架中。

    kettle

    3.Kettle 是一款開源的 ETL 工具,實現對各種資料來源讀取,操作和寫入資料,Kettle 無需安裝解壓即可使用,可透過客戶端進行配置和執行作業。Kettle 中有兩種指令碼檔案,transformation 和 job,transformation 完成針對資料的基礎轉換,job 則完成整個工作流的控制。

    4.HVR

    HVR是基於日誌的邏輯複製軟體,可實時捕獲源端資料庫日誌的增量變化,並將資料變化實時地傳輸到目標端,在目標端資料庫應用這些資料變化,從而保持目標端資料庫和源端資料庫的一致性。由於捕獲的僅為增量資料,同時在傳輸過程中配置了資料壓縮功能,減少網路頻寬的佔用,可以將遠端的資料同步時差控制到最低。基於事務日誌的資料變更,能夠最低限度的減少對源庫的效能影響。

    小結

    那我們該如何選擇合適同步的工具。大資料平臺是與 Hadoop 叢集相掛鉤,在離線同步一般選擇 Sqoop,Sqoop 從一開始就是為大資料平臺的資料採集業務服務,而且作為 Apache 頂級的專案,Sqoop 比起 Datax 更加可靠,如果涉及阿里自身的資料庫系列選擇 Datax 是一個不錯的選擇。在實時同步資料,一般採用 Kafka 作為中間元件,跟 Canal 結合實現 MySQL 到 Hive 增量資料同步。kettle 和 Informatica PowerCenter 一般在建設數倉中使用,透過客戶端配置 ETL 任務定製。如果是要求是不侵入源業務系統,則可以考慮使用HVR工具。

  • 3 # 數通暢聯

    首先要了解什麼是資料同步服務?顧名思義,就是在不同的系統之間同步資料。根據具體業務目的和應用場景的不同,各種資料同步服務框架的功能側重點往往不盡相同,因而大家也會用各種大同小異的名稱來稱呼這類服務,比如資料傳輸服務,資料採集服務,資料交換服務等。

    第一 要把業務範圍明確,統一資料來源頭,規範資料型別,統一管理企業的內部資料,進行資料治理,保證企業資料的一致性,完整性之後才能進行資料同步服務。

    第二 是進行資料同步服務,首先要利其器,我們可以使用一款開源的 ETL 工具,實現對各種資料來源讀取,操作和寫入資料,Kettle 無需安裝解壓即可使用,可透過客戶端進行配置和執行作業,也可以使用ESB企業服務匯流排進行快速建立同步分發服務來拉取或推送企業中系統的資料到大資料分析平臺中,從而實現大資料分析。

    最後是在大資料開發平臺,自身根據業務需求的不同調度傳輸同步服務,從而獲取企業資料同步到數倉中進行各種儲存/計算/查詢的資料集元件配置。

    綜上所述就是大資料開發平臺的資料同步服務步驟,透過採集企業內外部資料進行資料分析,從而有效提升企業內外部的資料的價值,幫助企業從結構化和非結構化資料中獲取業務洞察。

  • 中秋節和大豐收的關聯?
  • 徽菜有什麼特點?