验证数据库中数据集的方法和设备与流程

文档序号:37013610发布日期:2024-02-09 13:03阅读:24来源:国知局
验证数据库中数据集的方法和设备与流程

本发明涉及一种用于有效验证分布式数据库系统或文件系统(例如hdfs)中的数据集的方法,被设置为执行该方法的一种计算机程序和一种设备,以及一种机器可读存储介质。


背景技术:

1、数据以大量不同的格式存在,处理数据会消耗大量资源。因此,希望在处理开始之前数据以正确的格式存在,以尽可能节省资源地工作(所谓的“尽早失败,廉价失败”failearly,fail cheap)。为了以节省资源的方式处理数据,在处理之前验证错误的数据集。在验证步骤中,检查该数据集,例如检查预期模式(列的数据类型、可空性)、预期属性(数值范围、字符串长度等)和预期键结构(列的哪种组合应产生唯一的名称)。

2、在变换之前和之后以及在保留结果之前进行验证也非常有用,以确保没有进行不期望的更改。

3、多种现有的python框架可以满足这一需求,但这些python框架都存在一个或多个缺点。pyspark数据集以基于列的格式(parquet)存储,其中上述框架执行逐行验证,这会影响用于验证的性能。验证过程应当是一种快速测试,因此应尽可能短。


技术实现思路

1、具有独立权利要求1的特征的本发明具有以下优点:可以以特别节省资源的方式验证分布式数据库系统中的大数据集,特别是在所述分布式数据库系统的各个数据库之间的通信信道的利用率较低的情况下。这也导致验证可以高达20倍速地进行。

2、本发明的其他方面是独立权利要求的主题。有利的扩展是从属权利要求的主题。

3、在第一方面,本发明涉及一种用于验证分布式数据库系统中的数据集的特别是计算机实现的方法。验证可以理解为数据验证,特别是检查数据集中数据的合理性。也就是说,验证可以具体理解为检查具体的数据或数据的值,以确定其是否属于特定的数据类型、是否位于预给定的值范围内和/或预给定的值集合内等。

4、所述分布式数据库系统具有多个计算机和一个中央计算机,其中所述数据集分布式地存储在所述计算机上。即,所述数据集分布在多个计算机上,特别是该数据集的部分存储在这些计算机上。可以想到,多个子数据集存储在这些计算机之一上。在所述中央计算机上可以存储所述数据集如何分布在多个计算机上,特别是哪个子数据集存储在哪个计算机上。可以想到,所述中央计算机具有对表征所述数据集的进一步信息具有访问权,例如在所述数据集中存放哪些数据类型,特别是哪种数据类型的子数据集存在于相应的计算机上。优选地,所述进一步信息包括相应子数据集的条目可以在哪个值范围等中移动。

5、该方法开始于由所述中央计算机向所述计算机之一发送请求。该请求具有用于就预给定的(验证)标准来检查所述数据集在所述请求所发送到的计算机上的子数据集的指令。所述标准可以从表征所述数据集的进一步信息中确定。

6、随后可以由所述请求所发送到的计算机来执行用于检查的指令。随后可以由该计算机向所述中央计算机发送响应,该响应具有执行所述指令的步骤的结果,特别是所述子数据集是否满足所述预给定的标准。

7、通过有针对性的请求,该方法相对于已知方法具有以下优点:针对子数据集只需要一次请求,而已知方法单独检查数据集的各个条目,大多由中央计算机单独检查数据,因此这样一来必须有效地传输数据集。因此,分布式数据库系统内交换的数据更少,由此提高了系统吞吐量,从而改进了对验证的响应时间。

8、建议所述数据集以具有多个列的表格的形式存在,向每一列分配了数据类型,其中所述数据集的每一行都具有条目,其中所述数据集关于列分布式地存储在所述多个计算机上。优选地,用于检查的指令是单独检查各个条目以确定该条目是否对应于分配给相应列的数据类型的指令。

9、还建议,所述中央计算机向大量计算机、特别是每个计算机发送请求,其中所述计算机执行所述请求并借助于消息将所述请求的结果发送回所述中央计算机,并且所述中央计算机根据接收到的消息确定所述数据集的验证。

10、还建议,所述中央计算机同时发送所述请求。由此更好地利用数据库的分布式结构,并产生进一步的性能提升以更快地进行验证。

11、在另外的方面中,本发明涉及一种设备和一种计算机程序,它们分别被设置为执行上述方法,本发明还涉及一种机器可读存储介质,在所述机器可读存储介质上存储有所述计算机程序。



技术特征:

1.一种用于验证分布式数据库系统(10)中的数据集的方法(20),所述分布式数据库系统(10)具有多个计算机(11-14)和一个中央计算机(15),其中所述数据集分布式地存储在所述计算机(11-14)上,其中所述数据集以具有多个列的表格的形式存在,向每一列分配了数据类型,其中所述数据集的每一行都具有条目,其中所述数据集关于列分布式地存储在所述多个计算机(11-14)上,所述方法包括以下步骤:

2.根据权利要求1所述的方法,其中所述中央计算机(15)向大量计算机(11-14)发送请求,其中所述计算机执行(s23)所述请求并借助于消息将所述请求的结果发送回所述中央计算机(15),并且其中所述中央计算机(15)根据接收到的消息确定所述数据集的验证。

3.根据权利要求2所述的方法,其中所述中央计算机(15)同时向所述大量计算机(11-14)发送所述请求。

4.根据前述权利要求中任一项所述的方法,其中所述预给定的标准是所述子数据集的数据类型或所述子数据集的可空性或预期属性,特别是所述条目的值范围或所述条目的最大/最小长度,或列的唯一性属性。

5.一种设备,其被设置为执行根据前述权利要求中任一项所述的方法。

6.一种计算机程序,包括指令,所述指令在所述程序由计算机执行时促使所述计算机执行根据权利要求1至4所述的方法。

7.一种机器可读存储介质,其上存储有根据权利要求6所述的计算机程序。


技术总结
用于验证分布式数据库系统(10)中的数据集的方法,其中所述数据集分布式地存储在所述分布式数据库系统(10)的计算机(11‑14)上,所述方法包括以下步骤:由中央计算机(15)向所述计算机(11‑14)之一发送(S22)请求,其中所述请求具有用于就预给定的标准检查所述数据集在所述请求所发送到的计算机(11‑14)上的子数据集的指令。

技术研发人员:D·赞德尔,A·K·纳加拉吉,C·朱尔戈斯,D·胡贝尔,J·特罗塔
受保护的技术使用者:罗伯特·博世有限公司
技术研发日:
技术公布日:2024/2/8
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1