马哈鱼带你发现SQL中的数据血缘

MySQL技术

共 2347字,需浏览 5分钟

 · 2021-09-10

 一、马哈鱼数据分析器( SQLFlow )是什么



在大型数据仓库和数据湖中,完整的数据血缘关系可以用来进行数据溯源、表和字段变更的影响分析、数据合规性的证明、数据质量的检查等。

那么到底什么是数据的血缘关系 (data lineage) 呢?

维基百科上的定义是:数据从哪里来,往哪里去,中间发生了哪些变化。

马哈鱼数据血缘分析器通过分析 SQL 脚本,给出完整的数据血缘关系。马哈鱼能够处理多达 20 多种数据库的 SQL 语句,复杂的存储过程、动态 SQL 语句也不在话下。拥有自主研发的通用 SQL 解析器的强大 SQL 处理能力,马哈鱼是你分析 SQL 数据血缘的首选。

  二、马哈鱼数据血缘分析器是怎样工作的

本视频介绍如何利用马哈鱼数据血缘分析器来快速发现 create view SQL 语句中各个表和字段的血缘关系,并用可视化的方式展现出来。


  三、马上体验一下

我特地为咱们【MySQL技术】公众号的读者们,争取了价值600元的两个月高级用户帐号,体验该工具的功能。发送【MySQL技术+马哈鱼体验帐户】 到 743591016@qq.com 便可获取。

有兴趣的小伙伴可以体验下完整功能哦,下面接着来介绍。

  四、产品版本

  1.马哈鱼数据血缘分析器

马哈鱼数据血缘分析器是一个 SaaS 服务。通过浏览器直接使用,无需安装任何软件。

  • 通过浏览器访问马哈鱼数据血缘分析器。

  • 在浏览器中上传SQL文本或文件。

  • 点击分析按钮后,查看数据血缘关系的可视化结果。

  • 在浏览器中,以交互形式,查看特定表或视图的完整血缘关系图。

  • 用 grabit 工具或 API,提交需要处理的 SQL 文件,然后在浏览器中查看结果,或在自己的代码中对返回的结果做进一步处理。

  2.私有化部署版本

支持企业私有化部署,可部署在隔离内网环境。仅供企业内部人员使用,保证数据的安全。提供完整的 API。

支持软件OEM。软件Logo定制,去除马哈鱼Logo,定制品牌Logo,突出品牌信息。

详情请见安装手册。

  3.企业版

马哈鱼数据血缘分析器企业版,包含私有化部署版本和 Java 类库,可以方便的把 data lineage 功能集成到你的项目中, 支持多达20几种主流数据库复杂的 SQL 脚本,包含存储过程。 单击这里下载可运行的 Java 程序及类库。

  五、马哈鱼数据血缘分析器的组成

  • Backend, 后台由一系列 Java 程序组成。负责 SQL 的解析、数据血缘分析、可视化元素的布局、身份认证等。

  • Frontend, 前端由一系列 javascript、html 代码组成。负责 SQL 的递交、数据血缘关系的可视化展示。

  • Grabit 工具, 一个 Java 程序。负责从数据库、版本控制系统、文件系统中收集 SQL 脚本,递交给后台进行数据血缘分析。

  • Restful API,一套完整的 API。让用户可以通过 Java、C#、Python、PHP 等编程语言与后台进行交互,完成数据血缘分析。

  六、马哈鱼数据血缘分析器的局限

马哈鱼数据血缘分析器仅仅通过分析 SQL 脚本,包含存储过程(proceudre, function, trigger)来获取数据库中 的数据血缘关系。但在 ETL 数据转换过程中,会用到很多其它技术和工具,由此产生的数据血缘关系目前 马哈鱼数据血缘分析器无法探知。

  七、进一步了解马哈鱼数据血缘分析器

  • 支持多达21个主流数据库: bigquery, couchbase, dax, db2, greenplum, hana, hive, impala, informix, mdx, mysql, netezza, odbc, openedge, oracle, postgresql, redshift, snowflake, sparksql, sqlserver, sybase, teradata, vertica

  • 马哈鱼数据血缘分析器的客户

  • Architecture document

  八、数据血缘关系

这里用数据库中常用的表和视图来对数据血缘关系做一个说明,实际的情况会比这个复杂。

数据库中视图 (View) 的数据来自表 (Table) 或其他视图,视图中字段 (Column) 的数据可能来自多个表中多个字段的聚集 (aggregation)。表中的数据可能通过ETL从外部系统中导入。这种从数据的源头经过各个处理环节,到达数据终点的数据链路关系称为数据血缘关系 (data lineage)

举例来说,领导可能会问财务报表中的统计结果,它是有哪些子系统(采购、生产、销售等)提供的数据汇总而成的?开发人员会关心当某个子系统(例如 销售子系统)的数据结构发生变化时,可能会影响哪些其它子系统,财务报表子系统也是否需要进行改动?

马哈鱼数据血缘分析器会帮助你回答这些问题,以可视化的图形方式把 数据血缘关系呈现在你面前,让你对组织的IT系统中的数据流动一目了然。

再次推荐各位体验下这款工具,笔者特意争取到了价值600元的两个月高级用户帐号,可以体验该工具的功能。发送【MySQL技术+马哈鱼体验帐户】 到 743591016@qq.com 便可获取。有兴趣的小伙伴不妨试试看,有任何问题也可通过此邮箱与作者沟通。

浏览 153
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报