chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

加速數(shù)據(jù)傳輸:通過NineData數(shù)據(jù)復(fù)制技術(shù)加速實(shí)時(shí)數(shù)倉構(gòu)建

數(shù)據(jù)庫小組 ? 來源:數(shù)據(jù)庫小組 ? 作者:數(shù)據(jù)庫小組 ? 2023-08-31 16:11 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

8月30日,由 NineData 和 SelectDB 共同舉辦的主題為“實(shí)時(shí)數(shù)據(jù)驅(qū)動,引領(lǐng)企業(yè)智能化數(shù)據(jù)管理”的線上聯(lián)合發(fā)布會,圓滿成功舉辦!雙方聚焦于實(shí)時(shí)數(shù)據(jù)倉庫技術(shù)和數(shù)據(jù)開發(fā)能力,展示如何通過強(qiáng)大的生態(tài)開發(fā)兼容性,對接豐富的大數(shù)據(jù)生態(tài)產(chǎn)品,助力企業(yè)快速開展數(shù)據(jù)分析業(yè)務(wù),共同探索實(shí)時(shí)數(shù)據(jù)驅(qū)動的未來企業(yè)智能化數(shù)據(jù)管理解決方案。

本文根據(jù)玖章算術(shù)技術(shù)副總裁陳長城(天羽)在NineData X SelectDB 聯(lián)合發(fā)布會的主題演講內(nèi)容整理。

wKgaomTwSx-AKA4-AAFFMoZCQA0480.jpg

陳長城(天羽)玖章算術(shù)技術(shù)副總裁

?? 嘉賓簡介

陳長城,曾任阿里云數(shù)據(jù)庫中臺負(fù)責(zé)人和阿里云數(shù)據(jù)庫生態(tài)工具部總經(jīng)理,前阿里云資深技術(shù)專家。帶領(lǐng)阿里云數(shù)據(jù)庫基礎(chǔ)設(shè)施完成三次架構(gòu)變革,從去 IOE 到分布式、異地多活、容器化和存儲計(jì)算分離,是歷年雙 11 大促的數(shù)據(jù)庫核心負(fù)責(zé)人和容量、架構(gòu)規(guī)劃者。主導(dǎo)云原生工具體系架構(gòu)升級并打造一站式管理能力。發(fā)表過多篇技術(shù)專利和 VLDB、ICDE 數(shù)據(jù)庫頂會論文。

1 NineData產(chǎn)品介紹

在數(shù)據(jù)和云的時(shí)代企業(yè)數(shù)字化面臨諸多挑戰(zhàn),從Gartner和Percona的報(bào)告中,我們知道80%以上的企業(yè)會選擇多云或混合云,而超過70%的企業(yè)會選擇使用多種數(shù)據(jù)庫來滿足業(yè)務(wù)需求。在行業(yè)的分析報(bào)告中,我們發(fā)現(xiàn),如果企業(yè)能夠有效使用多源基礎(chǔ)架構(gòu)和新的數(shù)據(jù)架構(gòu),它們的創(chuàng)新能力和整體盈利能力將會明顯提升。然而,在數(shù)據(jù)和云的時(shí)代下,企業(yè)數(shù)據(jù)管理的挑戰(zhàn)更多,例如數(shù)據(jù)孤島、多源異構(gòu)數(shù)據(jù)管理復(fù)雜度以及開發(fā)效率等,都是急需解決的。

基于上述普遍存在的問題和挑戰(zhàn),玖章算術(shù)建設(shè)了NineData云原生智能數(shù)據(jù)管理平臺。最底層IaaS接口層統(tǒng)一對接各場景的各種數(shù)據(jù)源,基于此建設(shè)NineData數(shù)據(jù)備份、數(shù)據(jù)復(fù)制、數(shù)據(jù)對比和SQL開發(fā)四大核心功能模塊,與企業(yè)的數(shù)據(jù)庫、搜索、消息隊(duì)列、數(shù)倉等數(shù)字系統(tǒng)緊密聯(lián)動,幫助企業(yè)保護(hù)數(shù)據(jù)資產(chǎn),基于多云和混合云靈活構(gòu)建基礎(chǔ)設(shè)施,統(tǒng)一安全管理,提升數(shù)據(jù)庫開發(fā)效率。

wKgZomTwSyCAKX4fAAQGsYSZuMA593.jpg

玖章算術(shù)建設(shè)了NineData云原生智能數(shù)據(jù)管理平臺

這里展開介紹一下SQL開發(fā),它是一種讓企業(yè)內(nèi)外部所有開發(fā)者都遵循統(tǒng)一數(shù)據(jù)訪問規(guī)范并提升效率的最佳實(shí)踐產(chǎn)品化,當(dāng)前企業(yè)面對多云和多種數(shù)據(jù)源,雖然各種數(shù)據(jù)源有各自的CLI或圖形管理工具,但存在這些問題:

權(quán)限分散、審計(jì)欠缺,安全管控難度大 ;

各個(gè)工具建設(shè)程度不一,體驗(yàn)一般,開發(fā)效率低;

無法形成統(tǒng)一規(guī)范,數(shù)據(jù)庫生產(chǎn)穩(wěn)定性缺乏保障;

多環(huán)境、多種數(shù)據(jù)源無法統(tǒng)一管理。

針對這些問題,NineData設(shè)計(jì)了企業(yè)級數(shù)據(jù)庫安全管理能力,通過統(tǒng)一數(shù)據(jù)源對接各云廠商和自建的各種數(shù)據(jù)源,設(shè)計(jì)任務(wù)流和審批流、安全規(guī)則配置、權(quán)限管理與操作審計(jì)、SSO支持等基礎(chǔ)組件,將企業(yè)的數(shù)據(jù)(實(shí)例、庫、表)+ 賬號角色 + 操作類型 通過規(guī)則引擎統(tǒng)一管理,并內(nèi)置數(shù)據(jù)庫SQL開發(fā)的穩(wěn)定性和安全最佳實(shí)踐,提供數(shù)據(jù)庫訪問權(quán)限管理、變更管理、敏感數(shù)據(jù)管理、數(shù)據(jù)導(dǎo)入導(dǎo)出等功能。NineData提供簡單GUI的個(gè)人版和高效協(xié)同的企業(yè)版兩種服務(wù)方式,并結(jié)合大模型AIGC的能力,在自然語音查詢數(shù)據(jù)、表結(jié)構(gòu)設(shè)計(jì)改寫、SQL優(yōu)化建議方面提升開發(fā)者效率。

wKgaomTwSyCAZxXlAANdyZ6yEeQ078.jpg

NineData設(shè)計(jì)了企業(yè)級數(shù)據(jù)庫安全管理能力

企業(yè)在數(shù)據(jù)復(fù)制場景下也面臨著多數(shù)據(jù)源、多云數(shù)據(jù)打通、跨地域長周期復(fù)制,以及由此帶來的同能和穩(wěn)定性方面的問題。NineData數(shù)據(jù)復(fù)制致力于提供數(shù)據(jù)流動的基礎(chǔ)設(shè)施。消除不同數(shù)據(jù)庫類型、不同廠商、不同環(huán)境下的造成的數(shù)據(jù)流動難點(diǎn),幫助企業(yè)最大地發(fā)揮數(shù)據(jù)價(jià)值。目前NineData以及支持13種數(shù)據(jù)源的單雙向鏈路,強(qiáng)勁的復(fù)制性能和完善的數(shù)據(jù)對比功能,具體將在后面展開。

2 數(shù)據(jù)復(fù)制技術(shù)架構(gòu)

先介紹下NineData整體架構(gòu),基于多云和多源能力,我們構(gòu)建了數(shù)據(jù)備份、數(shù)據(jù)復(fù)制、數(shù)據(jù)對比和SQL開發(fā)能力。

2.1 多云角度

從多云角度,為了幫助企業(yè)統(tǒng)一管理分散在多云或混合云的各種數(shù)據(jù)源,我們設(shè)計(jì)了靈活的云原生架構(gòu)、容器化彈性拉起、網(wǎng)絡(luò)架構(gòu)等。

?? 支持專屬集群

支持多云的同時(shí),我們通過專屬集群的技術(shù),能夠讓企業(yè)獨(dú)享本身的資源。包括我們可以把企業(yè)的worker節(jié)點(diǎn)放置在企業(yè)本地或VPC內(nèi)部,實(shí)現(xiàn)數(shù)據(jù)的內(nèi)部閉環(huán),提高企業(yè)數(shù)據(jù)安全和worker執(zhí)行效率。

wKgaomTwSyGAXm2bAAISE95xENI601.jpg

NineData支持專屬集群

?? 云原生的 SAAS 模式

NineData 作為一個(gè)云原生的 SAAS 產(chǎn)品,按需拉起、彈性伸縮是最基本的能力。

?? 網(wǎng)絡(luò)安全

網(wǎng)絡(luò)方面,基于安全考慮,很多企業(yè)客戶不希望暴露數(shù)據(jù)庫的公網(wǎng)端口,因此,我們設(shè)計(jì)了一個(gè)數(shù)據(jù)庫網(wǎng)關(guān),通過這種設(shè)計(jì),用戶只需拉起一個(gè)NineData數(shù)據(jù)庫網(wǎng)關(guān),就能夠連接我們的中心管理節(jié)點(diǎn),從而建立反向訪問通道,能夠把散落在各地、以及包括內(nèi)部的數(shù)據(jù)源的統(tǒng)一管理。此外,我們的NineData worker也可以放到用戶本地,實(shí)現(xiàn)數(shù)據(jù)鏈路的內(nèi)部閉環(huán),而管理鏈路依然可以通過中心控制臺實(shí)現(xiàn)統(tǒng)一的鏈路管理。

2.2 多源方面

在多源方面,我們主要設(shè)計(jì)了統(tǒng)一數(shù)據(jù)源接入層。為了接入眾多數(shù)據(jù)源,我們對數(shù)據(jù)源的連接池管理、屬性配置、連接檢查和安全認(rèn)證做了統(tǒng)一抽象。這樣可以將所有的數(shù)據(jù)源統(tǒng)一接入。我們的四大主要功能模塊都使用相同的數(shù)據(jù)源接入層,實(shí)現(xiàn)一次接入所有功能都可用。對于用戶來說,就實(shí)現(xiàn)了真正的統(tǒng)一管理。

wKgZomTwSyKAGKskAAPVNQWLv_8897.jpg

NineDataq在多源方面,主要設(shè)計(jì)了統(tǒng)一數(shù)據(jù)源接入層

在NineData的產(chǎn)品設(shè)計(jì)中,安全不是單一的任務(wù)或功能,而是自始至終灌輸在產(chǎn)品設(shè)計(jì)、開發(fā)、運(yùn)維的全過程中,我們在數(shù)據(jù)傳輸加密、運(yùn)維白屏、操作審計(jì)方面做了很多工作,同時(shí)NineData通過內(nèi)部測試和三方審計(jì)多方位保護(hù)數(shù)據(jù)安全。

一個(gè)典型的NineData數(shù)據(jù)復(fù)制鏈路拓?fù)洌?dāng)您配置完源和目標(biāo)之后,NineData 就會讓整個(gè)鏈路開始運(yùn)行。一開始會有一個(gè)預(yù)檢查,檢查您的網(wǎng)絡(luò)連接、賬號密碼等是否正確。接下來會進(jìn)行結(jié)構(gòu)復(fù)制,抓取和寫入全量數(shù)據(jù)和增量數(shù)據(jù)。

從產(chǎn)品層面,我們要支持多云多源,除了上面介紹的彈性架構(gòu)和網(wǎng)絡(luò)架構(gòu)外,我們在復(fù)制模塊的多種數(shù)據(jù)類型兼容和擴(kuò)展性做了重要的設(shè)計(jì),同時(shí)多源異構(gòu)長期運(yùn)行必然存在少部分不兼容場景,我們在可觀測和可干預(yù)方面也重點(diǎn)做了功能設(shè)計(jì)。數(shù)據(jù)傳輸內(nèi)核模塊的底線是保障數(shù)據(jù)一致,同時(shí)在吞吐和延時(shí)上具備領(lǐng)先的優(yōu)勢,因此我們在這方面做了很多工作。后面核心特性的分享將圍繞這幾個(gè)點(diǎn)進(jìn)行展開。

3 數(shù)據(jù)復(fù)制的核心特性

3.1 吞吐能力

以全量性能為例,主要有幾個(gè)重要的優(yōu)化項(xiàng):

?? 大表遷移性能

大表遷移性能是最常見的瓶頸,假設(shè)我們在源端有一些數(shù)據(jù)需要處理,其中有許多表,而且它們的數(shù)據(jù)量都不同。如果我們同時(shí)啟動三個(gè)并發(fā)線程進(jìn)行處理,那么可能會出現(xiàn)一些數(shù)據(jù)量小的表已經(jīng)處理完了,但是一些數(shù)據(jù)量較大的表仍然在等待單個(gè)線程進(jìn)行處理的情況。如果表級并發(fā),就會類似的問題。因此,為了提高整個(gè)效率,我們必須增強(qiáng)表內(nèi)的并發(fā)能力。具體來說,我們需要考慮表的切片是否均勻。為此,我們制定了一項(xiàng)策略,即默認(rèn)組件支持一鍵拆分,依次通過主鍵、非空唯一鍵、可空唯一鍵、普通鍵等這種順序支持拆分,以盡力最均衡的方式實(shí)現(xiàn)并發(fā)處理。

并發(fā)寫入還連帶著一個(gè)空間問題,在使用過程中,在源端如果您將100G的數(shù)據(jù)寫入,在目標(biāo)端它可能會變成150G。這是因?yàn)槿绻麊蝹€(gè)表亂序提交的話,就可能會產(chǎn)生一些數(shù)據(jù)空洞。為此,NineData在切片大小和并發(fā)順序方面進(jìn)行了優(yōu)化以控制寫入放大。

?? 目標(biāo)庫寫入

要以對目標(biāo)庫損耗最少的方法寫入,才能獲得最大性能。解決通道性能,并且它可以線性擴(kuò)展之后,吞吐量的瓶頸就不在通道上,而在目標(biāo)庫的寫入上。因此目標(biāo)庫的寫入姿勢就非常重要。如果每條SQL都需要在目標(biāo)端進(jìn)行解析,那么性能肯定會差。因此,我們需要采用一些批量提交的方式。同時(shí)在處理壓縮開關(guān)時(shí),需要注意CPU的數(shù)量。在CPU數(shù)量較少的情況下,啟用壓縮會對性能產(chǎn)生較大的影響。

?? 內(nèi)存優(yōu)化

內(nèi)存優(yōu)化可以提升吞吐性能。因?yàn)檎麄€(gè)全量復(fù)制的特點(diǎn)是批量加載到內(nèi)容而且快速寫入目標(biāo)庫,然后這個(gè)數(shù)據(jù)就被淘汰了。所以整個(gè)JVM的參數(shù)上做一些針對性的配置優(yōu)化,從而降低內(nèi)存和CPU開銷,提升通道性能。

3.2 低延時(shí)

那么NineData如何構(gòu)建低延時(shí)呢?我們從多個(gè)維度考慮低延時(shí)特性。

?? 通道性能

在通道性能角度,包括一些如Batch、熱點(diǎn)數(shù)據(jù)的合并等。其中熱點(diǎn)數(shù)據(jù)的合并,如果一條記錄從A1改到A2,再改到A3,一般同步模型是全軌跡修改,但開啟熱點(diǎn)能力后,它可能直接合并成終態(tài)的A3插入語句,不會插入A1或update A2,通過這種能力直接以終態(tài)的數(shù)據(jù)寫入,在內(nèi)存中把這個(gè)隊(duì)列直接合并掉。在通道性能層面,還有一些其他設(shè)計(jì)。例如在redis的復(fù)制鏈路中,減少隊(duì)列的序列化代價(jià),從而讓整個(gè)隊(duì)列的消耗降到最低。

?? 通道管理層設(shè)計(jì)

通道管理層面對低延遲的整體系統(tǒng)設(shè)計(jì)也非常重要,這是在我們多年的實(shí)踐中得出的經(jīng)驗(yàn)。要能夠以最小的代價(jià)面對同步鏈路中的各種異常。

(a)降低異常情況下重拉的可能。數(shù)據(jù)庫出現(xiàn)延遲,但是數(shù)據(jù)服務(wù)端的日志已經(jīng)被清除;作為我們云原生的產(chǎn)品,我們會怎么做呢?我們會獲取源端數(shù)據(jù)庫的接口,檢查是否存在被上傳到OSS或者其他對象存儲的日志。如果有,我們會自動獲取并接續(xù)上之前的記錄,從而避免重新進(jìn)行全量拉取,減少延時(shí)。

(b) 盡量少地回退數(shù)據(jù)。我們設(shè)計(jì)了表級別的安全位點(diǎn)。每張表都會有一個(gè)自己最新的位點(diǎn)。如果在回放過程中,這張表的位點(diǎn)曾經(jīng)被使用過,我們會將其拋棄,以避免位點(diǎn)回退。

(c)干凈地運(yùn)維。針對日常的運(yùn)維操作,NineData復(fù)制線程會使隊(duì)列中的所有數(shù)據(jù)都提交完成,使得16個(gè)線程到達(dá)一個(gè)一致的位點(diǎn),然后再關(guān)閉進(jìn)程。通過這種能力,我們實(shí)現(xiàn)了一個(gè)干凈的cleandown,用戶重新啟動后就不會遇到需要回放數(shù)據(jù),這是非常優(yōu)雅的方式之一。

3.3 一致性數(shù)據(jù)同步

數(shù)據(jù)一致性重要性毋庸置疑,這里從數(shù)據(jù)一致性和DDL結(jié)構(gòu)一致性兩方面各重點(diǎn)介紹一個(gè)NineData的設(shè)計(jì)特性,同時(shí)NineData實(shí)現(xiàn)了完善的數(shù)據(jù)對比功能。

wKgaomTwSyKAP55dAAL7CiLw-Kk556.jpg

NineData支持一致性數(shù)據(jù)同步

?? 數(shù)據(jù)一致性

數(shù)據(jù)本身的一致性問題,如何保障事務(wù)一致性。舉個(gè)例子,假設(shè)我們有T1到T5這五個(gè)事務(wù),其中B1是訂單狀態(tài),從B1創(chuàng)建訂單,到B3可能是用戶付款,這時(shí)會產(chǎn)生一個(gè)物流訂單L。如果我們采用正常的行級同步方式,訂單和物流訂單會分別存儲在不同的表中,由于行級的并發(fā)性,無法保證它們的順序性。因此,B1和L可能同時(shí)出現(xiàn)在目標(biāo)庫中,也就是說在創(chuàng)建訂單時(shí),物流訂單也已經(jīng)被創(chuàng)建了。對于在線業(yè)務(wù)來說,這肯定是違背業(yè)務(wù)邏輯,無法支持在線業(yè)務(wù)的正常運(yùn)行。

因此,我們構(gòu)建了一個(gè)事務(wù)一致性能力,用戶可以開啟事務(wù)能力。當(dāng)用戶開啟事務(wù)能力時(shí),我們會檢查T3這個(gè)事務(wù)中的每條記錄與之前所有事務(wù)是否存在依賴關(guān)系。如果存在,T3將等待其他事務(wù)都提交完畢后再提交,確保數(shù)據(jù)的一致性。因此,第一次提交只會提交T1到T4,T3會等待T2提交完畢后再提交。這是一種保證數(shù)據(jù)一致性的同步機(jī)制。

?? DDL變更同步的一致性

DDL變更同步的一致性問題,具體來說,以表結(jié)構(gòu)為例,如果我們遇到了表結(jié)構(gòu)的變更,一般的解決方法是查看源端的表結(jié)構(gòu)。然而,由于數(shù)據(jù)日志中大部分只有數(shù)據(jù)和表名,缺少結(jié)構(gòu)和類型等信息,因此我們需要回查數(shù)據(jù)源來獲取結(jié)構(gòu)信息,并拼接出最終的結(jié)果。但是,很可能在回查時(shí)源端已經(jīng)發(fā)生了第二次DDL,導(dǎo)致我們獲取到的是已經(jīng)又被修改過的DDL,從而拼接出的數(shù)據(jù)不一致和出現(xiàn)錯(cuò)誤。

因此,我們開發(fā)了一種DDL解析能力,即在DDL解析完成后,直接在同步線程解析線程中進(jìn)行重放。同時(shí),我們記錄每個(gè)變更的版本,重放的同時(shí)生成新版本,舊版本不刪除。這樣,任何表在任何時(shí)刻都可以隨時(shí)查到其Meta結(jié)構(gòu),而不需要像其他業(yè)界實(shí)踐一樣,需要從頭開始重新回放一遍。

?? 數(shù)據(jù)對比

在數(shù)據(jù)對比方面,NineData將其作為一個(gè)重要的產(chǎn)品能力進(jìn)行建設(shè),我們認(rèn)為數(shù)據(jù)對比對整個(gè)數(shù)據(jù)質(zhì)量的影響非常重要。因此,在結(jié)構(gòu)對比、數(shù)據(jù)對比以及訂正SQL生成等方面,我們在功能上做得非常全面。其次,我們會考慮數(shù)據(jù)對比對用戶的源庫和目標(biāo)庫帶來的負(fù)載。這些負(fù)載對于許多生產(chǎn)人員來說非常重要。因此,我們制定了許多策略,例如:僅對不一致的數(shù)據(jù)進(jìn)行復(fù)檢,可以控制并發(fā)和限流,設(shè)置抽樣比例和條件過濾,僅對某一范圍內(nèi)的數(shù)據(jù)進(jìn)行比較等等。同時(shí),在性能方面,我們也做有特色的優(yōu)化。常規(guī)的數(shù)據(jù)對比會拉出源和目標(biāo)的所有數(shù)據(jù),就會耗費(fèi)大量計(jì)算資源和帶寬,因此我們做了比較優(yōu)雅的計(jì)算下推,只對不一致數(shù)據(jù)進(jìn)行回表再逐個(gè)字段對比。

3.4 可擴(kuò)展性,加速實(shí)時(shí)數(shù)倉構(gòu)建

在可擴(kuò)展性方面,如何在NineData里面支持快速地新增數(shù)據(jù)源?意味著我們需要快速支持結(jié)構(gòu)和數(shù)據(jù)類型的轉(zhuǎn)換,以及快速將通道產(chǎn)品化,這些都是我們的目前重要的思考因素。我們的整個(gè)設(shè)計(jì)思路就希望說,把原來的各種源到目標(biāo)的這種N乘M的這種拓?fù)浞椒?,能夠通過N加M的這種方式來實(shí)現(xiàn)。

我們先講一下數(shù)據(jù)類型,因?yàn)閿?shù)據(jù)類型可能會對于最終一致性,大家會更加的在意,業(yè)界無論是在FiveTran、Airbvte、NIFI、NineData等方面的開源項(xiàng)目或者還是商用項(xiàng)目中,都定義了很多中間類型。今天,NineData 也是定義了一些中間類型,因?yàn)橹虚g類型抽象得越好,它的種類就越少,這意味著新增的數(shù)據(jù)源我們需要開發(fā)convert 的工作量就越少。因此,如何更好地抽象到更少的樣本集里,是整體更好的抽象方法。

第二個(gè)抓取和寫入模塊的插件化,最大程度復(fù)用代碼,提升產(chǎn)品化效率和穩(wěn)定性。我們提供了一個(gè)叫做關(guān)系數(shù)據(jù)提交框架。該框架把DDL/DML的庫、表、主鍵級別沖突等待,事務(wù)沖突等待,熱點(diǎn)合并和攢批優(yōu)化SQL都抽象出來,使得后面接入的數(shù)據(jù)源可以天然地具備這些能力。

wKgZomTwSyOAT7UjAAHTvZi2vFM305.jpg

NineData支持快速地新增數(shù)據(jù)源的底層設(shè)計(jì)

當(dāng)前NineData已經(jīng)廣泛支持了MySQL、PostgreSQL、SQLServer、 Redis、MongoDB、Kafka、 ElasticSearch、SelectDB(Doris)等數(shù)據(jù)庫,并在其系列上對接了主流的各云廠商產(chǎn)品。這里重點(diǎn)介紹下SelectDB和ClickHouse的特性設(shè)計(jì)。

wKgaomTwSySAMVKrAAMAmyYGVQ8928.jpg

NineData支持SelectDB和ClickHouse的特性設(shè)計(jì)

?? 結(jié)構(gòu)復(fù)制

NineData支持了MySQL所有DDL自動同步到SelectDB,包括Distribute Key的自適應(yīng)和SQL改寫,跨庫的create table like SQL改寫等。

?? 數(shù)據(jù)復(fù)制

我們定義了NineData中間類型到SelectDB數(shù)據(jù)類型的一一映射,實(shí)現(xiàn)數(shù)據(jù)類型以及字符集映射,同時(shí)對于時(shí)間類型,支持根據(jù)服務(wù)端Global TimeZone進(jìn)行跨時(shí)區(qū)數(shù)據(jù)遷移。

?? 數(shù)據(jù)處理

支持在復(fù)制過程中篩選同步對象,同時(shí)進(jìn)行操作類型過濾(如只復(fù)制Insert不復(fù)制Delete)、基于數(shù)據(jù)計(jì)算進(jìn)行過濾、數(shù)據(jù)類型轉(zhuǎn)換。

?? 性能優(yōu)化

除了復(fù)制框架支持的寫入合并外,NineData數(shù)據(jù)復(fù)制支持以Stream模式進(jìn)行全量或增量寫入,在MySQL->SelectDB(Doris)的測試中,云上同Region測試30個(gè)并發(fā)可以達(dá)到209MB/S,88W RPS(單行平均250B左右)。

NineData在ClickHouse的支持上也做了細(xì)致的設(shè)計(jì),結(jié)構(gòu)映射方面支持用戶選擇CollapsingMergeTree或ReplacingMergeTree進(jìn)行復(fù)制,支持了ClickHouse各數(shù)據(jù)類型的映射,包括默認(rèn)值差異的處理。在性能方面,類似于Airbyte的做法會將所有增量數(shù)據(jù)合成一個(gè)文件,因?yàn)镃lickHouse引擎中的許多增刪改都是變成直接增加,因此這種方式相對簡單。但這種方式會帶來較大的延遲。因此,在實(shí)現(xiàn)過程中,我們考慮使用SQL的方式進(jìn)行提交,來了多少條就立即轉(zhuǎn)集批提交,可以動態(tài)地控制,例如超過1000條或0.5秒,可以幾百毫秒就提交。此外,ClickHouse的Jdbc在解析每條語句時(shí)性能較差,因此我們進(jìn)行了一些優(yōu)化,采用批量提交的方式來提高性能。

3.5 高可用機(jī)制

?? 節(jié)點(diǎn)容災(zāi)

NineData所有組件采用高可用架構(gòu),規(guī)避單點(diǎn)風(fēng)險(xiǎn)。任務(wù)節(jié)點(diǎn)跑在分布式容器集群上,容災(zāi)系統(tǒng)自動檢測異常任務(wù)、異常節(jié)點(diǎn)并自動完成任務(wù)跨機(jī)漂移容災(zāi)。

?? 任務(wù)魯棒性

通過動態(tài)內(nèi)存管理,結(jié)合動態(tài)分片、動態(tài)攢批、流式讀寫、彈性擴(kuò)縮容等技術(shù),提升鏈路對負(fù)載的自適應(yīng)能力,有效保障任務(wù)穩(wěn)定性。

?? 斷點(diǎn)續(xù)傳

所有模塊支持定期位點(diǎn)記錄,包括結(jié)構(gòu)復(fù)制、全量復(fù)制、增量復(fù)制、數(shù)據(jù)對比;任意任務(wù)或服務(wù)節(jié)點(diǎn)異常,會基于斷點(diǎn)重啟任務(wù)。通過完善的重試、干預(yù)手段,提升劣網(wǎng)、數(shù)據(jù)高負(fù)載、硬件異常等場景下,鏈路的健壯性。

3.6 可觀測可干預(yù)能力

?? 可觀測性

(1)復(fù)制系統(tǒng)針對每個(gè)鏈路有有秒級日志打點(diǎn),可以查看秒級RPS,累計(jì)DDL/DML操作數(shù),隊(duì)列堆積數(shù)等指標(biāo),查看任務(wù)各模塊狀態(tài)。

(2)實(shí)時(shí)查看提交線程狀態(tài)。例如,如果有16個(gè)線程正在運(yùn)行,我們會顯示這16個(gè)線程分別在執(zhí)行哪條SQL,或者任務(wù)是否被DDL卡住等信息??梢酝ㄟ^類似于MySQL Processlist的方式查看每個(gè)線程正在執(zhí)行哪些操作,已經(jīng)執(zhí)行了多長時(shí)間等信息。在同步過程中,用戶可能會在目標(biāo)端、新的寫入等可能會遇到一些問題,導(dǎo)致這個(gè)兩邊寫數(shù)據(jù)沖突等。因此,我們在可觀測性方面不僅會將基本狀態(tài)完全透露給用戶,還會提供每個(gè)線程提交的語句。

?? 可干預(yù)能力

(1)修改同步對象,對于長期復(fù)制任務(wù),用戶可能因?yàn)闃I(yè)務(wù)變化,需要添加新的對象到同步鏈路中,可以在界面上直接添加,后臺會創(chuàng)建新對象的結(jié)構(gòu)初始化、全量和增量,并在追上后合并同步對象到現(xiàn)有鏈路中。

(2)成熟的異常處理能力。對于異常任務(wù),NineData會顯示具體的報(bào)錯(cuò)信息,用戶可以進(jìn)行SQL級別的語句訂正和重試,或者跳過,從而在少量目標(biāo)雙寫或結(jié)構(gòu)不一致情況下,依然可以快速修復(fù)任務(wù),保障目標(biāo)數(shù)據(jù)的及時(shí)性和正確性。

wKgZomTwSyaAaVadAANUGIZMD0c449.jpg

NineData的可觀測可干預(yù)能力

3.6 能力數(shù)據(jù)復(fù)制小結(jié)

NineData數(shù)據(jù)復(fù)制的設(shè)計(jì)目標(biāo)是Any Where、Any Data、AnyTime的服務(wù)客戶的數(shù)據(jù)流動場景。當(dāng)前主流數(shù)據(jù)源以及比較完整,兼容適配了各種復(fù)雜的網(wǎng)絡(luò)環(huán)境,深度適配VPN、專線、堡壘機(jī)、云廠商VPC和私網(wǎng)訪問等方案,可以通過SaaS服務(wù)或?qū)偌悍绞椒?wù)客戶,保障數(shù)據(jù)安全和復(fù)制穩(wěn)定性。

4 典型用戶案例

4.1 國資云客戶

某大型國資云數(shù)據(jù)復(fù)制,客戶全國有30+Region,本身有很多數(shù)據(jù)需要同步,同時(shí)還要提供數(shù)據(jù)復(fù)制產(chǎn)品給他的客戶使用,比如該云的客戶從其他云廠商或自建系統(tǒng)中遷移上云。包括很多復(fù)雜的應(yīng)用場景,如遷移上云、跨云遷移、跨區(qū)域遷移、數(shù)據(jù)容災(zāi)、異地多活等業(yè)務(wù)場景。也面臨非常復(fù)雜的網(wǎng)絡(luò)環(huán)境,Region內(nèi)部/Region之間,和其他云廠商與客戶自有系統(tǒng)之間等各種鏈路。客戶在考察了市面上主流云廠商、數(shù)據(jù)復(fù)制專門廠商的方案后選擇了NineData。

wKgaomTwSyeANYeUAAOBPG13mkI535.jpg

大型國資云使用NineData數(shù)據(jù)復(fù)制的解決方案

4.2 跨境電商企業(yè)

某跨境電商企業(yè)通過NineData實(shí)現(xiàn)實(shí)時(shí)數(shù)倉,指導(dǎo)運(yùn)營分析決策??蛻舻姆治龊瓦\(yùn)營活動基于ClickHouse。MySQL生產(chǎn)是分散在世界各地,比如日本、韓國等,他將各個(gè)地方的在線數(shù)據(jù)匯聚到國內(nèi)的ClickHouse進(jìn)行統(tǒng)一分析和運(yùn)營決策。在這個(gè)過程中,他使用了我們的NineData 復(fù)制產(chǎn)品,NineData在跨地域的復(fù)制方面是具備一些優(yōu)勢。我們的解析模塊、讀取模塊和寫入模塊可以異地部署,解析模塊能夠靠近用戶的源端,寫入端能夠靠近用戶的目的端,從而實(shí)現(xiàn)了整個(gè)性能的更加優(yōu)化。

wKgZomTwSyeAWiKjAANRCNkDkwY980.jpg

跨境電商企業(yè)通過NineData實(shí)現(xiàn)實(shí)時(shí)數(shù)倉,指導(dǎo)運(yùn)營分析決策

4.3 大型地產(chǎn)企業(yè)

某大型地產(chǎn)企業(yè)使用NineData實(shí)現(xiàn)統(tǒng)一數(shù)據(jù)管理。該企業(yè)擁有大量的數(shù)據(jù)庫,但其開發(fā)流程涉及許多合作伙伴,例如ISV或第三方軟件開發(fā)提供商。因此,他們需要將數(shù)據(jù)源的權(quán)限控制委托給這些合作伙伴。在以往的人工管理過程中,權(quán)限管理變得非常復(fù)雜且流程繁瑣,難以統(tǒng)一管理。為此,NineData 提供了一個(gè)統(tǒng)一管理數(shù)據(jù)源的解決方案。通過該方案,統(tǒng)一納管了企業(yè)的所有數(shù)據(jù)源,開發(fā)人員的賬戶初始化、權(quán)限申請以及數(shù)據(jù)開發(fā)流程的可視化等均得到了優(yōu)化,從而大大提升了開發(fā)效率和協(xié)同效率。

wKgaomTwSymABHu3AAUwj5ejQgw017.jpg

大型地產(chǎn)企業(yè)使用NineData實(shí)現(xiàn)統(tǒng)一數(shù)據(jù)管理

最后,NineData 已經(jīng)和數(shù)據(jù)源、云廠商產(chǎn)生了很多密切的合作關(guān)系,并且取得云服務(wù)、信息安全管理、質(zhì)量管理等多項(xiàng)認(rèn)證,在多個(gè)行業(yè)的頭部企業(yè)中廣泛應(yīng)用。NineData 致力于為客戶提供更加穩(wěn)定、更智能的數(shù)據(jù)庫服務(wù),幫助客戶快速構(gòu)建統(tǒng)一的數(shù)據(jù)管理,讓每個(gè)人用好數(shù)據(jù)和云,歡迎大家體驗(yàn)使用。

wKgZomTwSymAauyOAAZrXI6Fh8s302.jpg

NineData 已經(jīng)和數(shù)據(jù)源、云廠商產(chǎn)生了很多密切的合作關(guān)系

NineData是新一代的云原生智能數(shù)據(jù)管理平臺,包含了數(shù)據(jù)復(fù)制、SQL開發(fā)、數(shù)據(jù)備份以及數(shù)據(jù)對比等多種功能。NineData采用領(lǐng)先的云原生與AIGC技術(shù),為云與AI時(shí)代的架構(gòu)設(shè)計(jì)提供了智能數(shù)據(jù)管理平臺。作為業(yè)界首個(gè)支持跨云和本地IDC無縫打通的平臺,能夠幫助客戶輕松完成數(shù)據(jù)上云、跨云數(shù)據(jù)實(shí)時(shí)傳輸、ETL、數(shù)據(jù)備份、企業(yè)級智能SQL開發(fā)、數(shù)據(jù)庫研發(fā)規(guī)范、生產(chǎn)變更以及敏感數(shù)據(jù)管理等功能,從而讓客戶的數(shù)據(jù)使用更加安全高效。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    基于FPGA的USB數(shù)據(jù)傳輸

    你也許會有疑問,明明有這么多通信方式和數(shù)據(jù)傳輸(SPI、I2C、UART、以太網(wǎng))為什么偏偏使用USB呢?
    的頭像 發(fā)表于 08-06 14:47 ?4059次閱讀
    基于FPGA的USB<b class='flag-5'>數(shù)據(jù)傳輸</b>

    像這樣一款體積小巧的DTU數(shù)據(jù)傳輸終端你見過嗎?

    數(shù)據(jù)傳輸
    才茂通信
    發(fā)布于 :2025年06月04日 14:33:29

    SPI數(shù)據(jù)傳輸緩慢問題求解

    我遇到了 SPI 數(shù)據(jù)傳輸速率問題。 盡管將 SPI 時(shí)鐘頻率設(shè)置為 20 MHz,但我只獲得了 2 Kbps 的數(shù)據(jù)傳輸速率。 我正在以 115200 的波特率通過 UART 監(jiān)控數(shù)據(jù)
    發(fā)表于 05-15 08:29

    無線采發(fā)儀 振弦、溫度及多類型信號采集 多種數(shù)據(jù)傳輸方式

    數(shù)據(jù)傳輸
    穩(wěn)控自動化
    發(fā)布于 :2025年03月10日 11:18:58

    信道帶寬與數(shù)據(jù)傳輸速率關(guān)系

    信道帶寬與數(shù)據(jù)傳輸速率之間存在密切的關(guān)系,這種關(guān)系可以通過香農(nóng)定理來具體闡述。 一、理論關(guān)系 根據(jù)香農(nóng)定理,信道的最大數(shù)據(jù)傳輸速率(C)與信道的帶寬(B)和信噪比(SNR)之間存在如下關(guān)系:C=B
    的頭像 發(fā)表于 01-22 16:36 ?3221次閱讀

    請問ldc1000在與主機(jī)進(jìn)行數(shù)據(jù)傳輸的過程中,數(shù)據(jù)傳輸速率設(shè)置為多大合適?

    你好,請問ldc1000在與主機(jī)進(jìn)行數(shù)據(jù)傳輸的過程中,數(shù)據(jù)傳輸速率設(shè)置為多大合適(我的差不多1M),但數(shù)據(jù)一直不對····
    發(fā)表于 01-17 06:37

    MPU數(shù)據(jù)傳輸協(xié)議詳解

    在現(xiàn)代電子系統(tǒng)中,微控制器(MPU)扮演著核心角色,負(fù)責(zé)處理各種任務(wù)和數(shù)據(jù)。為了實(shí)現(xiàn)這些功能,MPU需要與其他設(shè)備進(jìn)行數(shù)據(jù)交換。數(shù)據(jù)傳輸協(xié)議就是規(guī)定這些數(shù)據(jù)交換如何進(jìn)行的一套規(guī)則。 M
    的頭像 發(fā)表于 01-08 09:37 ?1222次閱讀

    總線數(shù)據(jù)傳輸的安全性分析

    概述 CAN總線是一種串行通信協(xié)議,最初由德國Bosch公司設(shè)計(jì)用于汽車中的實(shí)時(shí)控制系統(tǒng)。它通過兩根線(CAN-H和CAN-L)進(jìn)行通信,具有抗干擾能力強(qiáng)、數(shù)據(jù)傳輸可靠等特點(diǎn),是汽車電子元件的“神經(jīng)系統(tǒng)”。它支持發(fā)動機(jī)控制單元(
    的頭像 發(fā)表于 12-31 09:51 ?1053次閱讀

    ptp對實(shí)時(shí)數(shù)據(jù)傳輸的影響

    在現(xiàn)代通信技術(shù)中,點(diǎn)對點(diǎn)(P2P)網(wǎng)絡(luò)已經(jīng)成為數(shù)據(jù)傳輸的一種重要方式。P2P網(wǎng)絡(luò)允許網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)既可以作為客戶端也可以作為服務(wù)器,直接進(jìn)行數(shù)據(jù)交換。這種去中心化的網(wǎng)絡(luò)結(jié)構(gòu)對于實(shí)時(shí)數(shù)據(jù)傳輸
    的頭像 發(fā)表于 12-29 09:53 ?894次閱讀

    水庫水雨情水位監(jiān)測系統(tǒng):實(shí)時(shí)數(shù)據(jù)傳輸功能保障水庫安全

    水庫水雨情水位監(jiān)測系統(tǒng)以其實(shí)時(shí)數(shù)據(jù)傳輸功能和強(qiáng)大的監(jiān)測能力,成為了保障水庫安全的重要科技手段。在未來,隨著技術(shù)的不斷進(jìn)步和應(yīng)用的不斷拓展,相信這一系統(tǒng)將在水資源管理和防洪抗旱中發(fā)揮更加重要的作用。
    的頭像 發(fā)表于 12-10 11:21 ?654次閱讀
    水庫水雨情水位監(jiān)測系統(tǒng):<b class='flag-5'>實(shí)時(shí)數(shù)據(jù)傳輸</b>功能保障水庫安全

    PCIe數(shù)據(jù)傳輸協(xié)議詳解

    、網(wǎng)卡和聲卡等,以實(shí)現(xiàn)高效的數(shù)據(jù)傳輸。以下是對PCIe數(shù)據(jù)傳輸協(xié)議的介紹: 一、PCIe協(xié)議的基本概念 PCIe協(xié)議定義了一系列規(guī)范和要求,以實(shí)現(xiàn)在主機(jī)系統(tǒng)和外圍設(shè)備之間高效、可靠地進(jìn)行數(shù)據(jù)通信。它采用了高速串行點(diǎn)對點(diǎn)雙通道高帶
    的頭像 發(fā)表于 11-26 16:12 ?4832次閱讀

    波特率對實(shí)時(shí)數(shù)據(jù)傳輸的影響

    在現(xiàn)代通信系統(tǒng)中,實(shí)時(shí)數(shù)據(jù)傳輸是至關(guān)重要的。無論是工業(yè)自動化、遠(yuǎn)程醫(yī)療、在線游戲還是物聯(lián)網(wǎng)(IoT)應(yīng)用,都需要快速、可靠的數(shù)據(jù)傳輸來保證系統(tǒng)的正常運(yùn)行和用戶體驗(yàn)。 波特率的定義 波特率,也稱為符號
    的頭像 發(fā)表于 11-22 10:03 ?1631次閱讀

    socket 數(shù)據(jù)傳輸效率提升技巧

    TCP :提供可靠的、有序的和錯(cuò)誤檢查的數(shù)據(jù)傳輸。適用于需要保證數(shù)據(jù)完整性的場景。 UDP :提供快速但不可靠的數(shù)據(jù)傳輸。適用于對實(shí)時(shí)性要求高的場景,如視頻流和在線游戲。 2. 優(yōu)化
    的頭像 發(fā)表于 11-12 14:34 ?1461次閱讀

    LORA模塊的數(shù)據(jù)傳輸速率

    LoRa(Long Range)是一種用于物聯(lián)網(wǎng)(IoT)應(yīng)用的低功耗廣域網(wǎng)(LPWAN)技術(shù)。它以其長距離通信能力和低功耗特性而聞名。LoRa模塊的數(shù)據(jù)傳輸速率可以根據(jù)不同的配置和地區(qū)的規(guī)定
    的頭像 發(fā)表于 10-31 17:03 ?3510次閱讀