ETL测试点--实时ETL

ETL测试分为离线ETL和实时ETL测试。

实时ETL的测试点:

    链路数据的一致性

  主要验证每个链路节点数据消费的一致性,重点确保整个链路各个节点的数据处理和消费情况一致,也就是通过对数据消费的分时、分频率对比完成一致性验证。

  

 

    natural-flow:自然消费的数据流,是源于线上真实的数据消息通道,即自然频率的数据消费,以该模式进行测试更贴合实际业务情景;

    high-frequency:高频数据流,采用超出真实峰值或者其他设定值的数据频次输送给实时消费链路,在压测或者检测链路稳定性中是一个常用的测试策略;

    low-frequency:低频数据流,采用明显低于真实值或者特定的低频次数据输送给实时消费链路。如果数据链路中有基于数据量的批量处理策略会暴露的比较明显,比如批量处理的阈值是 100,那么在业务低峰时很有可能达不到策略阈值,这批数据就会迟迟不更新,这个批量处理策略可能不是合理。同时低频次的消费对于实时链路处理的一些资源、链接的最低可用度这些层面的检查也是有意义的。

    步骤:先通过不同数据流频率将数据输送实时链路消费,然后取不同抽样时间间隔的数据进行对比分析,确保数据的一致性(如count uniq sum )。

    链路数据的完整性

  从源头处理到前端展示,不能因为数据逻辑权限、存储异常和前端展现异常等导致数据丢失,经典如下:

   在原始数据中,若出现“背压”,会导致数据源消息积压。如果积压严重,会导致资源耗尽,可能早点成数据丢失;

      在数据处理阶段,如果数据未按照需求进行处理,会导致目标有效数据丢失; 

  在数据存储阶段,如果存储容量已经满了,会造成新数据无法继续写入,最终会导致数据丢失。

    链路数据的及时性

      数据及时性,顾名思义就是测试数据需要按时产出。及时性重点关注的三个要素是:定时调度时间、优先级以及数据deadline。其中任务的优先级决定了它获取数据计算资源的多少,影响了任务执行时长。数据deadline则是数据最晚产出时间的统一标准,需要严格遵守。

    数据的快速恢复验证

    在数据传输过哦成中,如果因为系统异常中断,会停留在某一环节,在系统恢复后,需要确认停止的数据可以快速恢复流转,且处理正确,无数据遗漏和数据重复消费。

    数据的消费性能----还没想清楚。。。。。

    实时数据处理本身是一套全链路数据计算服务,性能测试比较重要。还未理解

    数据流转过程中关键节点的监控

    

 

posted @ 2022-06-30 11:14  新时代农民工01  阅读(129)  评论(0编辑  收藏  举报