DataTester的數(shù)據(jù)集成系統(tǒng),可大幅降低企業(yè)接入A/B實(shí)驗(yàn)平臺(tái)門檻。
?
當(dāng)企業(yè)想要接入一套A/B實(shí)驗(yàn)平臺(tái)的時(shí)候,常常會(huì)遇到這樣的問題:
- 企業(yè)已經(jīng)有一套埋點(diǎn)系統(tǒng)了,增加A/B實(shí)驗(yàn)平臺(tái)的話需要重復(fù)做一遍埋點(diǎn),費(fèi)時(shí)費(fèi)力;
- 企業(yè)有多個(gè)客戶端和數(shù)據(jù)中臺(tái)并行的情況,這些不同來源的數(shù)據(jù)難以整合進(jìn)一個(gè)A/B實(shí)驗(yàn)平臺(tái);
- 距離下次大促只有一周時(shí)間了,業(yè)務(wù)想快速開啟A/B實(shí)驗(yàn),時(shí)間緊迫;
......
?
A/B實(shí)驗(yàn)準(zhǔn)備的全流程如圖下所示。當(dāng)企業(yè)在已有埋點(diǎn)的情況下,如果想0-1開啟A/B實(shí)驗(yàn),通常要占用大量人力來做數(shù)據(jù)處理。需要梳理埋點(diǎn)列表、確定id映射關(guān)系、確定埋點(diǎn)數(shù)據(jù)類型、確定導(dǎo)入時(shí)間范圍、修改業(yè)務(wù)處理邏輯、代碼編寫、測(cè)試環(huán)境調(diào)試......
?
當(dāng)經(jīng)歷完多次調(diào)試驗(yàn)證后,數(shù)據(jù)接入完成,工作卻遠(yuǎn)未結(jié)束,伴隨而來的是數(shù)據(jù)對(duì)齊校驗(yàn)、后期任務(wù)運(yùn)維等。這些繁瑣的工作,使企業(yè)“開啟A/B實(shí)驗(yàn)”的門檻極高,也會(huì)帶來諸多數(shù)據(jù)差異的隱患。為解決企業(yè)開啟A/B實(shí)驗(yàn)成本過高的問題,火山引擎A/B測(cè)試平臺(tái)(DataTester)專門研發(fā)了數(shù)據(jù)集成能力。本文將對(duì)DataTester的數(shù)據(jù)集成平臺(tái)做技術(shù)解讀。
?
DataTester是由火山引擎推出的A/B測(cè)試與智能優(yōu)化平臺(tái),它脫胎于字節(jié)跳動(dòng)長(zhǎng)期沉淀,歷經(jīng)字節(jié)內(nèi)部超150萬次實(shí)驗(yàn)打磨,為企業(yè)的增長(zhǎng)、轉(zhuǎn)化、產(chǎn)品迭代,策略優(yōu)化,運(yùn)營(yíng)提效等各環(huán)節(jié)提供科學(xué)的決策依據(jù)。DataTester的數(shù)據(jù)集成能力,可以真正解決多源數(shù)據(jù)集成、數(shù)據(jù)清洗和數(shù)據(jù)預(yù)處理問題,提高企業(yè)的A/B測(cè)試效率和準(zhǔn)確性,從而為企業(yè)開實(shí)驗(yàn)提供有力的支持。
上圖是使用DataTester數(shù)據(jù)集成平臺(tái)最基礎(chǔ)的配置流程,可以看到,用戶只需要在頁面上登記數(shù)據(jù)源信息、映射邏輯、任務(wù)調(diào)度配置,就可以快速的同步多源數(shù)據(jù),完成數(shù)據(jù)配置和接入。
?
DataTester的數(shù)據(jù)集成有哪些能力
火山引擎DataTester的數(shù)據(jù)集成,主要提供了幫助企業(yè)導(dǎo)入第三方數(shù)據(jù)到A/B系統(tǒng)的能力,它可以解決企業(yè)在數(shù)據(jù)接入過程中的如下痛點(diǎn):
- 數(shù)據(jù)來源復(fù)雜:對(duì)于需要從多個(gè)數(shù)據(jù)來源獲取數(shù)據(jù)的企業(yè)來說,整合數(shù)據(jù)要事先了解A/B實(shí)驗(yàn)的事件格式和埋點(diǎn)使用規(guī)范,手動(dòng)導(dǎo)入數(shù)據(jù)非常繁瑣耗時(shí)。DataTester數(shù)據(jù)集成平臺(tái)提供了快速導(dǎo)入多種數(shù)據(jù)源的能力,用戶可以輕松將數(shù)據(jù)匯總到一處。
- 數(shù)據(jù)質(zhì)量參差不齊:多個(gè)數(shù)據(jù)源的數(shù)據(jù)會(huì)有參差不齊的情況,DataTester數(shù)據(jù)集成平臺(tái)可以自動(dòng)進(jìn)行數(shù)據(jù)清洗和轉(zhuǎn)換,確保導(dǎo)入的數(shù)據(jù)質(zhì)量良好,避免由于數(shù)據(jù)質(zhì)量問題帶來的實(shí)驗(yàn)錯(cuò)誤。
- 人力成本高昂:如果采用常規(guī)的手動(dòng)導(dǎo)入數(shù)據(jù)和清洗處理的方式,會(huì)花費(fèi)較多時(shí)間人力,DataTester數(shù)據(jù)集成平臺(tái)智能數(shù)據(jù)處理,可大幅降低數(shù)據(jù)處理的時(shí)間和成本。
?
一鍵式的數(shù)據(jù)導(dǎo)入
在以往,企業(yè)如果希望接入新的A/B測(cè)試平臺(tái),在第一步的數(shù)據(jù)集成階段通常只有通過SQL開發(fā)或業(yè)務(wù)代碼編寫的方式接入。
?
DataTester數(shù)據(jù)集成平臺(tái)提供了可視化的任務(wù)配置能力,用戶可以通過點(diǎn)擊、拖拽等形式完成數(shù)據(jù)接入;數(shù)據(jù)集成平臺(tái)將自動(dòng)完成數(shù)據(jù)類型轉(zhuǎn)化、數(shù)據(jù)清洗等功能。這種“一鍵式”的數(shù)據(jù)導(dǎo)入可以最大程度減輕企業(yè)在數(shù)據(jù)集成階段的時(shí)間人力成本。
可視化的任務(wù)運(yùn)維
用戶通過可視化的方式來監(jiān)控、管理和維護(hù)數(shù)據(jù)任務(wù)的運(yùn)行狀態(tài)和運(yùn)行情況。這樣的方式可以更加便捷地了解任務(wù)狀態(tài)和運(yùn)行情況,及時(shí)發(fā)現(xiàn)并解決問題。
?
豐富的數(shù)據(jù)集成市場(chǎng)
DataTester數(shù)據(jù)集成支持行為數(shù)據(jù)、用戶屬性等歷史數(shù)據(jù)回溯、實(shí)時(shí)數(shù)據(jù)同步的能力,并預(yù)置了多款數(shù)據(jù)配置模板,可以一鍵同步異構(gòu)數(shù)據(jù)源數(shù)據(jù)。
可擴(kuò)展的數(shù)據(jù)插件
提供豐富的內(nèi)嵌插件,支持常用的數(shù)據(jù)處理邏輯。例如:數(shù)字四則運(yùn)算、字符串處理、字段映射等等。除此之外,DataTester數(shù)據(jù)集成也提供自定義函數(shù)的能力,企業(yè)可以在平臺(tái)根據(jù)實(shí)際業(yè)務(wù)邏輯定義UDF,并集成在數(shù)據(jù)導(dǎo)入任務(wù)中。
?
數(shù)據(jù)集成平臺(tái)的技術(shù)實(shí)現(xiàn)
平臺(tái)架構(gòu)
下圖為火山引擎DataTester數(shù)據(jù)集成平臺(tái)的整體架構(gòu),功能上,DataTester數(shù)據(jù)集成系統(tǒng)采用三層架構(gòu),包括web層、Service層和數(shù)據(jù)處理服務(wù)。
- Web層: 提供管理控制臺(tái),用戶可以方便地配置和管理數(shù)據(jù)集成任務(wù),查看任務(wù)的執(zhí)行狀態(tài);
- Service層:提供任務(wù)管理、監(jiān)控和調(diào)度管理,支持用戶對(duì)任務(wù)進(jìn)行快速響應(yīng)和監(jiān)控。
- 數(shù)據(jù)處理層:則提供對(duì)各種外部數(shù)據(jù)源的處理,通過插件方式支持多種異構(gòu)數(shù)據(jù)源的集成,目前已經(jīng)支持關(guān)系型數(shù)據(jù)庫、消息隊(duì)列等等。
系統(tǒng)架構(gòu)上考慮了高可用、高擴(kuò)展和高性能的設(shè)計(jì)。
- 高可用:任務(wù)調(diào)度和運(yùn)行支持多租戶資源隔離,保證不同租戶之間的任務(wù)執(zhí)行不會(huì)相互影響。
- 高擴(kuò)展:數(shù)據(jù)處理任務(wù)支持分布式處理數(shù)據(jù)源數(shù)據(jù),針對(duì)不同負(fù)載可支持水平伸縮;
- 高性能:通過分布式執(zhí)行框架保證數(shù)據(jù)集成任務(wù)的并行處理,可以滿足大數(shù)據(jù)場(chǎng)景下的集成需求;
?
底層能力
DataTester數(shù)據(jù)集成基于Apache SeaTunnel二次開發(fā),數(shù)據(jù)傳輸任務(wù)采用Framework + plugin架構(gòu)構(gòu)建。將數(shù)據(jù)源讀取和寫入抽象成為Connect(Source/Sink)插件,納入到整個(gè)數(shù)據(jù)同步框架中。
- Source:Source為數(shù)據(jù)采集模塊,負(fù)責(zé)采集數(shù)據(jù)源的數(shù)據(jù),將數(shù)據(jù)發(fā)送給下游Transform。
- Sink: Sink為數(shù)據(jù)寫入模塊,負(fù)責(zé)不斷向Transform取數(shù)據(jù),并將數(shù)據(jù)寫入到目的端。
- Transform:Transform用于連接Source和Sink,作為兩者的數(shù)據(jù)傳輸通道,并處理緩沖、并發(fā)、監(jiān)控、數(shù)據(jù)轉(zhuǎn)換處理等核心技術(shù)問題。
Transform是DataTester數(shù)據(jù)集成的業(yè)務(wù)處理關(guān)鍵內(nèi)容。我們內(nèi)置多個(gè)默認(rèn)插件,自動(dòng)幫助用戶完成用戶分析口徑映射、事件格式轉(zhuǎn)換、數(shù)值處理、字段映射等等邏輯,同時(shí)也提供入口供用戶增加插件,內(nèi)嵌至自有任務(wù)中。
監(jiān)控報(bào)警
DataTester數(shù)據(jù)集成平臺(tái)采用了InfluxDB來運(yùn)行數(shù)據(jù)監(jiān)控。InfluxDB 是一款專門處理高寫入和查詢負(fù)載的時(shí)序數(shù)據(jù)庫,用于存儲(chǔ)大規(guī)模的時(shí)序數(shù)據(jù)并進(jìn)行實(shí)時(shí)分析。在每個(gè)監(jiān)控任務(wù)提交后,DataTester將會(huì)在數(shù)據(jù)處理過程中增加成功、失敗的數(shù)據(jù)埋點(diǎn),并最終落入InfluxDB對(duì)外展示。
?
在企業(yè)的常用應(yīng)用場(chǎng)景中,數(shù)據(jù)集成監(jiān)控報(bào)警主要起到以下幾個(gè)作用:
- 及時(shí)發(fā)現(xiàn)數(shù)據(jù)集成中的異常情況,比如數(shù)據(jù)傳輸失敗、數(shù)據(jù)丟失、重復(fù)數(shù)據(jù)等,避免數(shù)據(jù)不一致或丟失的情況發(fā)生,保障數(shù)據(jù)的準(zhǔn)確性和完整性。
- 對(duì)于數(shù)據(jù)傳輸量較大或數(shù)據(jù)傳輸需要保證實(shí)時(shí)性的場(chǎng)景,可以通過實(shí)時(shí)監(jiān)控和報(bào)警方式,及時(shí)發(fā)現(xiàn)系統(tǒng)存在的問題,并能夠快速采取措施,保障數(shù)據(jù)正常傳輸。
- 提升數(shù)據(jù)集成的可靠性和穩(wěn)定性,減少企業(yè)損失和成本,加快業(yè)務(wù)流程的執(zhí)行速度,提高企業(yè)效率和競(jìng)爭(zhēng)力。
- 在數(shù)據(jù)安全方面有著重要的作用,及時(shí)發(fā)現(xiàn)和處理數(shù)據(jù)傳輸過程中的異常情況,確保數(shù)據(jù)的安全傳輸和隱私保護(hù)。
?
企業(yè)案例
某金融公司計(jì)劃使用火山引擎DataTester開啟信用卡分期優(yōu)惠A/B實(shí)驗(yàn),預(yù)期趕在大促前上線該實(shí)驗(yàn)并拿到反饋;而面對(duì)的問題是:1. 現(xiàn)有埋點(diǎn)體系復(fù)雜,有大量無效埋點(diǎn)和復(fù)雜埋點(diǎn)判斷 2. 重復(fù)埋點(diǎn)成本很高,依賴客戶端行為事件和服務(wù)端事件 3. 時(shí)間節(jié)點(diǎn)比較緊張,必須趕在大促前拿到實(shí)驗(yàn)反饋;因此進(jìn)行實(shí)驗(yàn)非常具有挑戰(zhàn)。
?
針對(duì)如上背景,他們使用了DataTester數(shù)據(jù)集成平臺(tái)來解決以上問題。他們?cè)跀?shù)據(jù)集成平臺(tái)注冊(cè)已有數(shù)據(jù)源信息,配置數(shù)據(jù)字段映射邏輯,將客戶端和服務(wù)端所有事件數(shù)據(jù)進(jìn)行自動(dòng)捕捉和同步,從而使實(shí)驗(yàn)無需成本地進(jìn)行重復(fù)埋點(diǎn);另一方面,通過數(shù)據(jù)集成的插件能力,企業(yè)可以完成簡(jiǎn)單的數(shù)據(jù)清洗和字段加工,從而可以解決已有的埋點(diǎn)問題。
?
通過這些解決方案的幫助下,該金融公司成功地完成了實(shí)驗(yàn),并獲得了重要的反饋和優(yōu)化建議。此外,DataTester也在數(shù)據(jù)集成、數(shù)據(jù)同步、數(shù)據(jù)安全等方面為企業(yè)提供了全方位的支持,確保企業(yè)項(xiàng)目能夠成功落地,并為其帶來重要價(jià)值。
?
DataTester的“可視化數(shù)據(jù)集成”及“集成工作臺(tái)”方案,可以幫助企業(yè)將來自三方的數(shù)據(jù)導(dǎo)入到A/B系統(tǒng)中,無需額外通過傳統(tǒng)SQL開發(fā)或者業(yè)務(wù)代碼編寫等方式來進(jìn)行數(shù)據(jù)集成,可以實(shí)現(xiàn)對(duì)歷史數(shù)據(jù)資產(chǎn)直接復(fù)用,極大程度降低系統(tǒng)重復(fù)建設(shè)成本。據(jù)了解,目前可視化數(shù)據(jù)集成功能在企業(yè)數(shù)據(jù)接入方面能帶來高達(dá)8倍的提效。
?
結(jié)語
火山引擎DataTester一直致力于為企業(yè)提供業(yè)界最易用、最科學(xué)和最高效的A/B實(shí)驗(yàn)平臺(tái)。為了提高產(chǎn)品在數(shù)據(jù)集成的能力和服務(wù)水平,產(chǎn)品未來將在以下幾個(gè)方面不斷演進(jìn)和完善:
- 提供更豐富的數(shù)據(jù)集成模板:DataTester將支持更多埋點(diǎn)采集分析產(chǎn)品的數(shù)據(jù)模板,讓更多的企業(yè)能夠輕松實(shí)現(xiàn)數(shù)據(jù)同步,并實(shí)現(xiàn)一鍵式的數(shù)據(jù)集成。
- 增強(qiáng)可視化任務(wù)配置能力:將持續(xù)提升函數(shù)自定義和任務(wù)配置的功能,采用零代碼的“拖拉拽”方式,方便企業(yè)用戶快速配置數(shù)據(jù)任務(wù)。
- 增強(qiáng)數(shù)據(jù)監(jiān)控運(yùn)維能力:將進(jìn)一步擴(kuò)展報(bào)警渠道與指標(biāo),提供任務(wù)失敗診斷信息,并根據(jù)數(shù)據(jù)情況提供數(shù)據(jù)質(zhì)量分析報(bào)告,協(xié)助企業(yè)評(píng)估數(shù)據(jù)質(zhì)量和準(zhǔn)確性。
- 數(shù)據(jù)集成能力開放:將提供數(shù)據(jù)源、數(shù)據(jù)模板和數(shù)據(jù)插件的開放接口,讓更多的用戶能夠通過開源方式應(yīng)用我們的A/B實(shí)驗(yàn)平臺(tái)工具,推動(dòng)A/B測(cè)試生態(tài)的長(zhǎng)遠(yuǎn)發(fā)展與壯大。(文/火山引擎DataTester 靜靜)
到了這里,關(guān)于火山引擎DataTester:A/B實(shí)驗(yàn)平臺(tái)數(shù)據(jù)集成技術(shù)分享的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!