大数据系统测试——大数据系统解析(上)
各位好,我是
@道普云
欢迎关注我的主页
希望这篇文章对想提高软件测试水平的你有所帮助。
在本文中我们一起来看一下大数据系统每一个层次需要解决的技术问题和对应的一些技术需求。以此来作为学习大数据系统测试的基础。
数据收集层主要是进行数据源的分布式、异构化、多样化、流水化这样一些场景。我们面向的数据源的类型越来越多,越来越异构化。它整体上对数据收集的扩展性、可靠性、安全性、低延迟这些方面的要求是相对比较高的。
需要保证数据能够根据相应的传感器或数据来源的增加进行相应的扩展,保证整个数据收集过程的安全可靠,同时不能有太高的延迟,数据收集是整个大数据体系最基础的一个源头,如果这个层级不解决好,就会暴露出很多数据问题。
在数据存储层的技术特点主要是数据存储海量化、结构化、非结构化。数据爆炸式的增长,我们面临的数据量级非常庞大,而且增长是越来越快的。我们的传感器的技术还有一些物联网的技术是在不断发展的,甚至说在将来随着生物材料技术的发展,我们收集数据的量级可能要到纳米级,会有很多纳米级的数据收集上来。
除了传统的结构化数据之外,还有很多非机构化数据,各种各样的数据来自于不同的传感器,他的结构是非常复杂的,不再是原来非常单纯的一些数值、文本这种简单的类型。数据类型越来越复杂,而且都是非结构化的,就导致数据的存储是非常复杂的。
在这个层面就要保证数据存储的整体扩展性、容错性和兼容性。需要能够根据数据的增长去及时地扩充,针对一些数据存储的错误需要能够进行相应的容错的处理。还要兼容各种类型的结构化和非结构化的术语。
在资源管理与服务协调层需要保证的主要有两点,首先是资源共享化,因为大数据系统所处理的数据量级是非常大的,所需要的资源也是非常大,那么这就要求资源必须保证共享化,是放在一个整体的资源池,像我们现在用到的云计算的技术,它需要保证无论是存储资源还是计算资源还是网络资源,都需要是共享化。
同时需要保证资源是弹性化的,可以随时根据资源的存储进行增减。所以说在这个层次需要考虑整体的扩展性、可靠性、安全性、高性能。