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