一:大数据应用场景
1.离线批处理
数据量比较大,延迟比较高
2.实时检索
实时检索中的hbase按key值检索较快,因为其存储是顺序存储,但是对value的检索就相对较慢。
数据量大,实时查询数据,不能对数据做大量修改
3.实时处理
通过flume收集数据,存放到kafka中,然后我们可以通过flink或者spark中的structedstreaming来进行处理,处理后的数据我们不放入数据库中,而是放入redis(缓冲器),这样可以提高应用对数据的读取速度 。
4.融合数仓
高斯DB
二.大数据架构概述
大数据架构是关于大数据平台系统整体结构与组件的抽象和全局描述,用于指导大数据平台系统各个方面的设计和实施。
一个典型的大数据平台系统架构应包括以下层次:
- 数据平台层(数据采集、数据处理、数据分析)
- 数据服务层(开放接口、开放流程、开放服务);6
- 数据应用层(针对企业业务特点的数据应用)
- 数据管理层(应用管理、系统管理)。
数据平台层
数据平台层 是大数据体系中最基础和最根本的部分。数据平台层一般包含三个层次。
数据采集层:包括传统的ETL离线采集、实时采集等。
数据处理层:根据数据处理场景要求不同,对采集回来的数据进行一些规范化的预处理。常用处理 方式可以分为Hadoop离线处理、实时流处理等。
数据分析层:包括传统的数据挖掘和进一步的机器学习、深度学习等。
数据服务层
数据服务层是基于数据平台层,以开放接口、开放流程为基础,采用基于云计算的大数据存储和处理架构、分布式数据挖掘算法和基于互联网的大数据存储、处理和挖掘大数据服务模式。
构建基于服务的大数据分析模式,提供大数据处理和分析的服务功能。
基于互联网和云计算的大数据存储、处理和挖掘的数据中心系统架构,提供多用户、多任务的大数据分析服务。
数据应用层
数据应用层 是各个企业根据自身的具体业务及应用所规划和实施的大数据应用和服务。主要将大数据应用到行业领域,实现基于行业的应用。
根据企业的特点不同划分不同类别的应用,比如针对运营商,对内有精准营销、客服投诉、基站分析等,对外有基于位置的客流、基于标签的广告应用等等。
主流的应用层面的技术包括大数据统计、分析、挖掘、展现等等。
数据管理层
数据管理层包括应用管理和系统管理。
应用管理主要是从数据设计、开发到数据销毁的全生命周期管理,建立数据标准、质量规则和安全策略等,从而实现从事前管理、事中控制和事后稽核、审计的全方位的数据质量管理,元数据管理和安全管理。
系统管理主要是将大数据平台纳入统一的云管理平台管理,云管理平台包括支持一键部署、增量部署的可视化运维工具、面向多租户的计算资源管控体系(多租户管理、安全管理、资源管理、负载管理、配额管理以及计量管理)和完善的用户权限管理体系,提供企业级的大数据平台运维管理能力支撑。
三.主流大数据架构
大数据基础架构主要为了解决传统BI中在处理大数据时的性能等问题,提供满足日常数据分析和数据处理的能力
大数据流式架构数据全程以流的形式处理,适用于预警、监控、对数据有实时处理要求的场景。
大数据Lambda架构充分利用和整合批处理和流处理各自强项的数据处理架构。其包含了三层:批次处理,实时处理和响应查询的服务层。
大数据Kappa架构在Lambda的基础上进行了优化,将实时和流处理部分进行了合并。将数据通道以消息队列进行替代。Kappa以流处理为主,但是数据却在数据湖层面进行了存储。
大数据统一架构对Lambda进行了改造,在流处理层新增了机器学习层。适用于有大量数据分析需求,同时对机器学习有需求或者规划的场景。
四.大数据基础架构
企业传统的数据分析的业务需求没有发生变化,但是因为数据量增加、性能等问题导致系统无法正常使用,需要进行升级改造。数据分析需求依旧以BI场景为主,引入大数据基础架构 (Hadoop),使用分布式计算框架和批处理技术提升数据的分析和处理能力。
大数据流式架构
- 大数据流式架构在大数据基础架构上,去掉批处理部分,从而更专注处理流式数据。
- 流数据是一组顺序、大量、快速、连续到达的数据序列。应用于网络监控、传感器网络、航空航天、气象测控和金融服务等领域。
- 流式架构在数据接入端没有了ETL,转而替换为数据通道。经过流处理加工后的数据,以消息的形式直接推送给了消费者,满足了用户对数据的实效性需求。
大数据Lambda架构
- Lambda架构是大数据系统里面举足轻重的架构,大多数架构基本都是Lambda架构或者基于其变种的架构。
- Lambda架构很好的兼顾了实时处理和离线处理,几乎覆盖了大多数的数据分析和需求处理。可以很好地满足同时存在实时和离线需求的场景。
- Lambda架构将数据通道分为两个分支:实时流和离线。实时流类似流式架构,保障了其实时性,而离线则以批处理方式为主,保障了最终一致性。
大数据Kappa架构
- Kappa架构在Lambda架构的基础上进行了优化,将实时部分和流部分进行了合并,将数据通道以消息队列进行替代,依旧以流处理为主,但是数据却在数据湖层面进行了存储。
- 消息队列(Message Queue)是分布式系统中的重要功能,主要解决应用耦合、异步处理等问题。常用的消息处理方案有 Kafka、RabbitMQ 和ActiveMQ。
大数据统一架构
- 大数据统一架构将机器学习和数据处理进一步整合。从核心上来说,统一架构依然以Lambda为主,只是对其进行了优化和改造,重点是在流处理层新增了数据服务层(数据挖掘,机器学习等)。
- 数据在经过数据通道进入数据湖后,新增了模型训练部分,并且将其在流式层进行使用。同时流式层不单使用模型,也包含着对模型的持续训练。
五.大数据架构在大数据中的重要性
1.好的大数据架构需要围绕着企业的业务进行设计,而不是单单围绕着技术架构。业务是核心,而技术是业务的支持,好的大数据架构能满足业务的持续发展。
2.大数据架构决定了—个大数据系统的主体结构、宏观特性和具有的基本功能以及特性。
3.好的大数据架构可扩展性强,可维护性高,能为企业未来的业务发展提供数据支撑 。
4.在数据处理技术分布式演进趋势中,Hadoop成为开放的事实标准。但其生态圈庞大复杂,使用合适的架构及其组件尤为重要。
5.大数据架构作为系统协调者角色提供系统必须满足的整体要求,包括政策、治理、架构、资源和业务需求,以及为确保系统符合这些需求而进行的监控和审计活动。
- 系统协调者定义和整合所需的数据应用活动到运行的垂直系统中。
- 系统协调者的功能是配置和管理大数据架构的其他组件,来执行一个或多个工作负载。
- 系统协调者通常会涉及到更多具体角色,由一个或多个角色扮演者管理和协调大数据系统的运行。这些角色扮演者可以是人,软件或二者的结合。
6.大数据架构作为数据提供者角色为大数据系统提供可用的数据。
- 在一个大数据系统中,数据提供者的活动通常包括采集数据、持久化数据、对敏感信息进行转换和清洗。
- 作为数据提供者创建数据源的元数据及访问策略、访问控制、通过软件的可编程接口实现推或拉式的数据访问、发布数据可用及访问方法的信息等。
- 大数据架构通常需要为各种数据源(原始数据或由其它系统预先转换的数据)创建一个抽象的数据源,通过不同的接口提供发现和访问数据功能。
7.大数据架构作为大数据应用提供者在数据的生命周期中执行一系列操作,以满足系统协调者建立的系统要求及安全和隐私要求。
- 大数据应用提供者通过把大数据框架中的一般性资源和服务能力相结合,把业务逻辑和功能封装成架构组件,构造出特定的大数据应用系统。
- 大数据架构作为大数据应用程序提供者可以是单个实例,也可以是一组更细粒度大数据应用提供者实例的集合,集合中的每个实例执行数据生命周期中的不同活动。
- 每个大数据应用提供者的活动可能是由系统协调者、数据提供者或数据消费者调用的一般服务,如Web服务器、文件服务器、一个或多个应用程序的集合或组合。