8月30日,由 NineData 和 SelectDB 共同舉辦的主題為“實時數(shù)據(jù)驅(qū)動,引領(lǐng)企業(yè)智能化數(shù)據(jù)管理”的線上聯(lián)合發(fā)布會,圓滿成功舉辦!雙方聚焦于實時數(shù)據(jù)倉庫技術(shù)和數(shù)據(jù)開發(fā)能力,展示如何通過強大的生態(tài)開發(fā)兼容性,對接豐富的大數(shù)據(jù)生態(tài)產(chǎn)品,助力企業(yè)快速開展數(shù)據(jù)分析業(yè)務(wù),共同探索實時數(shù)據(jù)驅(qū)動的未來企業(yè)智能化數(shù)據(jù)管理解決方案。
本文根據(jù)玖章算術(shù)技術(shù)副總裁陳長城(天羽)在NineData X SelectDB 聯(lián)合發(fā)布會的主題演講內(nèi)容整理。
陳長城(天羽)玖章算術(shù)技術(shù)副總裁
?? 嘉賓簡介
陳長城,曾任阿里云數(shù)據(jù)庫中臺負(fù)責(zé)人和阿里云數(shù)據(jù)庫生態(tài)工具部總經(jīng)理,前阿里云資深技術(shù)專家。帶領(lǐng)阿里云數(shù)據(jù)庫基礎(chǔ)設(shè)施完成三次架構(gòu)變革,從去 IOE 到分布式、異地多活、容器化和存儲計算分離,是歷年雙 11 大促的數(shù)據(jù)庫核心負(fù)責(zé)人和容量、架構(gòu)規(guī)劃者。主導(dǎo)云原生工具體系架構(gòu)升級并打造一站式管理能力。發(fā)表過多篇技術(shù)專利和 VLDB、ICDE 數(shù)據(jù)庫頂會論文。
1 NineData產(chǎn)品介紹
在數(shù)據(jù)和云的時代企業(yè)數(shù)字化面臨諸多挑戰(zhàn),從Gartner和Percona的報告中,我們知道80%以上的企業(yè)會選擇多云或混合云,而超過70%的企業(yè)會選擇使用多種數(shù)據(jù)庫來滿足業(yè)務(wù)需求。在行業(yè)的分析報告中,我們發(fā)現(xiàn),如果企業(yè)能夠有效使用多源基礎(chǔ)架構(gòu)和新的數(shù)據(jù)架構(gòu),它們的創(chuàng)新能力和整體盈利能力將會明顯提升。然而,在數(shù)據(jù)和云的時代下,企業(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ù)庫、搜索、消息隊列、數(shù)倉等數(shù)字系統(tǒng)緊密聯(lián)動,幫助企業(yè)保護數(shù)據(jù)資產(chǎn),基于多云和混合云靈活構(gòu)建基礎(chǔ)設(shè)施,統(tǒng)一安全管理,提升數(shù)據(jù)庫開發(fā)效率。
玖章算術(shù)建設(shè)了NineData云原生智能數(shù)據(jù)管理平臺
這里展開介紹一下SQL開發(fā),它是一種讓企業(yè)內(nèi)外部所有開發(fā)者都遵循統(tǒng)一數(shù)據(jù)訪問規(guī)范并提升效率的最佳實踐產(chǎn)品化,當(dāng)前企業(yè)面對多云和多種數(shù)據(jù)源,雖然各種數(shù)據(jù)源有各自的CLI或圖形管理工具,但存在這些問題:
權(quán)限分散、審計欠缺,安全管控難度大 ;
各個工具建設(shè)程度不一,體驗一般,開發(fā)效率低;
無法形成統(tǒng)一規(guī)范,數(shù)據(jù)庫生產(chǎn)穩(wěn)定性缺乏保障;
多環(huán)境、多種數(shù)據(jù)源無法統(tǒng)一管理。
針對這些問題,NineData設(shè)計了企業(yè)級數(shù)據(jù)庫安全管理能力,通過統(tǒng)一數(shù)據(jù)源對接各云廠商和自建的各種數(shù)據(jù)源,設(shè)計任務(wù)流和審批流、安全規(guī)則配置、權(quán)限管理與操作審計、SSO支持等基礎(chǔ)組件,將企業(yè)的數(shù)據(jù)(實例、庫、表)+ 賬號角色 + 操作類型 通過規(guī)則引擎統(tǒng)一管理,并內(nèi)置數(shù)據(jù)庫SQL開發(fā)的穩(wěn)定性和安全最佳實踐,提供數(shù)據(jù)庫訪問權(quán)限管理、變更管理、敏感數(shù)據(jù)管理、數(shù)據(jù)導(dǎo)入導(dǎo)出等功能。NineData提供簡單GUI的個人版和高效協(xié)同的企業(yè)版兩種服務(wù)方式,并結(jié)合大模型AIGC的能力,在自然語音查詢數(shù)據(jù)、表結(jié)構(gòu)設(shè)計改寫、SQL優(yōu)化建議方面提升開發(fā)者效率。
NineData設(shè)計了企業(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ù)流動難點,幫助企業(yè)最大地發(fā)揮數(shù)據(jù)價值。目前NineData以及支持13種數(shù)據(jù)源的單雙向鏈路,強勁的復(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è)計了靈活的云原生架構(gòu)、容器化彈性拉起、網(wǎng)絡(luò)架構(gòu)等。
?? 支持專屬集群
支持多云的同時,我們通過專屬集群的技術(shù),能夠讓企業(yè)獨享本身的資源。包括我們可以把企業(yè)的worker節(jié)點放置在企業(yè)本地或VPC內(nèi)部,實現(xiàn)數(shù)據(jù)的內(nèi)部閉環(huán),提高企業(yè)數(shù)據(jù)安全和worker執(zhí)行效率。
NineData支持專屬集群
?? 云原生的 SAAS 模式
NineData 作為一個云原生的 SAAS 產(chǎn)品,按需拉起、彈性伸縮是最基本的能力。
?? 網(wǎng)絡(luò)安全
網(wǎng)絡(luò)方面,基于安全考慮,很多企業(yè)客戶不希望暴露數(shù)據(jù)庫的公網(wǎng)端口,因此,我們設(shè)計了一個數(shù)據(jù)庫網(wǎng)關(guān),通過這種設(shè)計,用戶只需拉起一個NineData數(shù)據(jù)庫網(wǎng)關(guān),就能夠連接我們的中心管理節(jié)點,從而建立反向訪問通道,能夠把散落在各地、以及包括內(nèi)部的數(shù)據(jù)源的統(tǒng)一管理。此外,我們的NineData worker也可以放到用戶本地,實現(xiàn)數(shù)據(jù)鏈路的內(nèi)部閉環(huán),而管理鏈路依然可以通過中心控制臺實現(xiàn)統(tǒng)一的鏈路管理。
2.2 多源方面
在多源方面,我們主要設(shè)計了統(tǒng)一數(shù)據(jù)源接入層。為了接入眾多數(shù)據(jù)源,我們對數(shù)據(jù)源的連接池管理、屬性配置、連接檢查和安全認(rèn)證做了統(tǒng)一抽象。這樣可以將所有的數(shù)據(jù)源統(tǒng)一接入。我們的四大主要功能模塊都使用相同的數(shù)據(jù)源接入層,實現(xiàn)一次接入所有功能都可用。對于用戶來說,就實現(xiàn)了真正的統(tǒng)一管理。
NineDataq在多源方面,主要設(shè)計了統(tǒng)一數(shù)據(jù)源接入層
在NineData的產(chǎn)品設(shè)計中,安全不是單一的任務(wù)或功能,而是自始至終灌輸在產(chǎn)品設(shè)計、開發(fā)、運維的全過程中,我們在數(shù)據(jù)傳輸加密、運維白屏、操作審計方面做了很多工作,同時NineData通過內(nèi)部測試和三方審計多方位保護數(shù)據(jù)安全。
一個典型的NineData數(shù)據(jù)復(fù)制鏈路拓?fù)洌?dāng)您配置完源和目標(biāo)之后,NineData 就會讓整個鏈路開始運行。一開始會有一個預(yù)檢查,檢查您的網(wǎng)絡(luò)連接、賬號密碼等是否正確。接下來會進行結(jié)構(gòu)復(fù)制,抓取和寫入全量數(shù)據(jù)和增量數(shù)據(jù)。
從產(chǎn)品層面,我們要支持多云多源,除了上面介紹的彈性架構(gòu)和網(wǎng)絡(luò)架構(gòu)外,我們在復(fù)制模塊的多種數(shù)據(jù)類型兼容和擴展性做了重要的設(shè)計,同時多源異構(gòu)長期運行必然存在少部分不兼容場景,我們在可觀測和可干預(yù)方面也重點做了功能設(shè)計。數(shù)據(jù)傳輸內(nèi)核模塊的底線是保障數(shù)據(jù)一致,同時在吞吐和延時上具備領(lǐng)先的優(yōu)勢,因此我們在這方面做了很多工作。后面核心特性的分享將圍繞這幾個點進行展開。
3 數(shù)據(jù)復(fù)制的核心特性
3.1 吞吐能力
以全量性能為例,主要有幾個重要的優(yōu)化項:
?? 大表遷移性能
大表遷移性能是最常見的瓶頸,假設(shè)我們在源端有一些數(shù)據(jù)需要處理,其中有許多表,而且它們的數(shù)據(jù)量都不同。如果我們同時啟動三個并發(fā)線程進行處理,那么可能會出現(xiàn)一些數(shù)據(jù)量小的表已經(jīng)處理完了,但是一些數(shù)據(jù)量較大的表仍然在等待單個線程進行處理的情況。如果表級并發(fā),就會類似的問題。因此,為了提高整個效率,我們必須增強表內(nèi)的并發(fā)能力。具體來說,我們需要考慮表的切片是否均勻。為此,我們制定了一項策略,即默認(rèn)組件支持一鍵拆分,依次通過主鍵、非空唯一鍵、可空唯一鍵、普通鍵等這種順序支持拆分,以盡力最均衡的方式實現(xiàn)并發(fā)處理。
并發(fā)寫入還連帶著一個空間問題,在使用過程中,在源端如果您將100G的數(shù)據(jù)寫入,在目標(biāo)端它可能會變成150G。這是因為如果單個表亂序提交的話,就可能會產(chǎn)生一些數(shù)據(jù)空洞。為此,NineData在切片大小和并發(fā)順序方面進行了優(yōu)化以控制寫入放大。
?? 目標(biāo)庫寫入
要以對目標(biāo)庫損耗最少的方法寫入,才能獲得最大性能。解決通道性能,并且它可以線性擴展之后,吞吐量的瓶頸就不在通道上,而在目標(biāo)庫的寫入上。因此目標(biāo)庫的寫入姿勢就非常重要。如果每條SQL都需要在目標(biāo)端進行解析,那么性能肯定會差。因此,我們需要采用一些批量提交的方式。同時在處理壓縮開關(guān)時,需要注意CPU的數(shù)量。在CPU數(shù)量較少的情況下,啟用壓縮會對性能產(chǎn)生較大的影響。
?? 內(nèi)存優(yōu)化
內(nèi)存優(yōu)化可以提升吞吐性能。因為整個全量復(fù)制的特點是批量加載到內(nèi)容而且快速寫入目標(biāo)庫,然后這個數(shù)據(jù)就被淘汰了。所以整個JVM的參數(shù)上做一些針對性的配置優(yōu)化,從而降低內(nèi)存和CPU開銷,提升通道性能。
3.2 低延時
那么NineData如何構(gòu)建低延時呢?我們從多個維度考慮低延時特性。
?? 通道性能
在通道性能角度,包括一些如Batch、熱點數(shù)據(jù)的合并等。其中熱點數(shù)據(jù)的合并,如果一條記錄從A1改到A2,再改到A3,一般同步模型是全軌跡修改,但開啟熱點能力后,它可能直接合并成終態(tài)的A3插入語句,不會插入A1或update A2,通過這種能力直接以終態(tài)的數(shù)據(jù)寫入,在內(nèi)存中把這個隊列直接合并掉。在通道性能層面,還有一些其他設(shè)計。例如在redis的復(fù)制鏈路中,減少隊列的序列化代價,從而讓整個隊列的消耗降到最低。
?? 通道管理層設(shè)計
通道管理層面對低延遲的整體系統(tǒng)設(shè)計也非常重要,這是在我們多年的實踐中得出的經(jīng)驗。要能夠以最小的代價面對同步鏈路中的各種異常。
(a)降低異常情況下重拉的可能。數(shù)據(jù)庫出現(xiàn)延遲,但是數(shù)據(jù)服務(wù)端的日志已經(jīng)被清除;作為我們云原生的產(chǎn)品,我們會怎么做呢?我們會獲取源端數(shù)據(jù)庫的接口,檢查是否存在被上傳到OSS或者其他對象存儲的日志。如果有,我們會自動獲取并接續(xù)上之前的記錄,從而避免重新進行全量拉取,減少延時。
(b) 盡量少地回退數(shù)據(jù)。我們設(shè)計了表級別的安全位點。每張表都會有一個自己最新的位點。如果在回放過程中,這張表的位點曾經(jīng)被使用過,我們會將其拋棄,以避免位點回退。
(c)干凈地運維。針對日常的運維操作,NineData復(fù)制線程會使隊列中的所有數(shù)據(jù)都提交完成,使得16個線程到達(dá)一個一致的位點,然后再關(guān)閉進程。通過這種能力,我們實現(xiàn)了一個干凈的cleandown,用戶重新啟動后就不會遇到需要回放數(shù)據(jù),這是非常優(yōu)雅的方式之一。
3.3 一致性數(shù)據(jù)同步
數(shù)據(jù)一致性重要性毋庸置疑,這里從數(shù)據(jù)一致性和DDL結(jié)構(gòu)一致性兩方面各重點介紹一個NineData的設(shè)計特性,同時NineData實現(xiàn)了完善的數(shù)據(jù)對比功能。
NineData支持一致性數(shù)據(jù)同步
?? 數(shù)據(jù)一致性
數(shù)據(jù)本身的一致性問題,如何保障事務(wù)一致性。舉個例子,假設(shè)我們有T1到T5這五個事務(wù),其中B1是訂單狀態(tài),從B1創(chuàng)建訂單,到B3可能是用戶付款,這時會產(chǎn)生一個物流訂單L。如果我們采用正常的行級同步方式,訂單和物流訂單會分別存儲在不同的表中,由于行級的并發(fā)性,無法保證它們的順序性。因此,B1和L可能同時出現(xiàn)在目標(biāo)庫中,也就是說在創(chuàng)建訂單時,物流訂單也已經(jīng)被創(chuàng)建了。對于在線業(yè)務(wù)來說,這肯定是違背業(yè)務(wù)邏輯,無法支持在線業(yè)務(wù)的正常運行。
因此,我們構(gòu)建了一個事務(wù)一致性能力,用戶可以開啟事務(wù)能力。當(dāng)用戶開啟事務(wù)能力時,我們會檢查T3這個事務(wù)中的每條記錄與之前所有事務(wù)是否存在依賴關(guān)系。如果存在,T3將等待其他事務(wù)都提交完畢后再提交,確保數(shù)據(jù)的一致性。因此,第一次提交只會提交T1到T4,T3會等待T2提交完畢后再提交。這是一種保證數(shù)據(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é)果。但是,很可能在回查時源端已經(jīng)發(fā)生了第二次DDL,導(dǎo)致我們獲取到的是已經(jīng)又被修改過的DDL,從而拼接出的數(shù)據(jù)不一致和出現(xiàn)錯誤。
因此,我們開發(fā)了一種DDL解析能力,即在DDL解析完成后,直接在同步線程解析線程中進行重放。同時,我們記錄每個變更的版本,重放的同時生成新版本,舊版本不刪除。這樣,任何表在任何時刻都可以隨時查到其Meta結(jié)構(gòu),而不需要像其他業(yè)界實踐一樣,需要從頭開始重新回放一遍。
?? 數(shù)據(jù)對比
在數(shù)據(jù)對比方面,NineData將其作為一個重要的產(chǎn)品能力進行建設(shè),我們認(rèn)為數(shù)據(jù)對比對整個數(shù)據(jù)質(zhì)量的影響非常重要。因此,在結(jié)構(gòu)對比、數(shù)據(jù)對比以及訂正SQL生成等方面,我們在功能上做得非常全面。其次,我們會考慮數(shù)據(jù)對比對用戶的源庫和目標(biāo)庫帶來的負(fù)載。這些負(fù)載對于許多生產(chǎn)人員來說非常重要。因此,我們制定了許多策略,例如:僅對不一致的數(shù)據(jù)進行復(fù)檢,可以控制并發(fā)和限流,設(shè)置抽樣比例和條件過濾,僅對某一范圍內(nèi)的數(shù)據(jù)進行比較等等。同時,在性能方面,我們也做有特色的優(yōu)化。常規(guī)的數(shù)據(jù)對比會拉出源和目標(biāo)的所有數(shù)據(jù),就會耗費大量計算資源和帶寬,因此我們做了比較優(yōu)雅的計算下推,只對不一致數(shù)據(jù)進行回表再逐個字段對比。
3.4 可擴展性,加速實時數(shù)倉構(gòu)建
在可擴展性方面,如何在NineData里面支持快速地新增數(shù)據(jù)源?意味著我們需要快速支持結(jié)構(gòu)和數(shù)據(jù)類型的轉(zhuǎn)換,以及快速將通道產(chǎn)品化,這些都是我們的目前重要的思考因素。我們的整個設(shè)計思路就希望說,把原來的各種源到目標(biāo)的這種N乘M的這種拓?fù)浞椒?,能夠通過N加M的這種方式來實現(xiàn)。
我們先講一下數(shù)據(jù)類型,因為數(shù)據(jù)類型可能會對于最終一致性,大家會更加的在意,業(yè)界無論是在FiveTran、Airbvte、NIFI、NineData等方面的開源項目或者還是商用項目中,都定義了很多中間類型。今天,NineData 也是定義了一些中間類型,因為中間類型抽象得越好,它的種類就越少,這意味著新增的數(shù)據(jù)源我們需要開發(fā)convert 的工作量就越少。因此,如何更好地抽象到更少的樣本集里,是整體更好的抽象方法。
第二個抓取和寫入模塊的插件化,最大程度復(fù)用代碼,提升產(chǎn)品化效率和穩(wěn)定性。我們提供了一個叫做關(guān)系數(shù)據(jù)提交框架。該框架把DDL/DML的庫、表、主鍵級別沖突等待,事務(wù)沖突等待,熱點合并和攢批優(yōu)化SQL都抽象出來,使得后面接入的數(shù)據(jù)源可以天然地具備這些能力。
NineData支持快速地新增數(shù)據(jù)源的底層設(shè)計
當(dāng)前NineData已經(jīng)廣泛支持了MySQL、PostgreSQL、SQLServer、 Redis、MongoDB、Kafka、 ElasticSearch、SelectDB(Doris)等數(shù)據(jù)庫,并在其系列上對接了主流的各云廠商產(chǎn)品。這里重點介紹下SelectDB和ClickHouse的特性設(shè)計。
NineData支持SelectDB和ClickHouse的特性設(shè)計
?? 結(jié)構(gòu)復(fù)制
NineData支持了MySQL所有DDL自動同步到SelectDB,包括Distribute Key的自適應(yīng)和SQL改寫,跨庫的create table like SQL改寫等。
?? 數(shù)據(jù)復(fù)制
我們定義了NineData中間類型到SelectDB數(shù)據(jù)類型的一一映射,實現(xiàn)數(shù)據(jù)類型以及字符集映射,同時對于時間類型,支持根據(jù)服務(wù)端Global TimeZone進行跨時區(qū)數(shù)據(jù)遷移。
?? 數(shù)據(jù)處理
支持在復(fù)制過程中篩選同步對象,同時進行操作類型過濾(如只復(fù)制Insert不復(fù)制Delete)、基于數(shù)據(jù)計算進行過濾、數(shù)據(jù)類型轉(zhuǎn)換。
?? 性能優(yōu)化
除了復(fù)制框架支持的寫入合并外,NineData數(shù)據(jù)復(fù)制支持以Stream模式進行全量或增量寫入,在MySQL->SelectDB(Doris)的測試中,云上同Region測試30個并發(fā)可以達(dá)到209MB/S,88W RPS(單行平均250B左右)。
NineData在ClickHouse的支持上也做了細(xì)致的設(shè)計,結(jié)構(gòu)映射方面支持用戶選擇CollapsingMergeTree或ReplacingMergeTree進行復(fù)制,支持了ClickHouse各數(shù)據(jù)類型的映射,包括默認(rèn)值差異的處理。在性能方面,類似于Airbyte的做法會將所有增量數(shù)據(jù)合成一個文件,因為ClickHouse引擎中的許多增刪改都是變成直接增加,因此這種方式相對簡單。但這種方式會帶來較大的延遲。因此,在實現(xiàn)過程中,我們考慮使用SQL的方式進行提交,來了多少條就立即轉(zhuǎn)集批提交,可以動態(tài)地控制,例如超過1000條或0.5秒,可以幾百毫秒就提交。此外,ClickHouse的Jdbc在解析每條語句時性能較差,因此我們進行了一些優(yōu)化,采用批量提交的方式來提高性能。
3.5 高可用機制
?? 節(jié)點容災(zāi)
NineData所有組件采用高可用架構(gòu),規(guī)避單點風(fēng)險。任務(wù)節(jié)點跑在分布式容器集群上,容災(zāi)系統(tǒng)自動檢測異常任務(wù)、異常節(jié)點并自動完成任務(wù)跨機漂移容災(zāi)。
?? 任務(wù)魯棒性
通過動態(tài)內(nèi)存管理,結(jié)合動態(tài)分片、動態(tài)攢批、流式讀寫、彈性擴縮容等技術(shù),提升鏈路對負(fù)載的自適應(yīng)能力,有效保障任務(wù)穩(wěn)定性。
?? 斷點續(xù)傳
所有模塊支持定期位點記錄,包括結(jié)構(gòu)復(fù)制、全量復(fù)制、增量復(fù)制、數(shù)據(jù)對比;任意任務(wù)或服務(wù)節(jié)點異常,會基于斷點重啟任務(wù)。通過完善的重試、干預(yù)手段,提升劣網(wǎng)、數(shù)據(jù)高負(fù)載、硬件異常等場景下,鏈路的健壯性。
3.6 可觀測可干預(yù)能力
?? 可觀測性
(1)復(fù)制系統(tǒng)針對每個鏈路有有秒級日志打點,可以查看秒級RPS,累計DDL/DML操作數(shù),隊列堆積數(shù)等指標(biāo),查看任務(wù)各模塊狀態(tài)。
(2)實時查看提交線程狀態(tài)。例如,如果有16個線程正在運行,我們會顯示這16個線程分別在執(zhí)行哪條SQL,或者任務(wù)是否被DDL卡住等信息??梢酝ㄟ^類似于MySQL Processlist的方式查看每個線程正在執(zhí)行哪些操作,已經(jīng)執(zhí)行了多長時間等信息。在同步過程中,用戶可能會在目標(biāo)端、新的寫入等可能會遇到一些問題,導(dǎo)致這個兩邊寫數(shù)據(jù)沖突等。因此,我們在可觀測性方面不僅會將基本狀態(tài)完全透露給用戶,還會提供每個線程提交的語句。
?? 可干預(yù)能力
(1)修改同步對象,對于長期復(fù)制任務(wù),用戶可能因為業(yè)務(wù)變化,需要添加新的對象到同步鏈路中,可以在界面上直接添加,后臺會創(chuàng)建新對象的結(jié)構(gòu)初始化、全量和增量,并在追上后合并同步對象到現(xiàn)有鏈路中。
(2)成熟的異常處理能力。對于異常任務(wù),NineData會顯示具體的報錯信息,用戶可以進行SQL級別的語句訂正和重試,或者跳過,從而在少量目標(biāo)雙寫或結(jié)構(gòu)不一致情況下,依然可以快速修復(fù)任務(wù),保障目標(biāo)數(shù)據(jù)的及時性和正確性。
NineData的可觀測可干預(yù)能力
3.6 能力數(shù)據(jù)復(fù)制小結(jié)
NineData數(shù)據(jù)復(fù)制的設(shè)計目標(biāo)是Any Where、Any Data、AnyTime的服務(wù)客戶的數(shù)據(jù)流動場景。當(dāng)前主流數(shù)據(jù)源以及比較完整,兼容適配了各種復(fù)雜的網(wǎng)絡(luò)環(huán)境,深度適配VPN、專線、堡壘機、云廠商VPC和私網(wǎng)訪問等方案,可以通過SaaS服務(wù)或?qū)偌悍绞椒?wù)客戶,保障數(shù)據(jù)安全和復(fù)制穩(wěn)定性。
4 典型用戶案例
4.1 國資云客戶
某大型國資云數(shù)據(jù)復(fù)制,客戶全國有30+Region,本身有很多數(shù)據(jù)需要同步,同時還要提供數(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)之間等各種鏈路??蛻粼诳疾炝耸忻嫔现髁髟茝S商、數(shù)據(jù)復(fù)制專門廠商的方案后選擇了NineData。
大型國資云使用NineData數(shù)據(jù)復(fù)制的解決方案
4.2 跨境電商企業(yè)
某跨境電商企業(yè)通過NineData實現(xiàn)實時數(shù)倉,指導(dǎo)運營分析決策。客戶的分析和運營活動基于ClickHouse。MySQL生產(chǎn)是分散在世界各地,比如日本、韓國等,他將各個地方的在線數(shù)據(jù)匯聚到國內(nèi)的ClickHouse進行統(tǒng)一分析和運營決策。在這個過程中,他使用了我們的NineData 復(fù)制產(chǎn)品,NineData在跨地域的復(fù)制方面是具備一些優(yōu)勢。我們的解析模塊、讀取模塊和寫入模塊可以異地部署,解析模塊能夠靠近用戶的源端,寫入端能夠靠近用戶的目的端,從而實現(xiàn)了整個性能的更加優(yōu)化。
跨境電商企業(yè)通過NineData實現(xiàn)實時數(shù)倉,指導(dǎo)運營分析決策
4.3 大型地產(chǎn)企業(yè)
某大型地產(chǎn)企業(yè)使用NineData實現(xiàn)統(tǒng)一數(shù)據(jù)管理。該企業(yè)擁有大量的數(shù)據(jù)庫,但其開發(fā)流程涉及許多合作伙伴,例如ISV或第三方軟件開發(fā)提供商。因此,他們需要將數(shù)據(jù)源的權(quán)限控制委托給這些合作伙伴。在以往的人工管理過程中,權(quán)限管理變得非常復(fù)雜且流程繁瑣,難以統(tǒng)一管理。為此,NineData 提供了一個統(tǒng)一管理數(shù)據(jù)源的解決方案。通過該方案,統(tǒng)一納管了企業(yè)的所有數(shù)據(jù)源,開發(fā)人員的賬戶初始化、權(quán)限申請以及數(shù)據(jù)開發(fā)流程的可視化等均得到了優(yōu)化,從而大大提升了開發(fā)效率和協(xié)同效率。
大型地產(chǎn)企業(yè)使用NineData實現(xiàn)統(tǒng)一數(shù)據(jù)管理
最后,NineData 已經(jīng)和數(shù)據(jù)源、云廠商產(chǎn)生了很多密切的合作關(guān)系,并且取得云服務(wù)、信息安全管理、質(zhì)量管理等多項認(rèn)證,在多個行業(yè)的頭部企業(yè)中廣泛應(yīng)用。NineData 致力于為客戶提供更加穩(wěn)定、更智能的數(shù)據(jù)庫服務(wù),幫助客戶快速構(gòu)建統(tǒng)一的數(shù)據(jù)管理,讓每個人用好數(shù)據(jù)和云,歡迎大家體驗使用。
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時代的架構(gòu)設(shè)計提供了智能數(shù)據(jù)管理平臺。作為業(yè)界首個支持跨云和本地IDC無縫打通的平臺,能夠幫助客戶輕松完成數(shù)據(jù)上云、跨云數(shù)據(jù)實時傳輸、ETL、數(shù)據(jù)備份、企業(yè)級智能SQL開發(fā)、數(shù)據(jù)庫研發(fā)規(guī)范、生產(chǎn)變更以及敏感數(shù)據(jù)管理等功能,從而讓客戶的數(shù)據(jù)使用更加安全高效。
審核編輯 黃宇
-
數(shù)據(jù)傳輸
+關(guān)注
關(guān)注
9文章
2020瀏覽量
66106 -
數(shù)據(jù)管理
+關(guān)注
關(guān)注
1文章
312瀏覽量
20031 -
數(shù)據(jù)庫
+關(guān)注
關(guān)注
7文章
3929瀏覽量
66304
發(fā)布評論請先 登錄

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

信道帶寬與數(shù)據(jù)傳輸速率關(guān)系
請問ldc1000在與主機進行數(shù)據(jù)傳輸的過程中,數(shù)據(jù)傳輸速率設(shè)置為多大合適?
MPU數(shù)據(jù)傳輸協(xié)議詳解
ptp對實時數(shù)據(jù)傳輸的影響
水庫水雨情水位監(jiān)測系統(tǒng):實時數(shù)據(jù)傳輸功能保障水庫安全

波特率對實時數(shù)據(jù)傳輸的影響
socket 數(shù)據(jù)傳輸效率提升技巧
LORA模塊的數(shù)據(jù)傳輸速率
HTTP海外加速技術(shù):加速跨國數(shù)據(jù)傳輸,提升用戶體驗
網(wǎng)絡(luò)數(shù)據(jù)傳輸速率的單位是什么

評論