本文我们将大数据系统测试的技术体系、测试标准、测试环节、测试方法、测试工具和大数据系统测试案例进行展开,首先我们先一起来看一下大数据的基本技术体系。
一、大数据技术体系
大数据基本的思想、整体框架,与以往的数据相关体系实际上是相类似的。区别主要在于数据的收集、存储包括资源的调度、计算引擎、数据分析、数据可视化这几个方面。每个方面所要处理的内容、所要处理的算法、最终展现的效果都发生了很大的变化。这种变化主要体现在我们数据的类型越来越多、数据的容量也越来越大。
上图中我们可以看到,在数据收集层,我们需要进行数据的提取、转换、加载。
在数据存储层,我们会面对各种各样结构化的数据和非结构化的数据,有越来越多的非关系型的数据库(NoSQL数据库),需要在数据存储层进行相关数据的专业化的存储。
在资源管理和服务协调层,需要很多更便利的、更弹性的资源管理的框架,进行数据处理的相关资源的管理。
在计算引擎层,针对不同的数据应用的场景,可以包括像批处理、交互式分析、流处理这样的典型的处理的模式。
在数据分析层,除了传统的数据仓库、OLEP、商务智能这些传统的数据分析的技术之外,现在有很多流式的、实时的数据处理、数据分析相关的框架技术。
在数据可视化层,也有很多精美的数据可视化相关的框架。
在上面这个图里我们可以看到一些典型的大数据技术栈。
比如说在数据收集层,有像Kafka、Flume这种典型的消息处理、数据采集的中间件。
数据存储层,有非常多的NoSQL的数据库,像HBase、MongoDb、Redis等等各类型的、处理不同类型数据存储的数据库的技术,还有像HDFS这种典型的分布式文件系统。
在资源管理与服务协调层,有像YARN、ZooKeeper这些比较典型的资源调度的框架,它们不仅仅是在大数据系统里面,也会应用到很多分布式系统里面。
在计算引擎层,有批处理的、有流式的,不同的技术它们用的框架也不同。在数据分析层,有非常多的数据分析的模型和典型的框架。
我们整个大数据的技术体系、技术栈是非常复杂的,它分了很多层次,在不同的层次都要处理不同的问题。
二、大数据系统技术需求
接下来我们一起来看一下大数据系统每一个层次需要解决的技术问题和对应的一些技术需求。
数据收集层主要是进行数据源的分布式、异构化、多样化、流水化这样一些场景。我们面向的数据源的类型越来越多,越来越异构化。它整体上对数据收集的扩展性、可靠性、安全性、低延迟这些方面的要求是相对比较高的。
需要保证数据能够根据相应的传感器或数据来源的增加进行相应的扩展,保证整个数据收集过程的安全可靠,同时不能有太高的延迟,数据收集是整个大数据体系最基础的一个源头,如果这个层级不解决好,就会暴露出很多数据问题。
在数据存储层的技术特点主要是数据存储海量化、结构化、非结构化。数据爆炸式的增长,我们面临的数据量级非常庞大,而且增长是越来越快的。我们的传感器的技术还有一些物联网的技术是在不断发展的,甚至说在将来随着生物材料技术的发展,我们收集数据的量级可能要到纳米级,会有很多纳米级的数据收集上来。
除了传统的结构化数据之外,还有很多非机构化数据,各种各样的数据来自于不同的传感器,他的结构是非常复杂的,不再是原来非常单纯的一些数值、文本这种简单的类型。数据类型越来越复杂,而且都是非结构化的,就导致数据的存储是非常复杂的。
在这个层面就要保证数据存储的整体扩展性、容错性和兼容性。需要能够根据数据的增长去及时地扩充,针对一些数据存储的错误需要能够进行相应的容错的处理。还要兼容各种类型的结构化和非结构化的术语。
在资源管理与服务协调层需要保证的主要有两点,首先是资源共享化,因为大数据系统所处理的数据量级是非常大的,所需要的资源也是非常大,那么这就要求资源必须保证共享化,是放在一个整体的资源池,像我们现在用到的云计算的技术,它需要保证无论是存储资源还是计算资源还是网络资源,都需要是共享化。
同时需要保证资源是弹性化的,可以随时根据资源的存储进行增减。所以说在这个层次需要考虑整体的扩展性、可靠性、安全性、高性能。
在计算引擎层,主要特点是:批处理、交互处理、实时处理、专业化。现在发展的方向就是专业化程度越来越高,越来越场景化,比如说像传统的批处理专业化场景,它的要求是一次性处理的数据量非常大,但是实时性可能要求不是那么高。
交互处理就是数据处理过程中可能需要与用户进行很多交互,在交互中用户输入一些内容,大数据后台进行一些处理,相互之间是有不断的交互的,随时根据交互的内容进行数据的应的处理。
实时处理,像一些流处理、舆情处理,是要求必须实时监控实时处理的,这对性能的要求是比较高的。
所以说在计算引擎层,它需要解决的核心问题是高性能、可靠性和功能正确性。无论是对单次海量数据的处理还是对实时低延迟的处理都需要非常高的性能,包括交互处理,也要求交互是快速响应的。因为它是作为一个公共的服务层,它需要为上层的分析层进行服务,需要保障可靠性,另一方面需要保证功能的正确性。
在数据分析层是各种各样的数据分析模型专业化。举个典型的例子,在金融系统商业银行,每个商业银行的部门,无论是贷款的部门还是存款的部门或者国际业务部门,每一个部门在每一个业务上都会有一个专门的数据分析的模型,这种数据分析模型的专业化程度越来越高,与个性化的需求的结合程度也越来越高。根据数据模型分析专业化的要求,需要保障高性能,同时需要保证它的可靠性和功能正确性。
在数据可视化层需要保证数据展示灵活、可定制、美观。不同的用户对数据可视化的需求是不同的,不同的用户关注的点是不一样的。即便是在同一个单位,在不同的部门、不同的岗位、不同的级别,他所要求的数据展现也是不同的。
这时候需要保证整个数据的可视化是非常灵活的。它对质量的要求、对数据的应用性要求是非常高的。同时数据可视化展示的内容是非常丰富的,它需要保证高性能、可靠性、易用性和功能正确性。
三、大数据系统测试依据
讲完大数据整体的体系,我们来看一下测试应该怎么样去开展,首先我们讲一下大数据整体测试的依据,大体上可以分为三个方面:大数据系统平台测试标准、大数据系统数据测试标准、大数据系统应用测试标准。
首先大数据系统平台测试标准它所关注的是整个大数据平台的一些基础软件,就像我们刚才讲到的HBase、NoSQL的数据库、spark这种典型的处理引擎等等。再就是通讯协议、接口,第四个是信息安全,这是平台测试的相关标准。
第二个方面是大数据系统的数据测试标准,作为大数据系统,数据是它非常核心的一个部分,也是整个大数据系统的基础。因为数据的体量越来越大、类型越来越复复杂,采集的过程也是越来越复杂,所以说数据质量面临着很严峻的挑战。数据质量的标准包括数据质量模型的标准、数据质量评价指标的标准和行业数据规范等。越来越多的行业都已经在制定相应的行业标准。需要保证数据的标准统一,才可以实现整个行业的联通。
第三个方面是大数据系统应用测试标准,大数据系统应用测试与大多数信息系统的应用测试标准是相类似的。大数据系统用的模型也是很多通用的模型,只不过它的场景与一般的信息系统是有差别的。
大数据系统平台测试标准
首先我们一起来看一下平台方面的标准,首先是国家标准,可以分成基础软件标准,比如像前面提到的基础软件的标准,关系数据库管理系统检测规范、数据管理系统化技术要求等这些偏基础性的软件相关的标准。
还有像通信方面,比如说网络安全层协议,还有一些加密协议相关的测试规范。再就是一些接口类的规范,比如说非结构化数据访问接口的规范,再比如像去年刚出的大数据接口基本要求等。再就是关于信息安全方面相关的规范,比如说像个人信息的相关安全规范,还有数据库管理系统的安全技术要求、安全评估准则这样的规范。
在去年(2020年)关于大数据系统也新发布了一些标准,比如说数据处理系统的功能测试要求、分析系统的测试要求、计算系统通用要求等等。
然后是国际标准,有些国际标准在国内没有形成等同采用的国家标准。下面是一些典型的标准,像隐私保护相关的标准,还有像SQL远程数据库访问的标准,还有很多的安全层面的标准。
接下来是基准测试标准,基准测试标准有非常多,比如一些学术机构,像加州大学伯克利分校这种,他们都提出了相应的标准。在工业界,也有非常多的相关标准。一般来讲,我们会把专业性的委员会的标准作为基准测试比较权威性的标准。
传统的数据库的TPC的标准有很多关于数据处理能力的标准。针对大数据,TPC委员会也形成了相关的标准,比如说TPCx-HS,它包括大数据的硬件、软件处理的性能都有相应的场景和测试的规范,是侧重于这方面。TPCx-BB是形成了30个相关的场景,包括整个数据处理性能的一系列的工具,去验证不同的框架所对应的性能的标准。TPCx-DS更多的是偏向传统的决策分析系统,OLAP这样的相关系统的处理性能。
另外在中国数据中心联盟,也是形成了一些大数据平台基准测试国内标准。包括相应的技术要求和测试方法都有相应的规定。
大数据系统数据测试标准
刚才讲到的是平台的标准,接下来我们一起看一下数据质量的标准。数据质量标准包括一些非结构化数据表示的一些规范,还有GB/T25000里面针对数据质量模型、数据质量测量这方面的标准。再就是在去年的时候形成了大数据的数据分类指南,工业产品核心元数据和政务数据开放共享相关的标准。
大数据系统应用测试标准
针对应用质量方面,有GB/T25000中关于测试的相关标准,还有一些在编的应用质量相关的测试标准。
四、大数据系统测试内容
接下来我们一起来看一下大数据系统的测试内容。还是分成三个层次,从平台、数据和应用这三个方面。
平台质量主要关注的是平台的功能性、安全性、性能效率、可靠性等。这个特别针对的是数据收集层和数据存储层,还有一些基础的数据预处理、计算引擎这方面相应的质量。
数据质量它关注的更多是数据的内容,数据内容的真实性、完整性、一致性、准确性、安全性、时效性、可用性、价值性、分析结果的易理解性。
应用质量更多针对的是数据的分析层,数据的可视化层,主要关注功能性、可靠性、安全性、性能效率等。
大数据系统平台质量测试内容
首先我们一起看一下大数据系统平台的质量测试内容。
这一块可以分为四个层次,首先是关于基础功能,包括数据采集和传输、数据存储和管理、数据计算、数据查询和分析、数据可视化等等,这些不同的平台基础功能。不同的平台的实现方式不同,所以测试的内容也会有相应的调整,最核心的是它前三部分的内容。
第二部分是平台基准性能,刚才也讲过了,有很多的平台基准性能的测试标准,特别是TPC委员会的标准,典型的TPCx-BB,还有很多像HiBench、AMPBenchmark、SparkBench、BigDataBench等基准性能标准,可以结合平台的具体的性能需求去使用相对应的性能标准,因为每一个基准性能标准使用的场景和测试方法都是有一些差别的。
第三块是平台安全,包括基础安全,像网络、主机等的安全;平台数据的安全,包括数据的加密、数据的存储、数据的传输等方面的安全性。
最后是平台可靠性,要保证平台是高可用的,包括各类故障的容错性,是有相应的可靠性保证的。
大数据系统应用(算法)质量测试内容
然后我们一起看下大数据系统应用或者大数据算法模型的测试内容,主要包括GB/T25000.51的8个质量特性方面进行测试。
大数据系统数据质量测试内容
接下来是大数据系统数据质量测试内容,刚才也讲过了,有好几个应用数据质量的标准,也有行业的对数据质量的要求。
《GB/T 36344-2018 信息技术 数据质量评价指标》 中,提出了以下这几个方面需要关注的测试内容。
五、大数据系统测试流程
然后我们一起来看下大数据系统测试的方法。
首先是测试的流程,可以分成这几个流程步骤:
首先是环境搭建。对于大数据系统来讲,环境搭建是一个相对比较复杂的工作,因为大数据里面会用到各种各样的框架。另一方面,数据的准备工作是非常繁琐的,因为它的数据容量是非常大的。需要对整个平台应用的运行环境进行搭建,同时要接入各种数据源,有可能还要接入各种数据采集的设备。
第二个环节是测试的分析,包括大数据应用的分析、数据类型的分析、还有大数据平台的分析也就是平台架构的分析。
第三个环节是进行测试的设计,也可以按照我们前面讲的三个方面。应用层结合GB/T25000.51标准的八大质量特性进行设计,数据质量方面可以结合《GB/T 36344-2018 信息技术 数据质量评价指标》的相关内容,在大数据平台方面也有关于关系数据库相关的标准。
第四个环节是测试执行,包括测试用例的执行、缺陷的管理、分析优化、回归测试等等。最后一个环节是形成测试报告。
测试环境搭建
测试环境搭建可以分成以下三部分:硬件环境的搭建包括一些虚拟化技术,物理设备、存储、网络等相关的环境。在软件环境的搭建过程中,可能会用到各种不同的计算框架,像流式架构、离线和流计算结合的Lambda架构等等。再就是数据环境搭建,要考虑基准数据的生成,或者数据的导入、数据的迁移等。
测试分析
接下来是实施阶段,要做好测试分析。首先要进行应用的分析,数据应用的情景、它相应的质量要求、安全性的要求以及用户使用的情况等。再就是数据分析,需要关注数据的类型、数据的关联关系、处理的规则、数据量的规模等等。还有平台分析,包括架构、平台技术和源数据系统的情况。
测试设计
测试设计方面,我们需要结合相应的标准和被测试系统的相关需求,需要根据标准和需求去进行每一个测试项的测试设计。比如说在应用层面的设计,需要考虑数据分析的价值性的验证、正确性的验证、数据分析效率的验证。在数据质量方面,需要关注数据的实效性、正确性和完整性。在平台方面的测试设计,需要考虑一些基础的功能,数据从采集到预处理等整个全过程的功能的正确性。以及数据安全性的验证、可靠性的验证。
六、大数据系统测试方法
TPCx-BB数据模型
针对大数据平台的基准测试,举一个TPC标准中的TPCx-BB数据模型测试的例子。TPCx-BB模拟零售商30个应用场景,执行30个查询,包括部分机器学习算法(聚类、线性回归)。在这个测试模型里面,配备了比较完整的测试工具集,包括测试数据生成的工具集。
它的核心是以下五大部分:包括bin的执行脚本,conf进行测试配置,Data-generator进行数据表的处理。engines部分是针对不同数据的处理模型:Biginsights(IBM)、hive(批处理)、impala(实时处理)、spark_sql(流处理),Tools是响应的测试工具包。
(TPCx-BB测试工具)
数据安全测试
数据安全测试中有数据安全能力成熟度模型这样的标准,在数据安全性方面覆盖了不同的数据处理过程。
(数据安全能力成熟度模型)
数据采集安全,它关注的是数据的分类分级、采集获取、清晰转化等相应的安全性。
再就是数据传输的安全,数据的传输是不是采用了加密的处理,整个传输加密协议是不是合适。
在存储安全环节,包括存储架构、逻辑存储、访问控制、数据副本等方面的安全。
数据处理安全包括分布式处理安全、数据分析安全、数据脱敏的处理等。
数据交换安全包括数据导入导出的安全、数据共享安全、数据发布安全、交换监控等等。
数据销毁安全包括介质的使用管理,因为数据的生命周期中,有一些数据在完成使用之后要进行销毁,超过使用周期的过期数据要进行相应介质的销毁或者数据的销毁,介质的管理是不是安全。
数据质量测试
与数据安全测试一样,数据质量的测试也是覆盖数据整个生命周期的。包括数据采集的准确性、完整性、时效性、安全性。数据预处理的一致性、准确性、真实性、可用性、完整性、安全性和价值性。数据分析结果的可用性、价值性和准确性。大数据可视化的易于理解性,数据应用的价值性。
这些都是我们要覆盖数据的整个生命周期进行测试的每一个测试点。
七、项目案例
最后再给大家介绍一些相关的案例。
县级政务大数据平台
第一个是一个县级的大数据平台,需要实现县级政务数据共享、辅助决策等。也就是说需要通过打通县级各个政府机关的信息系统,实现县级相关数据的共享。他们本身是缺少信息化的经验的,对大数据平台的建设也不够了解。像县级的信息系统大部分都不是自建系统,大部分系统都是依赖于省市级系统。所以在数据采集和数据共享方面面临着很大的困境。
用户的痛点首先是平台是否满足业务长期使用要求,因为平台建成之后,不能只考虑现阶段的使用情况,还需要考虑将来除了政务的数据之外,有可能会接入一些企业生产的数据,或者互联网的数据,数据的规模可能会有很大的扩充。
再就是数据分析准确性、分析效率不确定,建设一个统一的大数据平台,是想达到数据的共享和数据的互联互通,通过互联互通去分析综合维度的数据,同时还要保证效率。
第三方面是业务处理可靠性要求高,不能出现服务中断、数据丢失。政务系统有“一次性办好”的要求,需要公安、卫生、民政等部分的数据打通,需要保证整个服务是连续的,才能保证大数据的处理是能满足用户使用场景的,不能出现服务中断。比如说用户去办理一个卫生口的业务,需要开一个证明,需要公安的一个数据,如果这时候公安的相应的数据服务中断了,就没有办法保证一次性办好了。另一方面,不能发生数据丢失这种问题,一旦数据丢了,有些数据找不到了,也会影响整个业务的效率和连续性。
因此它的测试内容就覆盖了平台质量测试、数据质量测试和应用质量测试。
针对平台测试,我们结合了基准测试标准对平台进行平台架构性能基准测试。另一方面针对平台的组件,像ApacheRanger等安全组件的使用和配置。同时通过基础功能测试、故障模拟去验证平台的基础功能和可靠性。
在数据测试方面,可以结合一些开源的工具,像ApacheGriffin进行数据质量验证。国内也有很多关于数据质量测试的商业化的工具,可以进行数据的检查。
另一方面是应用测试,通过人工测试去进行应用功能性、易用性的测试,特别是一些业务逻辑性比较强的功能。通过性能测试工具、性能监控工具去测试性能。通过漏扫工具、网络协议分析工具等安全工具去测试应用的安全性。
在平台方面主要发现的问题有:平台架构、数据采集质量和效率、平台安全这三方面的问题。
首先通过测试发现整个平台架构无法满足数据处理的性能,它虽然应用了像hadoop、HBase等这些大数据的基本架构,但它有很多数据处理都放在了关系型数据库里面。虽然在系统建成的早期,在数据量比较小的情况下,是能满足当前业务要求的。数据量还没有达到那么大,导入的数据是有限的。但是长期来讲,不使用大数据的标准架构,当数据增长到一定量级之后,就会出现整体的性能问题。所以说平台架构是无法满足数据处理的性能的。
第二点,数据采集质量和效率也出现了很多问题。它的数据采集有很多是通过离线的文件进行采集的,数据的实时性没法保证,具有很强的延时性,而且效率是非常低的。这也是受困于县级的政务系统,很多数据没法进行数据源或数据库的直接接入,所以说建议它使用接口或爬虫的方式进行数据采集,提高采集效率。
第三点是有关于平台的安全性。数据的采集传输过程中有很多数据是没有加密的,一些敏感数据的存储也是没有加密,是可以看到明文数据的。这时候就需要进行相应的加密的处理。
在数据层面,首先是数据的完整性的问题,数据记录采集是不完整或冗余的。这时候就需要相应的采集验证功能的增强。
另一方面是数据的实效性,有很多数据的传输延时是比较长的,这时候就需要进行数据压缩的传输,减少传输的容量,提升传输效率。
第三块是数据的准确性,在存储的时候有一些数据的采集出现了数据重复,在存储的时候也没有进行一些相应的验证,导致存储的一些数据是重复的。这就需要数据清洗和预处理功能的增强。
数据应用层面的问题,包括数据统计错误,相应的统计结果是错误的。比如像一些工业规模数据的统计,统计的一些数据不光是自己这条线的,把其他线的数据也采集进来了,也进行一些相应的分析了,也就是说数据源的控制是有问题的,相应的统计算法也是有一定问题的,需要进行相应的程序的优化修改。
再一个就是查询时间长,主要表现在点击查询相应的时间是非常慢的,可能需要好几分钟才能出一个统计分析的结果。这时候就需要进行SQL语句优化,特别是一些关系型的数据的处理。
第三块是日志审计不完整,部分关键操作是缺少日志记录的,一些数据处理如果缺少相应的日志记录,就有可能造成对数据的一些安全性的动作形成之后,系统没有去记录,那么就无法去追溯谁操作了数据,操作了哪些数据,需要完善关键操作日志记录审计功能。
水务大数据系统
另一个案例是一个水务大数据的系统,税务大数据平台主要是进行水务数据的精准分析,为整个水务业务进行辅助决策。在水务水利这方面有相应的行业数据标准,相应的数据平台需要满足行业的相关要求。
另一方面在数据库方面使用了国产数据库,国产数据库是否能够满足整个大数据平台整个的兼容性要求。所以痛点就是,平台数据是否符合行业标准和数据质量是否满足实际使用要求。这是一个好几期的项目,在第一期里面,首先关注的是数据质量,有了数据质量之后,才能保障后续的应用的实际效果。
在数据质量方面,依据《GB/T 36344-2018 信息技术 数据质量评价指标》测试的标准,进行相应的分类,每类里面有相应的测试项。
在规范性方面,需要关注数据标准、元数据是不是满足水务水利行业的相关标准。重点关注的是数据库的设计,相应的内容都需要人工去测试验证,因为规范性都是与业务关联性非常强。
第二方面是业务规则和权威参考数据,水务数据还需要与自然资源等数据进行相应的关联,业务数据无论是业务规则还是数据的联通都需要保证与其他标准是兼容的。
第三方面是安全规范,需要保证数据有相应的安全管理,一些敏感数据要进行脱敏的处理,同时要保证数据权限是安全的,不能有越级越权的数据访问。
在数据的完整性方面。首先是数据元素的完整性,重点关注的是抽查数据相应的字段是不是完整,有没有在数据的采集过程中出现的数据字段不全的问题。再一个就是数据记录的完整性,包括数据的数量是不是完全匹配,采集处理的数据和数据源的数据是不是数据数量一致。
在数据的准确性方面。包括整个数据内容的正确性、格式合规性。数据重复率,数据的重复率越低越好,如果有数据的重复采集,应该经过数据清洗或数据预处理进行相应的去重。再就是数据唯一性,对于一些有唯一性要求的数据,要保证数据在系统中是唯一的。再就是脏数据出现率(过期、错误)要越低越好。
数据的一致性方面,数据的一致性首先是相同数据一致性,也就是数据源的数据和大数据系统的数据是完全一致的(HBase与国产数据库的一致性)。另一方面是关联数据一致性(用户数据关联删除),比如说针对一个用户数据,把用户删除之后,这个用户下的相应的其他表的关联数据都要相应的删除。
时效性,基于时间段的正确性(时间段内数据连续正确),比如说采集某个数据时,1分钟可以采集1000条,在1分钟里要保证这1000条数据都能连续地正常采集上来。再就是基于时间点的及时性(时间戳、数据处理频率正确性)。
可访问性。在需求所要求的数据访问的时间点和时间段内不同的数据访问方式(数据库直接访问的方式、数据接口访问方式)都是可访问的。再就是数据的可用性,在数据有效期内必须保证数据是可用的,超过数据的有效期,应该进行相应的销毁或者后续的相关处理工作。
数据的保密性,针对HBase的存储数据是不是使用了一些TDE这种插件去保证数据的加密存储,传输的加密是不是经过了像TLS这样的传输加密协议。再就是脆弱性,一些框架或者数据库的的安全漏洞是不是都进行了相应的处理。,不存在高危漏洞。
最后是数据的效率方面。高效的数据格式、数据格式效率(数据类型效率)。数据处理能用整型就不用一些更复杂的浮点型,更复杂的数据类型会造成数据处理效率的降低。
数据使用效率、数据处理效率、数据更新延迟(响应时间)。针对数据使用效率、数据处理效率,可以通过一些性能测试工具去验证响应时间。数据更新的延迟有的可以通过一些基准测试、通过一些日志去监控更新处理的响应时间。
浪费空间风险、重复记录控件。
这个案例也是存在数据的完整性、实效性和准确性的问题。
数据的完整性方面,主要表现在数据采集不完整或不符合标准,有一些数据采集上来出现了一些空值。或者行业标准里面规定了某一项数据应该是要保持小数点后面几位精度的,它的数据采集的精度和标准要求是不符合的。这时候就需要采集验证增强程序的修改,去保证数据的完整性。
数据时效性主要表现在数据传输延时长,有些数据要求必须达到每分钟处理1000条的处理效率,有时候数据有延迟,在某些时间段内没有在1分钟内把这些数据采集上来,出现一定的延迟,这是数据传输的性能问题。再就是数据存储的重复,也是需要数据清洗功能的增强。
本文整理自道普云联合发起的优品软件培育计划公益讲座,如需回放视频可联系我。
更多精彩: