您好,登錄后才能下訂單哦!
不知不覺(jué)中,大家已經(jīng)陪伴DataPipeline走過(guò)了3年時(shí)間。在這期間,得益于客戶們的積極反饋和溝通,我們總結(jié)了一些日常工作中比較常見(jiàn)的問(wèn)題,并基于這些問(wèn)題進(jìn)行了總結(jié)。
為避免突兀,我們會(huì)先從比較基礎(chǔ)且通用的問(wèn)題開始,進(jìn)而陸續(xù)放出一些稍加復(fù)雜的問(wèn)答,希望大家在接下來(lái)的日子里持續(xù)關(guān)注我們的更新~
Q1: DataPipeline支持的讀取方式
A:DataPipeline在成立之初只有一種模式,只支持實(shí)時(shí)流同步,在我們看來(lái)這是未來(lái)的一種趨勢(shì)。
但在后來(lái)發(fā)現(xiàn),很多客戶實(shí)際上有批量同步的需求。比如,銀行在每天晚上可能會(huì)有一些月結(jié)、日結(jié),證券公司也有類似的結(jié)算服務(wù)?;谝恍v史原因,或出于對(duì)性能、數(shù)據(jù)庫(kù)配置的考慮,可能有的數(shù)據(jù)庫(kù)本身不能開change log。所以實(shí)際上并不是所有情況下都能從源端獲取實(shí)時(shí)的流數(shù)據(jù)。
考慮到上述問(wèn)題,我們認(rèn)為一個(gè)產(chǎn)品在支撐數(shù)據(jù)融合過(guò)程中,必須能同時(shí)支撐批量和流式兩種處理模式,且在產(chǎn)品里面出于性能和穩(wěn)定性考慮提供不同的處理策略,這才是一個(gè)相對(duì)來(lái)說(shuō)比較合理的基礎(chǔ)架構(gòu)。
詳情參見(jiàn):DataPipeline CTO陳肅:構(gòu)建批流一體數(shù)據(jù)融合平臺(tái)的一致性語(yǔ)義保證
Q2:目標(biāo)端的連接方式是什么
A:對(duì)于關(guān)系型數(shù)據(jù)庫(kù),寫入方式為JDBC,未來(lái)版本將通過(guò)文件加載的方式提高吞吐率。其它類型的目的地,根據(jù)具體類型各不相同。例如FTP目的地用的是FTP Client,Kafka目的地用的是Kafka Producer。
Q3:采集和寫入能否對(duì)數(shù)據(jù)進(jìn)行加密
A:如果是要對(duì)數(shù)據(jù)內(nèi)容加密可以使用高級(jí)清洗。
Q4:DataPipeline安裝部署模式
A:DataPipeline 產(chǎn)品是采用Docker容器的部署方式,支持Docker集群;支持虛擬環(huán)境(VMW)部署,但不推薦,DataPipeline正在研發(fā)支持非Docker部署。
Q5:DataPipeline是否支持圖形化監(jiān)控
A:DataPipeline支持讀寫速率、數(shù)據(jù)量、任務(wù)進(jìn)度、錯(cuò)誤隊(duì)列、操作記錄、表結(jié)構(gòu)等圖形化監(jiān)控。
Q6:數(shù)據(jù)庫(kù)日志保留策略多久合適
A:如,MySQL Binlog保留策略,建議保留日志策略>=3天。
Q7: 后續(xù)增量導(dǎo)入數(shù)據(jù)如何保證一致性
A:DataPipeline默認(rèn)支持at least once同步機(jī)制,保證數(shù)據(jù)不會(huì)在同步過(guò)程中丟失。這適合源端有主鍵、目的地有主鍵去重能力的場(chǎng)景,例如關(guān)系型數(shù)據(jù)庫(kù)到關(guān)系型數(shù)據(jù)庫(kù)的同步。
如果類似Hive這樣沒(méi)有主鍵去重能力的目的地,DataPipeline支持開啟任務(wù)級(jí)別的端到端一致性選項(xiàng),通過(guò)多階段提交協(xié)議來(lái)保證數(shù)據(jù)一致性。
Q8:監(jiān)控報(bào)警一般在項(xiàng)目上如何使用
A:DataPipeline的數(shù)據(jù)任務(wù)有監(jiān)控看板和報(bào)警兩種方式,報(bào)警會(huì)發(fā)送到指定的郵箱,根據(jù)錯(cuò)誤類型,可以選擇重啟或通知技術(shù)支持,DataPipeline會(huì)有工程師協(xié)助客戶排查錯(cuò)誤。
Q9:是否方便擴(kuò)容
A:DataPipeline支持動(dòng)態(tài)擴(kuò)容,當(dāng)集群資源緊張時(shí),無(wú)需暫?,F(xiàn)有任務(wù),增加新節(jié)點(diǎn)后,即可以實(shí)現(xiàn)集群的擴(kuò)容。
Q10:如果一條數(shù)據(jù)多次、頻繁變化,DataPipeline如何保證數(shù)據(jù)的并行和順序?
A:DataPipeline源端會(huì)將任務(wù)按照一定原則拆分為多個(gè)互不干擾的子任務(wù)進(jìn)行并行執(zhí)行。例如:在JDBC源讀取場(chǎng)景下,如果任務(wù)包括多張表,每個(gè)表是由一個(gè)獨(dú)立線程進(jìn)行順序讀取的,線程并行度可以在任務(wù)屬性中進(jìn)行設(shè)置。
為了保證順序?qū)懭牒妥x取,默認(rèn)每個(gè)單獨(dú)子任務(wù)會(huì)創(chuàng)建一個(gè)獨(dú)立的topic,設(shè)置一個(gè)分區(qū),這樣目標(biāo)端消費(fèi)的時(shí)候,同一個(gè)topic只有一個(gè)consumer在進(jìn)行消費(fèi),從而保證消費(fèi)的順序性。如果可以接受非順序消費(fèi),也可以為一個(gè)topic創(chuàng)建多個(gè)分區(qū),這樣目的端可以更好地利用Kafka的并行能力提高吞吐量。
本篇集中介紹了10種問(wèn)題答疑,如果你在工作中遇到了類似的問(wèn)題,或者對(duì)一些答疑心存疑惑,歡迎與我們交流。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。