偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

使用這個(gè)開(kāi)源工具輕松同步數(shù)據(jù)庫(kù)

開(kāi)源 數(shù)據(jù)庫(kù)
開(kāi)源的 Apache SeaTunnel 項(xiàng)目是一個(gè)數(shù)據(jù)整合平臺(tái),可以很容易地實(shí)現(xiàn)數(shù)據(jù)同步。

變更數(shù)據(jù)捕獲Change Data Capture(CDC)使用服務(wù)端代理來(lái)記錄、添加、更新和刪除對(duì)數(shù)據(jù)表的各種操作。它以一種易用的關(guān)系型格式提供了數(shù)據(jù)變化的細(xì)節(jié)信息。它可以捕獲將更改應(yīng)用于目標(biāo)環(huán)境中的已修改行所需的列信息和元數(shù)據(jù)。這些信息保存在一個(gè)與被跟蹤的源表的列結(jié)構(gòu)相對(duì)應(yīng)的變化表內(nèi)。

捕獲變更的數(shù)據(jù)可不是一件容易的事。不過(guò),有一個(gè)開(kāi)源項(xiàng)目 —— ??Apache SeaTunnel??,它是一個(gè)數(shù)據(jù)整合平臺(tái),它提供的 CDC 功能的設(shè)計(jì)理念和功能集使這些捕獲成為可能,其功能包括上文提到的,超越了現(xiàn)有產(chǎn)品的解決方案。

使用場(chǎng)景

CDC 的經(jīng)典應(yīng)用是異質(zhì)數(shù)據(jù)庫(kù)之間的數(shù)據(jù)同步或備份。你可以在 ??MySQL??、PostgreSQL、MariaDB 和類(lèi)似的數(shù)據(jù)庫(kù)間進(jìn)行數(shù)據(jù)同步。另外一個(gè)例子,你也可以將數(shù)據(jù)同步到應(yīng)該全文搜索引擎。借助 CDC,你可以基于 CDC 捕獲的數(shù)據(jù)創(chuàng)建備份。

如果設(shè)計(jì)得當(dāng),數(shù)據(jù)分析系統(tǒng)通過(guò)訂閱目標(biāo)數(shù)據(jù)表的變化情況獲取需要處理的數(shù)據(jù),而不需要將分析過(guò)程嵌入已有系統(tǒng)。

在微服務(wù)間共享數(shù)據(jù)狀態(tài)

微服務(wù)現(xiàn)在很流行,但是在微服務(wù)間共享信息往往是一件復(fù)雜的事。CDC 是一個(gè)可能的解決方案。微服務(wù)可以使用 CDC 來(lái)獲取其他微服務(wù)的數(shù)據(jù)庫(kù)變化,獲取數(shù)據(jù)狀態(tài)更新,以及執(zhí)行相應(yīng)邏輯。

更新緩存

命令查詢(xún)責(zé)任隔離Command Query Responsibility Segregation(??CQRS??)的概念是將命令活動(dòng)與查詢(xún)活動(dòng)分開(kāi)。這兩者有本質(zhì)上的不同:

  • 命令向數(shù)據(jù)源寫(xiě)入數(shù)據(jù)。
  • 查詢(xún)從數(shù)據(jù)源讀取數(shù)據(jù)。

問(wèn)題是,讀事件發(fā)生的時(shí)間與寫(xiě)事件發(fā)生的時(shí)間有關(guān),以及這些事件的發(fā)生是由誰(shuí)來(lái)承擔(dān)責(zé)任的?

更新緩存可能很困難。你可以使用 CDC 從數(shù)據(jù)庫(kù)獲取數(shù)據(jù)更新事件,讓它控制緩存的更新或失效。

CQRS 設(shè)計(jì)通常使用兩種不同的存儲(chǔ)實(shí)例來(lái)支持業(yè)務(wù)查詢(xún)和變更操作。為了保證數(shù)據(jù)的一致性,我們可以使用分布式事務(wù)來(lái)保證強(qiáng)大的數(shù)據(jù)一致性,代價(jià)是可用性、性能和擴(kuò)展性。你也可以使用 CDC 來(lái)確保最終的數(shù)據(jù)一致性,它的性能和伸縮性較好,但其代價(jià)是數(shù)據(jù)延遲,目前業(yè)界可以保持在毫秒范圍內(nèi)。

例如,你可以使用 CDC 把 MySQL 中的數(shù)據(jù)同步到你的全文搜索引擎(比如ElasticSearch)。在這種架構(gòu)中,ElasticSearch 搜索了所有的查詢(xún),但是當(dāng)你需要修改數(shù)據(jù)時(shí),你不能直接操作 ElasticSearch 的,你需要修改上游的 MySQL 數(shù)據(jù),因而生成了一個(gè)更新事件。當(dāng) ElasticSearch 監(jiān)視數(shù)據(jù)庫(kù)時(shí),這個(gè)事件就被系統(tǒng)獲取了,并在 ElasticSearch 中提示更新。

在一些 CQRS 系統(tǒng)中,也可以用類(lèi)似的方法更新查詢(xún)視圖。

痛點(diǎn)

CDC 不是一個(gè)新概念,很多現(xiàn)有的項(xiàng)目已經(jīng)實(shí)現(xiàn)了它。但是對(duì)很多用戶(hù)來(lái)說(shuō),已有解決方案存在一些不足。

單數(shù)據(jù)表配置

當(dāng)你使用一些 CDC 軟件時(shí),你必須分別配置每個(gè)表。例如,為了同步十張表,你需要寫(xiě)十條 源 SQL 和 匯聚Sink

有時(shí)候,對(duì)于一張表來(lái)說(shuō)可以手寫(xiě),但只對(duì)數(shù)據(jù)量小的情況適用。當(dāng)數(shù)據(jù)量大時(shí),會(huì)發(fā)生類(lèi)型映射或參數(shù)配置的錯(cuò)誤,進(jìn)而導(dǎo)致較高的操作和維護(hù)成本。

SeaTunnel 是一個(gè)易用的數(shù)據(jù)集成平臺(tái),有望解決這個(gè)問(wèn)題。

不支持模式演化

一些 CDC 解決方案支持 DDL 事件傳遞,但不支持傳遞到 匯聚節(jié)點(diǎn)Sink,以便它能進(jìn)行同步變更。由于無(wú)法根據(jù) DDL 事件改變轉(zhuǎn)換的類(lèi)型信息,所以即使一個(gè)能獲取事件的 CDC 也不一定可以將它發(fā)送至引擎(所以匯聚節(jié)點(diǎn)不能遵循 DDL 事件來(lái)進(jìn)行變更)。

太多的鏈接

在一些 CDC 平臺(tái)上,當(dāng)有多個(gè)表時(shí),如果一張表被同步了,就必須使用一個(gè)鏈接來(lái)代表一張表。當(dāng)存在多個(gè)表時(shí),也需要很多鏈接。這就給源 JDBC 數(shù)據(jù)庫(kù)帶來(lái)了壓力,同時(shí)導(dǎo)致binlog 過(guò)多,還會(huì)導(dǎo)致重復(fù)的日志解析。

SeaTunnel CDC 架構(gòu)的目標(biāo)

Apache SeaTunnel 是一個(gè)開(kāi)源、高效、分布式、大規(guī)模的數(shù)據(jù)集成框架。為了解決現(xiàn)有數(shù)據(jù)集成工具解決不了的問(wèn)題,開(kāi)發(fā)者社區(qū)“重新造輪子”,開(kāi)發(fā)了一種具有獨(dú)特功能的 CDC 平臺(tái)。它的架構(gòu)設(shè)計(jì)吸收了現(xiàn)有工具的優(yōu)點(diǎn),消除了相應(yīng)的缺點(diǎn)。

Apache Seatunnel 支持:

  • 以無(wú)鎖并行的方式快照歷史數(shù)據(jù)。
  • 日志心跳檢測(cè)和動(dòng)態(tài)添加數(shù)據(jù)表。
  • 讀取子數(shù)據(jù)庫(kù)、子表和多結(jié)構(gòu)表。
  • 模式演進(jìn)。
  • 所有基礎(chǔ)的 CDC 功能。

它降低了用戶(hù)的操作和維護(hù)成本,并且支持動(dòng)態(tài)添加數(shù)據(jù)表。

例如,當(dāng)你要同步整個(gè)數(shù)據(jù)庫(kù),并在稍后需要添加一個(gè)新表,你不必手動(dòng)維護(hù)、改變配置或重啟當(dāng)前作業(yè)。

另外,Apache SeaTunnel 也支持并行讀取子數(shù)據(jù)庫(kù)、子表和多結(jié)構(gòu)表。還支持模式演進(jìn)、DDL 轉(zhuǎn)換,以及在引擎內(nèi)改變支持的模式,這些可以變?yōu)?nbsp;轉(zhuǎn)換器Transform和 匯聚節(jié)點(diǎn)Sink。

SeaTunnel CDC 現(xiàn)狀

如今,CDC 擁有支持增量和快照階段的基本能力。它也支持 MySQL 實(shí)時(shí)和離線(xiàn)使用。MySQL 實(shí)時(shí)測(cè)試已完成,即將進(jìn)行離線(xiàn)測(cè)試。因?yàn)樗婕皩?duì)轉(zhuǎn)換器和匯聚節(jié)點(diǎn)的更改,目前還不支持模式。不支持動(dòng)態(tài)發(fā)現(xiàn)新增表,已預(yù)留了一些支持多結(jié)構(gòu)表的接口。

項(xiàng)目展望

作為 Apache 孵化的項(xiàng)目,Apache SeaTunnel 的社區(qū)正快速發(fā)展起來(lái)。下一屆社區(qū)計(jì)劃會(huì)議的主要目標(biāo)有:

1、發(fā)展并改進(jìn)連接器和目錄生態(tài)

我們正努力改善連接器和目錄功能,包括:

  • 支持連接更多數(shù)據(jù)庫(kù),包括 TiDB、Doris 和 Stripe。
  • 改善現(xiàn)有的連接器的易用性和性能。
  • 支持 CDC 連接器用于實(shí)時(shí)、增量同步場(chǎng)景。

任何對(duì)連接器感興趣者都可以查看 ??Umbrella??。

2、支持更多數(shù)據(jù)集成場(chǎng)景(SeaTunnel 引擎)

現(xiàn)有的引擎仍然存在一些解決不了的痛點(diǎn),例如對(duì)整個(gè)數(shù)據(jù)庫(kù)的同步,表結(jié)構(gòu)變化的同步以及任務(wù)失敗的大粒度。

我們正努力解決這些問(wèn)題,對(duì)此感興趣者可以查看 ??#2272 議題??。

3、更易使用(Web 版)

我們正努力提供 Web 界面,令操作更簡(jiǎn)便。通過(guò) Web 界面,我們將實(shí)現(xiàn)以 DAG/SQL 的形式查看目錄、連接器、任務(wù)和相關(guān)信息。我們也會(huì)給予用戶(hù)訪問(wèn)調(diào)度平臺(tái)的權(quán)限,以便更方便地進(jìn)行任務(wù)管理。

欲了解更多關(guān)于 Web 版的信息,請(qǐng)?jiān)L問(wèn) ??Web 平臺(tái)子項(xiàng)目??。

總結(jié)

數(shù)據(jù)庫(kù)活動(dòng)通常必須被仔細(xì)跟蹤,才能對(duì)數(shù)據(jù)的更新、刪除或添加操作進(jìn)行管理。CDC 提供了這種功能。Apache SeaTunnel 是一個(gè)開(kāi)源解決方案,能滿(mǎn)足這些需求,它將持續(xù)迭代更新,從而提供更多功能。該項(xiàng)目和社區(qū)也很活躍,歡迎你的加入。

(題圖:MJ:database connections illustration in high resolution, very detailed, 8k)

責(zé)任編輯:龐桂玉 來(lái)源: Linux中國(guó)
相關(guān)推薦

2020-12-21 09:40:16

數(shù)據(jù)庫(kù)工具技術(shù)

2018-10-29 11:33:29

2024-12-06 08:29:29

2012-09-20 09:43:37

SSIS

2021-06-03 21:54:33

數(shù)據(jù)庫(kù)框架緩存

2020-08-31 07:00:00

數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)同步

2020-07-29 10:55:07

數(shù)據(jù)庫(kù)工具技術(shù)

2024-03-13 10:40:00

性能探測(cè)工具SQL語(yǔ)句數(shù)據(jù)庫(kù)

2021-01-10 15:29:53

開(kāi)源數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)

2020-02-11 20:00:29

開(kāi)源開(kāi)源工具天氣預(yù)報(bào)

2021-04-09 06:15:54

開(kāi)源工具Python編程語(yǔ)言

2023-03-29 07:02:46

開(kāi)源項(xiàng)目工具

2021-07-07 10:12:08

數(shù)據(jù)庫(kù)工具技術(shù)

2020-12-24 10:20:43

文檔工具語(yǔ)言

2021-04-18 21:54:36

Python工具開(kāi)發(fā)

2011-03-25 13:55:17

PHP開(kāi)源數(shù)據(jù)庫(kù)

2021-05-16 14:27:17

開(kāi)源數(shù)據(jù)庫(kù)開(kāi)源數(shù)據(jù)庫(kù)

2024-07-09 08:27:30

2011-03-17 11:38:35

2011-04-11 13:09:56

數(shù)據(jù)庫(kù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)