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数据集成平台智能数据处理,可大幅降低数据处理的时间和成本。
 

一键式的数据导入

在以往,企业如果希望接入新的A/B测试平台,在第一步的数据集成阶段通常只有通过SQL开发或业务代码编写的方式接入。
 
DataTester数据集成平台提供了可视化的任务配置能力,用户可以通过点击、拖拽等形式完成数据接入;数据集成平台将自动完成数据类型转化、数据清洗等功能。这种“一键式”的数据导入可以最大程度减轻企业在数据集成阶段的时间人力成本。

可视化的任务运维

用户通过可视化的方式来监控、管理和维护数据任务的运行状态和运行情况。这样的方式可以更加便捷地了解任务状态和运行情况,及时发现并解决问题。
 

丰富的数据集成市场

DataTester数据集成支持行为数据、用户属性等历史数据回溯、实时数据同步的能力,并预置了多款数据配置模板,可以一键同步异构数据源数据。

可扩展的数据插件

提供丰富的内嵌插件,支持常用的数据处理逻辑。例如:数字四则运算、字符串处理、字段映射等等。除此之外,DataTester数据集成也提供自定义函数的能力,企业可以在平台根据实际业务逻辑定义UDF,并集成在数据导入任务中。
 

数据集成平台的技术实现

平台架构

下图为火山引擎DataTester数据集成平台的整体架构,功能上,DataTester数据集成系统采用三层架构,包括web层、Service层和数据处理服务。
  • Web层: 提供管理控制台,用户可以方便地配置和管理数据集成任务,查看任务的执行状态;
  • Service层:提供任务管理、监控和调度管理,支持用户对任务进行快速响应和监控。
  • 数据处理层:则提供对各种外部数据源的处理,通过插件方式支持多种异构数据源的集成,目前已经支持关系型数据库、消息队列等等。
系统架构上考虑了高可用、高扩展和高性能的设计。
  • 高可用:任务调度和运行支持多租户资源隔离,保证不同租户之间的任务执行不会相互影响。
  • 高扩展:数据处理任务支持分布式处理数据源数据,针对不同负载可支持水平伸缩;
  • 高性能:通过分布式执行框架保证数据集成任务的并行处理,可以满足大数据场景下的集成需求;
 

底层能力

DataTester数据集成基于Apache SeaTunnel二次开发,数据传输任务采用Framework + plugin架构构建。将数据源读取和写入抽象成为Connect(Source/Sink)插件,纳入到整个数据同步框架中。
  • Source:Source为数据采集模块,负责采集数据源的数据,将数据发送给下游Transform。
  • Sink: Sink为数据写入模块,负责不断向Transform取数据,并将数据写入到目的端。
  • Transform:Transform用于连接Source和Sink,作为两者的数据传输通道,并处理缓冲、并发、监控、数据转换处理等核心技术问题。
Transform是DataTester数据集成的业务处理关键内容。我们内置多个默认插件,自动帮助用户完成用户分析口径映射、事件格式转换、数值处理、字段映射等等逻辑,同时也提供入口供用户增加插件,内嵌至自有任务中。

监控报警

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 静静)

火山引擎DataTester:A/B实验平台数据集成技术分享的更多相关文章

  1. 火山引擎 DataTester:让企业“无代码”也能用起来的 A/B 实验平台

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 当数字化变革方兴未艾,无代码正受到前所未有的关注.Salesforce 的数据显示,52%的 IT 部门表示,公司 ...

  2. 火山引擎 DataLeap:揭秘字节跳动数据血缘架构演进之路

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 DataLeap 是火山引擎数智平台 VeDI 旗下的大数据研发治理套件产品,帮助用户快速完成数据集成.开发.运维 ...

  3. 火山引擎 DataLeap:一家企业,数据体系要怎么搭建?

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 导读:经过十多年的发展,数据治理在传统行业以及新兴互联网公司都已经产生落地实践.字节跳动也在探索一种分布式的数据治 ...

  4. Tapdata 肖贝贝:实时数据引擎系列(六)-从 PostgreSQL 实时数据集成看增量数据缓存层的必要性

      摘要:对于 PostgreSQL 的实时数据采集, 业界经常遇到了包括:对源库性能/存储影响较大, 采集性能受限, 时间回退重新同步不支持, 数据类型较复杂等等问题.Tapdata 在解决 Pos ...

  5. 还原火山引擎 A/B 测试产品——DataTester 私有化部署实践经验

      作为一款面向ToB市场的产品--火山引擎A/B测试(DataTester)为了满足客户对数据安全.合规问题等需求,探索私有化部署是产品无法绕开的一条路.   在面向ToB客户私有化的实际落地中,火 ...

  6. 火山引擎DataLeap数据调度实例的 DAG 优化方案

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,并进入官方交流群 实例 DAG 介绍 DataLeap 是火山引擎自研的一站式大数据中台解决方案,集数据集成.开发.运维.治理.资产管理能力 ...

  7. Oracle 数据集成的实际解决方案

    就针对市场与企业的发展的需求,Oracle公司提供了一个相对统一的关于企业级的实时数据解决方案,即Oracle数据集成的解决方案.以下的文章主要是对其解决方案的具体描述,望你会有所收获. Oracle ...

  8. 火山引擎 A/B 测试产品——DataTester 私有化架构分享

    作为一款面向 ToB 市场的产品--火山引擎A/B测试(DataTester)为了满足客户对数据安全.合规问题等需求,探索私有化部署是产品无法绕开的一条路. 在面向 ToB 客户私有化的实际落地中,火 ...

  9. 火山引擎 DataLeap:3 个关键步骤,复制字节跳动一站式数据治理经验

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,并进入官方交流群 DataLeap 是火山引擎数智平台 VeDI 旗下的大数据研发治理套件产品,帮助用户快速完成数据集成.开发.运维.治理. ...

  10. 如何又快又好实现 Catalog 系统搜索能力?火山引擎 DataLeap 这样做

      摘要 DataLeap 是火山引擎数智平台 VeDI 旗下的大数据研发治理套件产品,帮助用户快速完成数据集成.开发.运维.治理.资产.安全等全套数据中台建设,降低工作成本和数据维护成本.挖掘数据价 ...

随机推荐

  1. leetcode medium 记录 51-100

      # Title Solution Acceptance Difficulty Frequency     92 Reverse Linked List II       40.3% Medium ...

  2. 网络安全(中职组)-B模块:Windows操作系统渗透测试

    任务环境说明: 服务器场景:teltest 服务器场景操作系统:Windows7 (封闭靶机) 1.通过本地PC中渗透测试平台Kali对服务器场景Windows进行系统服务及版本扫描渗透测试,并将该 ...

  3. Echarts的安装和使用

    安装步骤 下载相关文件 可以在该网站下载Echarts.js文件,网址在此:https://www.echartsjs.com/zh/builder.html 然后选择号自己需要用到的图形模块,点击下 ...

  4. Android Studio报错--Build failed with an exception.

    错误描述 在代码写好之后,点击运行,会爆出这样的错误,查看日志,发现是Manifest.xml文件爆出来的错误 具体解决 我的错误没有别的版本那么麻烦,就是我建立了Empty Activity之后,我 ...

  5. 在Linux中安装containerd作为kubernetes的容器运行时

    概述 从kubernetes1.24开始的版本移除了内置的docker支持,用户可以自行选择需要使用的容器运行时,比如containerd.CRI-O.Docker Engine等等,这里我们采用二进 ...

  6. 实现一个CRDT工具库——PSet

    PSet 这段代码实现了一个PSet,即Positive Set,是GSet的扩展.PSet是一个集合,支持添加和删除元素,但是不支持重复元素.PSet的实现是通过两个GSet来实现的,一个GSet存 ...

  7. flutter util---->常用的一些工具方法

    copy text to clipboard Clipboard.setData(ClipboardData(text: string)); since Flutter1.9, you can use ...

  8. BrightlyPro - 照片视屏后期自动调色增亮工具

    BrightlyPro 自动增强您的照片和视频,你最需要它.通过一个滑块,BrightlyPro 立即使您的照片自适应地亮起来,同时保持光影之间令人愉悦的平衡,而不会扭曲已经点亮的区域. 下载 ➤ B ...

  9. 可视化—AntV G6 紧凑树实现节点与边动态样式、超过X条展示更多等实用小功能

    通过一段时间的使用和学习,对G6有了更一步的经验,这篇博文主要从以下几个小功能着手介绍,文章最后会给出完整的demo代码. 目录 1. 树图的基本布局和使用 2. 根据返回数据的属性不同,定制不一样的 ...

  10. 使用Kali复现永恒之蓝

    使用Kali复现永恒之蓝 本次实验为离线靶机测试 实验步骤 确认测试环境:在开始测试之前,需要确认测试环境是否符合要求.我使用的是一台运行Kali的测试机和一台运行Windows 7 64位的靶机.确 ...