SQL 数据验证框架?

SQL Data verification framework?

我收到各种平面文件,在将其加载到 SQL 服务器数据库之前,需要在 ETL 过程的几个阶段进行转换和聚合。

在每个阶段之后,我想通过多种方式验证数据,并且我正在研究可以提供帮助的现有技术。

收到数据后,需要对其进行验证,例如截断数据、日期格式,并通常确保数据已准备好进行转换。

这样清洗完数据后,我想验证一下数据。这包括将行计数、空值百分比、平均值等值与以前的加载或预定义值进行比较。如果验证失败,应提醒开发者。

tSQLt,数据库单元测试框架,有几个断言可以用来做我想做的事。它很容易设置并且有不错的文档。这是我能看到的最接近的工具,但与它的设计目的相去甚远。

另一种方法是创建我自己的工具,但我想知道 - 是否已经存在类似的工具?

经过一番搜索,我找到了一个我认为可以解决问题的商业解决方案:QuerySurge. There are a couple of similar tools like this (ETL validator),尽管它声称是独一无二的软件。

工作原理:

  • 在 2 个查询之间使用集合比较,如果不匹配则引发错误 比赛。这可能是行数 before/after 转换,或者 只是检查结果 returns 没什么。

  • 可以使用任何 JDBC 兼容的数据源执行查询 ANSI SQL 和任何特定连接 SQL。结果存储在一个 使用 MySql 后端分离服务器,您可以选择 自己托管或使用他们的服务器。

  • 它允许使用命令行,因此支持连续 集成工具。

  • 一个不错的功能是测试分组(测试套件),尽管它是 不清楚一组的结果将如何影响整体测试。

  • 内置的报告工具也很好看。

这是我从网站上收集到的大部分内容。我还没有下载试用版,因为软件本身超出了我的价格范围。

该工具原理上并不复杂,我们将开发自己的框架来应对。