
# MRS业务场景介绍
MRS包含了多种大数据组件，用户可基于企业大数据业务场景、数据类型、可靠性以及资源预算等要求合理选择集群类型。
用户可以基于系统预置的集群模板[快速购买](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0496.html)一个集群，也可自行选择组件列表及高级配置特性，[自定义购买](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0513.html)集群。
表1MRS集群类型 
| 集群类型         | 场景介绍                                                                                                                                  | 核心组件                                           |
|:---|:---|:---|
| Hadoop分析集群   | Hadoop集群完全使用开源Hadoop生态，采用YARN管理集群资源，提供Hive、Spark离线大规模分布式数据存储和计算，SparkStreaming、Flink流式数据计算、Tez有向无环图的分布式计算框架等Hadoop生态圈的组件，进行海量数据分析与查询。 | Hadoop、Hive、Spark、Tez、Flink、ZooKeeper、Ranger   |
| HBase查询集群    | HBase集群使用Hadoop和HBase组件提供一个稳定可靠、性能优异、可伸缩、面向列的分布式云存储系统，适用于海量数据存储以及分布式计算的场景，用户可以利用HBase搭建起TB至PB级数据规模的存储系统，对数据轻松进行过滤分析，毫秒级得到响应，快速发现数据价值。 | Hadoop、HBase、ZooKeeper、Ranger                  |
| ClickHouse集群 | ClickHouse是一个用于联机分析的列式数据库管理系统，具有压缩率和极速查询性能。被广泛的应用于互联网广告、App和Web流量、电信、金融、物联网等众多领域。                                                     | ClickHouse、ZooKeeper                           |
| 实时分析集群       | 实时分析集群使用Hadoop、Kafka、Flink和ClickHouse组件提供一个海量的数据采集、数据的实时分析和查询的系统。                                                                     | Hadoop、Kafka、Flink、ClickHouse、ZooKeeper、Ranger |
   
大数据在人们的生活中无处不在，在IoT、电子商务、金融、制造、医疗、能源等行业均可以使用华为云MRS服务进行大数据处理。
以下为大数据处理中的一些典型业务场景：
- [离线数据湖场景]
  离线数据处理通常是指对海量数据进行分析和处理，形成结果数据，供下一步数据应用使用。
  离线数据处理对处理时间要求不高，但是所处理数据量较大，占用计算存储资源较多，通常可通过Hive/SparkSQL引擎或者MapReduce/Spark实现。
  - 海量数据存储能力 HDFS支持将TB级至PB级数据分布式存储在集群中，通过副本机制（默认3副本）保证数据可靠性，适合存储日志、非结构化数据等。
    
  
  - 批处理计算框架 将复杂计算任务拆解为"Map（映射）"和"Reduce（归约）"两个阶段，支持大规模并行计算，例如排序、聚合、文本分析等离线任务。
    
  
  
  图1离线数据分析场景   
  ![](https://support.huaweicloud.com/usermanual-mrs/zh-cn_image_0000002402266873.png "点击放大")
  - 源数据：源数据种类通常包括流式数据、批量文件数据、数据库等。
  
  - 实时采集系统：进行数据的实时采集，例如通过Kafka、Flink、第三方CDC工具等实现。
  
  - 批量采集系统：用于批量采集离线数据，通常可以使用DataArts Studio-CDM服务、第三方ETL工具等。
  
  - 批处理引擎：用于实现高性能的离线批处理作业运行。
    - Hive：传统SQL批处理引擎，用于处理SQL类批处理作业，在广泛海量数据下表现稳定，处理速度较慢。
    
    - MapReduce：传统批处理引擎，用于处理非SQL类，尤其是数据挖掘和机器学习类批处理作业， 使用广泛，海量数据下表现稳定，处理速度较慢。
    
    - Spark SQL：新型SQL批处理引擎，用于处理SQL类批处理作业，适合海量数据，处理速度高效。
    
    - Spark：新型批处理引擎，用于处理非SQL类，尤其是数据挖掘和机器学习类批处理作业，适合海量数据，处理速度高效。
    
    - Yarn：资源调度引擎，为各种批处理引擎提供资源调度能力，是多租户资源分配的基础。
    
    - HDFS/OBS：分布式文件系统，为各种批处理引擎提供数据存储，可以存储各种文件格式数据，常见格式有Parquet、ORC和Hudi等。
     
  
  - 交互分析引擎：通过查询引擎HetuEngine实现交互式查询，适用于海量数据、中高并发、多个租户共享查询引擎的场景。
  
  - 业务应用：查询并使用批处理结果的业务应用，由上层业务自行定制开发。
   
- [实时数据湖场景]
  实时数据湖场景是将传统的大数据离线加工（又称离线数据湖）T+1的数据加工模式提升到分钟级的数据加工模式。
  实时数据湖的核心是数据湖，围绕数据湖实现实时入湖、湖内批流一体数据加工、数据实时查询，完成端到端的数据加工处理。
  - 支持数据更新和自动合并。
  
  - 支持流式加工模式，实时读取新增数据。
  
  - 增量读写能力，对新数据的加工无需全表扫描。
  
  
  图2实时数据湖场景   
  ![](https://support.huaweicloud.com/usermanual-mrs/zh-cn_image_0000002402188033.png "点击放大")
  - 源数据：数据源通常为TP数据库或者可以写入Kafka的流式消息数据。
  
  - 数据采集：用于数据实时同步或入湖。
    - Kafka：实时消息管道，用于接收实时流式数据或第三方采集的TP数据变更数据。
    
    - DataArts Studio-CDM：用于全量历史数据搬迁，全量历史数据搬迁后再利用CDL进行数据实时增量同步。
     
  
  - 实时数据湖：用于实现高性能的实时作业加工。
    - Hudi：一种数据湖的存储格式，在Hadoop文件系统之上提供了更新数据和删除数据的能力以及消费变化数据的能力。
    
    - Flink：实时流计算引擎，可以根据Hudi的实时增量查询能力进行批流一体加工。
    
    - SparkSQL：批处理引擎，可以实现基于Hudi批量加工逻辑，不需要进行实时业务加工的业务可选用此引擎。
    
    - HDFS/OBS：分布式文件存储系统，为各种批处理引擎提供数据存储，可以存储各种文件格式数据。
     
  
  - 数据湖探索：用于湖内加工后数据的高效访问。
    - HetuEngine：提供湖内数据高效交互式分析能力。
    
    - ClickHouse：MPP数据库，用于集市数据存储和查询，提供大宽表的高效聚合分析能力。
    
    - DWS：MPP数据库，提供传统数仓能力。
     
  
  - 数据治理中心DataArts Studio：用于进行大数据开发的工具集。 提供一个可视化的前端页面，可进行可视化的数据开发、数据规范设计、数据质量作业设计、数据资产展示和搜索等能力，可显著提高数据湖之上的作业开发效率。
    
  
  - 业务应用：查询并使用实时数据湖中的数据的业务应用，由上层业务自行定制开发。
   
- [实时流处理场景]
  大数据场景下，实时流处理是与批量加工处理同样应用广泛的一种场景，相比批量加工处理，实时流处理通常会带来数据处理时效性的大幅度提升，从而在业务层面带来更敏捷的体验。
  实时流处理系统要求具备延迟低、可扩展、高可用的特点，可将传统批量加工业务的天/小时级别的数据加工延迟降低到分钟级甚至秒级。
  - 数据实时采集并以流式方式实时送达处理系统。
  
  - 流处理引擎可以持续实时处理到达的数据。
  
  - 流处理引擎根据当前到达的数据持续输出运算结果。
  
  - 系统支持对接多种不同数据存储系统，直接将处理结果送达数据目标端。
  
  - 数据存储系统支持持续的实时数据写入，支持低延迟的数据实时查询。
  
  
  图3实时流处理场景   
  ![](https://support.huaweicloud.com/usermanual-mrs/zh-cn_image_0000002400345001.png "点击放大")
  - 源数据：写入Kafka的流式消息数据，数据为持续新增的数据流。
  
  - 实时流处理系统：用于数据实时同步或入湖。
    - Kafka：实时消息管道，用于接收实时流式数据，作为实时流处理场景的统一数据源。
    
    - FlinkSQL：实时流处理，从Kafka实时读取数据并进行复杂的实时计算，将结果送到下游，可以实现毫秒级的实时流式处理。
     
  
  - 数据集市：用于实时流处理加工后的数据高效访问。
    - HBase：精确检索引擎，提供海量数据的高并发、低延迟访问能力，可根据全局唯一的索引快速在海量数据中检索出目标数据。
    
    - ClickHouse：MPP数据库，用于集市数据存储和查询，提供大宽表的高效聚合分析能力。
    
    - Doris：MPP数据库，提供实时数据仓库能力。
     
  
  - 数据治理中心DataArts Studio：用于进行大数据开发的工具集。
    - 数据开发：提供可视化的实时流数据任务开发和调度能力，并可进行实时处理任务的兼容。
    
    - 数据服务：提供数据服务API开发和开放能力，将数据集市的查询定义为数据服务接口，对上层应用提供接口化的数据服务能力。
     
  
  - 业务应用：查询并使用实时数据集市中的数据的业务应用，由上层业务自行定制开发。
   
- [宽表数据集市场景]
  传统数据集市场景中，实时数据和离线数据分离，集市层指标通过预聚合进行定制化开发，时效性低，复杂性高，灵活性差。
  基于Clickhouse的实时集市方案，离线和实时数据归一，无需预聚合加工，基于明细数据直接进行多维秒级聚合查询，具备实时、高效、灵活的特点。
  ClickHouse作为高性能列式OLAP数据库，凭借其极致的查询性能（单节点每秒处理数亿行数据）和分布式扩展性，表现突出。
  - 数据实时写入，亚秒级聚合查询延迟，时效性高。
  
  - 无需预加工，直接基于明细宽表数据查询，性价比高。
  
  - 多维度灵活组合查询，全自助指标查询，灵活性高。
  
  
  图4宽表集市场景   
  ![](https://support.huaweicloud.com/usermanual-mrs/zh-cn_image_0000002379763140.png "点击放大")
  - 源数据：业务系统产生的数据，可以是离线的文件数据，关系型数据库数据，或者实时采集的流式数据等。
  
  - 大数据平台：实时宽表集市的核心数据处理平台，包含离线数据加工、实时数据加工、宽表集市等模块。
    - 实时消息管道：用于接收实时流式数据，作为实时数据接入的统一管道。
    
    - 实时流处理引擎：从Kafka实时读取数据并进行复杂的实时计算，将结果送到下游，可以实现毫秒级的实时流式处理。
    
    - 离线数据湖：针对业务系统的离线数据进行统一归集和处理，进行宽表加工，存储使用HDFS或OBS，数据加工引擎使用SparkSQL。
    
    - 宽表集市：ClickHouse是宽表集市的核心组件，用于集市数据存储和查询，提供大宽表的高效聚合分析能力。
    
    - 数据服务：提供数据服务API开发和开放能力，将数据集市的查询定义为数据服务接口，对上层应用提供接口化的数据服务能力。
    
    - JDBC直连：ClickHouse提供标准的JDBC接口，在BI工具对接场景中，也可以直接使用JDBC接口连接ClickHouse进行数据查询。
     
  
  - 业务应用：查询并使用实时数据湖中的数据的业务应用，由上层业务自行定制开发。
   
