天天看點

火山引擎DataTester:A/B實驗平台資料內建技術分享

作者:Meta多元宇宙

DataTester的資料內建系統,可大幅降低企業接入A/B實驗平台門檻。

當企業想要接入一套A/B實驗平台的時候,常常會遇到這樣的問題:

  • 企業已經有一套埋點系統了,增加A/B實驗平台的話需要重複做一遍埋點,費時費力;
  • 企業有多個用戶端和資料中台并行的情況,這些不同來源的資料難以整合進一個A/B實驗平台;
  • 距離下次大促隻有一周時間了,業務想快速開啟A/B實驗,時間緊迫;

......

A/B實驗準備的全流程如圖下所示。當企業在已有埋點的情況下,如果想0-1開啟A/B實驗,通常要占用大量人力來做資料處理。需要梳理埋點清單、确定id映射關系、确定埋點資料類型、确定導入時間範圍、修改業務處理邏輯、代碼編寫、測試環境調試......

火山引擎DataTester:A/B實驗平台資料內建技術分享

當經曆完多次調試驗證後,資料接入完成,工作卻遠未結束,伴随而來的是資料對齊校驗、後期任務運維等。這些繁瑣的工作,使企業“開啟A/B實驗”的門檻極高,也會帶來諸多資料差異的隐患。為解決企業開啟A/B實驗成本過高的問題,火山引擎A/B測試平台(DataTester)專門研發了資料內建能力。本文将對DataTester的資料內建平台做技術解讀。

DataTester是由火山引擎推出的A/B測試與智能優化平台,它脫胎于位元組跳動長期沉澱,曆經位元組内部超150萬次實驗打磨,為企業的增長、轉化、産品疊代,政策優化,營運提效等各環節提供科學的決策依據。DataTester的資料內建能力,可以真正解決多源資料內建、資料清洗和資料預處理問題,提高企業的A/B測試效率和準确性,進而為企業開實驗提供有力的支援。

火山引擎DataTester:A/B實驗平台資料內建技術分享

上圖是使用DataTester資料內建平台最基礎的配置流程,可以看到,使用者隻需要在頁面上登記資料源資訊、映射邏輯、任務排程配置,就可以快速的同步多源資料,完成資料配置和接入。

DataTester的資料內建有哪些能力

火山引擎DataTester的資料內建,主要提供了幫助企業導入第三方資料到A/B系統的能力,它可以解決企業在資料接入過程中的如下痛點:

  • 資料來源複雜

對于需要從多個資料來源擷取資料的企業來說,整合資料要事先了解A/B實驗的事件格式和埋點使用規範,手動導入資料非常繁瑣耗時。DataTester資料內建平台提供了快速導入多種資料源的能力,使用者可以輕松将資料彙總到一處。

  • 資料品質參差不齊

多個資料源的資料會有參差不齊的情況,DataTester資料內建平台可以自動進行資料清洗和轉換,確定導入的資料品質良好,避免由于資料品質問題帶來的實驗錯誤。

  • 人力成本高昂

如果采用正常的手動導入資料和清洗處理的方式,會花費較多時間人力,DataTester資料內建平台智能資料處理,可大幅降低資料處理的時間和成本。

1. 一鍵式的資料導入

在以往,企業如果希望接入新的A/B測試平台,在第一步的資料內建階段通常隻有通過SQL開發或業務代碼編寫的方式接入。

DataTester資料內建平台提供了可視化的任務配置能力,使用者可以通過點選、拖拽等形式完成資料接入;資料內建平台将自動完成資料類型轉化、資料清洗等功能。這種“一鍵式”的資料導入可以最大程度減輕企業在資料內建階段的時間人力成本。

火山引擎DataTester:A/B實驗平台資料內建技術分享

2. 可視化的任務運維

使用者通過可視化的方式來監控、管理和維護資料任務的運作狀态和運作情況。這樣的方式可以更加便捷地了解任務狀态和運作情況,及時發現并解決問題。

火山引擎DataTester:A/B實驗平台資料內建技術分享

3. 豐富的資料內建市場

DataTester資料內建支援行為資料、使用者屬性等曆史資料回溯、實時資料同步的能力,并預置了多款資料配置模闆,可以一鍵同步異構資料源資料。

火山引擎DataTester:A/B實驗平台資料內建技術分享

4. 可擴充的資料插件

提供豐富的内嵌插件,支援常用的資料處理邏輯。例如:數字四則運算、字元串處理、字段映射等等。除此之外,DataTester資料內建也提供自定義函數的能力,企業可以在平台根據實際業務邏輯定義UDF,并內建在資料導入任務中。、

資料內建平台的技術實作

1. 平台架構

下圖為火山引擎DataTester資料內建平台的整體架構,功能上,DataTester資料內建系統采用三層架構,包括web層、Service層和資料處理服務。

  • Web層:提供管理控制台,使用者可以友善地配置和管理資料內建任務,檢視任務的執行狀态;
  • Service層:提供任務管理、監控和排程管理,支援使用者對任務進行快速響應和監控。
  • 資料處理層:則提供對各種外部資料源的處理,通過插件方式支援多種異構資料源的內建,目前已經支援關系型資料庫、消息隊列等等。
火山引擎DataTester:A/B實驗平台資料內建技術分享

系統架構上考慮了高可用、高擴充和高性能的設計。

  • 高可用:任務排程和運作支援多租戶資源隔離,保證不同租戶之間的任務執行不會互相影響。
  • 高擴充:資料處理任務支援分布式處理資料源資料,針對不同負載可支援水準伸縮;
  • 高性能:通過分布式執行架構保證資料內建任務的并行處理,可以滿足大資料場景下的內建需求;

2. 底層能力

DataTester資料內建基于Apache SeaTunnel二次開發,資料傳輸任務采用Framework + plugin架構建構。将資料源讀取和寫入抽象成為Connect(Source/Sink)插件,納入到整個資料同步架構中。

  • Source:Source為資料采集子產品,負責采集資料源的資料,将資料發送給下遊Transform。
  • Sink:Sink為資料寫入子產品,負責不斷向Transform取資料,并将資料寫入到目的端。
  • Transform:Transform用于連接配接Source和Sink,作為兩者的資料傳輸通道,并處理緩沖、并發、監控、資料轉換處理等核心技術問題。

Transform是DataTester資料內建的業務處理關鍵内容。我們内置多個預設插件,自動幫助使用者完成使用者分析口徑映射、事件格式轉換、數值處理、字段映射等等邏輯,同時也提供入口供使用者增加插件,内嵌至自有任務中。

火山引擎DataTester:A/B實驗平台資料內建技術分享

3. 監控報警

DataTester資料內建平台采用了InfluxDB來運作資料監控。InfluxDB 是一款專門處理高寫入和查詢負載的時序資料庫,用于存儲大規模的時序資料并進行實時分析。在每個監控任務送出後,DataTester将會在資料處理過程中增加成功、失敗的資料埋點,并最終落入InfluxDB對外展示。

在企業的常用應用場景中,資料內建監控報警主要起到以下幾個作用:

  • 及時發現資料內建中的異常情況,比如資料傳輸失敗、資料丢失、重複資料等,避免資料不一緻或丢失的情況發生,保障資料的準确性和完整性。
  • 對于資料傳輸量較大或資料傳輸需要保證明時性的場景,可以通過實時監控和報警方式,及時發現系統存在的問題,并能夠快速采取措施,保障資料正常傳輸。
  • 提升資料內建的可靠性和穩定性,減少企業損失和成本,加快業務流程的執行速度,提高企業效率和競争力。
  • 在資料安全方面有着重要的作用,及時發現和處理資料傳輸過程中的異常情況,確定資料的安全傳輸和隐私保護。
火山引擎DataTester:A/B實驗平台資料內建技術分享

企業案例

某金融公司計劃使用火山引擎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 靜靜)

⬇️點選,立即體驗DataTester

繼續閱讀