本文一起看一下关于大数据技术的基本的技术体系和典型技术栈,帮助想要从事大数据方向软件测试的朋友快速了解需要掌握的知识架构。
大数据基本的思想、它的整体框架,与以往的数据相关体系实际上是相类似的。区别主要在于数据的收集、存储包括资源的调度、计算引擎、数据分析、数据可视化这几个方面。每个方面所要处理的内容、所要处理的算法、最终展现的效果都发生了很大的变化。这种变化主要体现在我们数据的类型越来越多、数据的容量也越来越大。
上图中我们可以看到,在数据收集层,我们需要进行数据的提取、转换、加载。
在数据存储层,我们会面对各种各样结构化的数据和非结构化的数据,有越来越多的非关系型的数据库(NoSQL数据库),需要在数据存储层进行相关数据的专业化的存储。
在资源管理和服务协调层,需要很多更便利的、更弹性的资源管理的框架,进行数据处理的相关资源的管理。
在计算引擎层,针对不同的数据应用的场景,可以包括像批处理、交互式分析、流处理这样的典型的处理的模式。
在数据分析层,除了传统的数据仓库、OLEP、商务智能这些传统的数据分析的技术之外,现在有很多流式的、实时的数据处理、数据分析相关的框架技术。
在数据可视化层,也有很多精美的数据可视化相关的框架。
在上面这个图里我们可以看到一些典型的大数据技术栈。
比如说在数据收集层,有像Kafka、Flume这种典型的消息处理、数据采集的中间件。
数据存储层,有非常多的NoSQL的数据库,像HBase、MongoDb、Redis等等各类型的、处理不同类型数据存储的数据库的技术,还有像HDFS这种典型的分布式文件系统。
在资源管理与服务协调层,有像YARN、ZooKeeper这些比较典型的资源调度的框架,它们不仅仅是在大数据系统里面,也会应用到很多分布式系统里面。
在计算引擎层,有批处理的、有流式的,不同的技术它们用的框架也不同。在数据分析层,有非常多的数据分析的模型和典型的框架。
我们整个大数据的技术体系、技术栈是非常复杂的,它分了很多层次,在不同的层次都要处理不同的问题。以上就是大数据技术的基本的技术体系和典型技术栈,希望能够对你有所帮助。
(谢绝转载,更多内容可查看我的主页)