返回
作业帮基于 DeltaLake 的数据湖建设最佳实践
后端
2023-10-07 00:57:26
1. 作业帮数据湖建设背景
作业帮是一家以科技为载体的在线教育公司,其大数据中台作为基础系统中台,主要负责建设公司级数仓,向各个产品线提供面向业务主题的数据信息。随着业务的快速发展,作业帮的数据量急剧增长,原有的数仓体系已无法满足业务需求,因此急需建设一个新的数据湖来满足业务需求。
2. 作业帮数据湖建设目标
作业帮数据湖建设的目标是:
- 统一数据存储:将作业帮所有数据源的数据统一存储到数据湖中,为业务提供统一的数据访问入口。
- 灵活数据处理:支持多种数据处理引擎,方便业务快速开发数据处理任务。
- 高效数据分析:支持多种数据分析引擎,方便业务快速进行数据分析。
- 安全数据管理:提供完善的数据安全管理机制,保证数据安全。
- 可扩展数据架构:支持数据湖的弹性扩容,满足业务快速增长的需求。
3. 作业帮数据湖建设架构
作业帮数据湖建设采用分层架构,如下图所示:
- 数据接入层:负责将作业帮所有数据源的数据接入到数据湖中。
- 数据存储层:负责将数据湖中的数据存储到各种存储介质上,包括本地存储、云存储和分布式存储。
- 数据处理层:负责对数据湖中的数据进行处理,包括数据清洗、数据转换和数据集成等。
- 数据服务层:负责提供数据访问和数据分析服务,包括数据查询、数据报表和数据可视化等。
- 数据管理层:负责对数据湖中的数据进行管理,包括数据安全管理、数据质量管理和数据元数据管理等。
4. 作业帮数据湖建设过程
作业帮数据湖建设过程主要包括以下几个步骤:
- 数据源接入:将作业帮所有数据源的数据接入到数据湖中。
- 数据存储:将数据湖中的数据存储到各种存储介质上。
- 数据处理:对数据湖中的数据进行处理,包括数据清洗、数据转换和数据集成等。
- 数据服务:提供数据访问和数据分析服务,包括数据查询、数据报表和数据可视化等。
- 数据管理:对数据湖中的数据进行管理,包括数据安全管理、数据质量管理和数据元数据管理等。
5. 作业帮数据湖建设运维管理
作业帮数据湖建设运维管理主要包括以下几个方面:
- 数据监控:对数据湖中的数据进行监控,包括数据量监控、数据质量监控和数据安全监控等。
- 数据备份:对数据湖中的数据进行备份,以防止数据丢失。
- 数据恢复:当数据湖中的数据发生丢失或损坏时,进行数据恢复。
- 数据安全:对数据湖中的数据进行安全管理,包括数据访问控制、数据加密和数据审计等。
- 数据治理:对数据湖中的数据进行治理,包括数据质量管理、数据元数据管理和数据生命周期管理等。
6. 作业帮数据湖建设最佳实践
作业帮数据湖建设最佳实践主要包括以下几个方面:
- 选择合适的存储介质:根据数据湖中的数据量和数据类型选择合适的存储介质,包括本地存储、云存储和分布式存储。
- 选择合适的数据处理引擎:根据数据湖中的数据类型和数据处理需求选择合适的数据处理引擎,包括Spark、Flink和Hive等。
- 选择合适的数据服务引擎:根据数据湖中的数据类型和数据分析需求选择合适的数据服务引擎,包括Presto、Kylin和Druid等。
- 建立完善的数据安全管理机制:包括数据访问控制、数据加密和数据审计等。
- 建立完善的数据质量管理机制:包括数据清洗、数据转换和数据集成等。
- 建立完善的数据元数据管理机制:包括数据字典、数据血缘和数据质量等。
- 建立完善的数据生命周期管理机制:包括数据创建、数据使用和数据销毁等。