# DLI"湖仓一体"
在企业数据处理的实践中，随着业务的快速发展，数据量急剧增加，传统的数据处理方式如关系型数据库和数据仓库已经无法满足对非结构化数据的高效处理需求。这导致了企业在处理大量非结构化数据时面临存储成本高、数据管理复杂和分析效率低下的问题。如何在保证数据处理效率的同时，降低存储成本并提高数据管理的灵活性，成为了企业亟待解决的问题。为此，"湖仓一体"技术应运而生，它通过融合数据仓库和数据湖的优势，提供了一种低成本、高效率的数据处理解决方案。
本节将介绍DLI"湖仓一体"的基本原理，帮助您了解如何利用这一技术解决上述问题。
#### 视频简介
视频介绍DLI"湖仓一体"方案架构的基本原理。
<video controls="controls" preload="none" id="object144055863619" class="idp-external-video" src="https://res-video.hc-cdn.com/cloudbu-site/china/zh-cn/dli-video/1756361696038217120.mp4" title="DLI “湖仓一体”方案简介" poster="https://support.huaweicloud.com/productdesc-dli/zh-cn_image_0000002420659306.jpg" height="300.0000" width="600.0000"></video>
#### 基本概念
在了解DLI"湖仓一体"的基本原理前，首先介绍"数据湖"和"数据仓库"的基本概念。
#### 数据湖
**数据湖**具有存储容量大、以原始形式存储、能够存储任意类型数据以及多样化分析能力等特点。
核心优势在于其可扩展性、灵活性和对多种数据类型的支持。它不需要预定义的数据结构，可以存储包括结构化（如数据库表）、半结构化（如CSV、XML、JSON）和非结构化数据（如Email、文档、PDF、图像、音频、视频）在内的各种类型和格式的数据 。
数据湖数据的处理流程：简化前期处理步骤，采用"先存储后处理"的策略。允许数据未经严格预处理即可入库，仅在分析需求明确时执行必要的格式转换与处理。
图1数据湖数据处理流程（ELT）   
![](https://support.huaweicloud.com/productdesc-dli/zh-cn_image_0000002529622365.png "点击放大")
ELT操作流程：
1. 从源系统中提取数据、包括业务系统、CRE、ERP等。
2. 清洗、标准化、整合数据，确保数据质量和一致性。
3. 将处理后的数据加载后预定义的数据仓库结构中。
4. 使用BI工具进行报表生成和趋势分析。
 
#### 数据仓库
**数据仓库**是一种用于数据存储和管理的系统，通过将来自不同来源的数据集中在一起，使得企业能够进行综合分析和报告。
数据仓库的主要特点包括主题性、集成性、非易失性和时变性。数据仓库中的数据是围绕特定主题进行组织的，例如客户、产品、销售等，从而更好地支持决策分析。数据仓库中的数据来自多个不同的源系统，需要进行清洗、转换和加载（ETL）以确保数据的一致性 。
图2数据仓库数据处理流程（ETL）   
![](https://support.huaweicloud.com/productdesc-dli/zh-cn_image_0000002529622433.png "点击放大")
ETL操作流程：
1. 从源系统中提取数据、包括业务系统、CRE、ERP等。
2. 清洗、标准化、整合数据，确保数据质量和一致性。
3. 将处理后的数据加载后预定义的数据仓库结构中。
4. 使用BI工具进行报表生成、趋势分析。
 
#### 数据湖VS数据仓库差异对比
表1数据湖VS数据仓库差异对比 
| **特性**    | **数据湖**         | **数据仓库**      |
|:---|:---|:---|
| 数据类型   | 所有类型的数据         | 结构化数据为主         |
| 数据质量控制 | 不强制建模，先存后说     | 严格规范、提前建模       |
| 性能优化    | 查询效率较低，需配套引擎优化  | 查询速度快，索引清晰    |
| 存储成本     | 成本低，适合大数据批量归档与挖掘 | 成本高，适合重要高频数据分析 |
| 使用门槛   | 更灵活             | 对业务建模理解要求高      |
| 数据处理过程  | 提取加载转换（ELT）   | 提取转换加载（ETL）  |
| 典型应用场景 | AI、物联网、金融       | 零售、电信、制造       |
   
#### "湖仓一体"的核心特征
- **统一架构**：打通数据仓库和数据湖，将数据仓库的高性能及管理能力与数据湖的灵活性相结合。
- **多数据类型支持**：底层支持结构化、半结构化和非结构化数据并存。
- **统一访问接口**：上层通过统一封装的接口进行访问，可同时支持实时查询和分析。
- **数据共享**：实现数据间的相互共享，为企业数据治理带来便利性。
 
#### DLI 的"湖仓一体"方案架构介绍
湖仓一体架构由多个关键层次组成，每一层都承担着特定的功能。
图3DLI 的"湖仓一体"方案架构   
![](https://support.huaweicloud.com/productdesc-dli/zh-cn_image_0000002454192253.png "点击放大")
- **统一存储层：**
  最底层的对象存储OBS是整个体系的 "数据蓄水池"，同时容纳结构化数据（如数据库表、日志文件）和非结构化数据（如图片、视频、文档）。
  - 基于对象存储实现
  
  - 支持多种数据格式（结构化、半结构化、非结构化）
  
  - 采用存算分离设计，大幅降低存储成本
   
- **数据格式层：**
  多类型适配，兼顾灵活与规范，通过"湖仓一体"架构，支持多数据源，打破数据孤岛，数据可随用随取、无需搬迁。
  - 开源文件格式（Parquet/ORC/CSV）
  
  - 开源数据湖格式（Hudi/DeltaLake）
  
  - 华为云数仓生态 （MRS/DWS/CloudTable）
    
- **元数据统一管理系统LakeFormation**
  - 统一元数据：把 "开源文件格式、数据湖格式、数仓" 里的表结构、字段类型、存储位置等元数据信息，统一存到LakeFormation**。**
  
  - 统一元数据权限管理：LakeFormation实现统一的细粒度数据权限管理，支持跨服务/跨集群的数据共享。
  
  - 自动元数据发现能力，与数据入湖过程联动。
  
  - 跨引擎的一致权限控制，简化配置流程。
   
- **多元计算引擎**
  DLI整合三大引擎，按需应对实时流、离线批、交互式分析场景：
  - 批处理引擎（Spark）：高效处理大规模历史数据。
  
  - 流处理引擎（Flink）：实时处理数据流。
   
- **异构数据源接入，打破数据孤岛**
  左侧的 GaussDB/MySQL/PG SQL等让DLI能直接对接已有系统，通过跨源访问，直接分析异构数据源。
  
- **高性能查询解决方案**
  一站式满足业务需求，覆盖从 "日常报表" 到 "AI 训练" 的全流程。
  - 可对接开放表格式（Hudi等），以及灵活的文件格式（CSV/ORC/Parquet），以及外部数据源（关系型数据库/DWS/CloudTable）实现高性能查询。
  
  - 配合流批一体引擎，例如Flink+StarRocks，供PB级存储和亚秒级查询响应能力。
   
 
#### DLI"湖仓一体"实现方式
LakeFormation的元数据管理把湖、仓元数据（表结构、存储位置、权限规则）收拢统一，让湖仓一体的 "数据自由流动" 成为可能。
"DLI对接LakeFormation"的功能当前处于受限使用阶段，如需使用，请在管理控制台右上角，选择"工单 \> 新建工单"，提交申请。
图4DLI"湖仓一体"操作流程   
![](https://support.huaweicloud.com/productdesc-dli/zh-cn_image_0000002454342853.png "点击放大")
1. 统一管理湖、仓元数据： 
   不管数据存在数据湖或数据仓库，都能在LakeFormation实例中创建元数据，生成统一的 "表结构 + 存储位置" 映射。
   
   
2. DLI的Catalog映射： 
   在DLI控制台创建 "LakeFormation 数据目录映射" 。
   
   
3. 授权DLI使用LakeFormation资源： 
   通过委托授权DLI使用LakeFormation资源。
   
   
4. 不同引擎的DLI作业读湖 、仓数据，元数据直接复用： 
   在DLI的Spark/Flink，不用迁移数据，直接选择对应的Catalog，在作业中通过配置"库名.表名"即可访问数据湖或数据仓库的数据 。
   例如在离线 处理场景，无需在Spark里重新定义表结构，直接通过在DLI映射后的Catalog即可访问LakeFormation中的元数据。实现从对数据湖、数据仓库数据的读取与写入。
   
   
 
#### 相关操作指导
[在DLI创建到LakeFormation Catalog的映射](https://support.huaweicloud.com/usermanual-dli/dli_01_0005.html)
[在DLI作业开发时使用LakeFormation元数据](https://support.huaweicloud.com/usermanual-dli/dli_01_0629.html)
