目前,越来越多的应用和服务都基于数据而建立,数据的应用也日趋繁茂,数据的重要性不言而喻。
数据质量是一切数据驱动决策的前提,也是
数据分析和数据挖掘结论有效性和准确性的基础。因此,确保数据可用性与数据质量是企业不可忽略的重要环节。
一、数据质量的影响因素
数据种类(Variety):数据类型的多样性;
数据容量(Volume):数据的大小决定所考虑的数据的价值的和潜在的信息;
数据可变性(Variability):妨碍了处理和有效地管理数据的过程;
数据速度(Velocity):指获得数据的速度;
数据复杂性(Complexity):数据量巨大,来源多渠道。
数据真实性(Veracity):数据的质量;
二、数据质量如何监控
1、数据对账
离线数据对账方法有很多,比如可以和业务库来对比;而针对实时数据,特别是Kafka数据落地,必须要有一个监控机制来知道数据落地情况。
2、性能监控
性能监控即数据可用性监控,包含两个方面:
数据读写影响,比如 es,在写入数据的时候会影响读数据,需要即时监控,并做相应调整。
查询性能,比如es的某个索引,在不同时间段的查询响应速度,还有hive、kylin、presto的查询,可以通过任务监控来观察。
3、日常监控
日常监控中最重要的就是数据落地检查,常见监控内容如下:
数据掉0监控:数据量阈值监控,少于某个量就告警
重复数据监控:监控是否存在重复数据。
数据同比环比监控:环比监控指主要是对比很短时间内涨幅程度,一般是用在月、日,不过由于行业差异,比如旅游,会受到淡旺季影响,需要用到年;同比监控一般用在相邻两年,相同时间段内,查看涨幅程度,一般用在两年相同月份;
关键指标监控:检查数据关键指标或属性值是否有异常,然后及时做出反应
数据落地监控:实时监控数据落地,确保数据质量的完整性、准确性、一致性和及时性。
5、多数据源监控
目前大数据场景比较复杂,引入了非常多的开源组件,而且还会有新的组件持续地引入,因此要考虑到对不同组件的数据监控。包括:ES、Kylin 、Hive、Mysql、Redis等
4、告警
通过告警报表系统来展示数据预警情况,特别是对数据量趋势内容的监控,需要用到可视化的对比。