传统数据元管理与数据库开发分隔,数据元的设计、变更在文档中进行,而数据库开发与维护在代码层面运行,缺乏实质的联系,也让设计与实施的差异难以验证。项目中计划开发一个平台进行管理与维护,并实质性地利用数据元管理数据中台中的数据,以自动化的方式完成数据处理。包含网页端管理平台的开发,以及数据流的设计与开发,实现以一种准确映射、高效配置、自动化处理的方式,平稳运作。其中管理平台选取了贴近原型风格的ANT-DESIGN-VUE-PRO框架,后端采用了Flask,可视化集成了echarts和AntV实现。数据处理上,基于Airflow框架进行二次开发。
⭐ 项目难点与亮点
1、在管理平台上,数据元具有一系列属性以及所属分类,而在实质使用上,数据元必须关联到数据处理的规则以及在中台的存储位置,本人设计出一个复杂的数据模型应对此难题。
2、在数据处理上,采用了airflow工具完成自动化数据处理。但在处理规则上,显然应该尽量复用来减少工作量,但存在两个难点:第一、数据元与处理规则是多对多的关系;第二,即便是相似的规则,可能存在细微的处理差异,比如有的数据需要四舍五入到万位,但有的需要到百万位。本人设计一种特殊的规则渲染和DAG渲染方案解决了此问题。
3、针对处理后的数据,需要在管理平台上进行检查,为此需要实现在平台上进行可视化操作而后端转化具体查询SQL语句的功能。直接的转换结果效率非常低,本人通过一系列的SQL优化将查询速度从60秒左右降低到3秒内。