导读
OPPO是一家智能终端制造公司,有着数亿的终端用户,每天产生了大量文本、图片、音视频等非结构化数据。在保障数据连通性、实时性以及数据安全治理要求的前提下,如何低成本、高效率地充分挖掘数据价值,成为了拥有海量数据的公司的一大难题。目前业界的流行解决方案是数据湖,本文介绍的OPPO自研的数据湖存储CBFS在很大程度上可解决目前的痛点。
▌数据湖简述
数据湖定义:一种集中化的存储仓库,它将数据按其原始的数据格式存储,通常是二进制blob或者文件。一个数据湖通常是一个单一的数据集,包括原始数据以及转化后的数据(报表,可视化,高级分析和机器学习等)
1. 数据湖存储的价值
对比传统的Hadoop架构,数据湖有以下几个优点:
- 高度灵活:数据的读取、写入和加工都很方便,可保存所有的原始数据
- 多重分析:支持包括批、流计算,交互式查询,机器学习等多种负载
- 低成本:存储计算资源独立扩展;采用对象存储,冷热分离,成本更低
- 易管理:完善的用户管理鉴权,合规和审计,数据“存管用”全程可追溯
2. OPPO数据湖整体解决方案
OPPO主要从三个维度建设数据湖:最底层的湖存储,我们采用的是CBFS,它是一种同时支持S3、HDFS、POSIX文件3种接入协议的低成本存储;中间一层是实时数据存储格式,我们采用了iceberg;最上层可支持各种不同的计算引擎
3. OPPO数据湖架构特点
早期大数据存储特点是流计算和批计算的存储放在不同的系统中,升级后的架构统一了的元数据管理,批、流计算一体化;同时提供统一的交互查询,接口更友好,秒级响应,并发度高,同时支持数据源Upsert变更操作;底层采用大规模低成本的对象存储作为统一的数据底座,支持多引擎数据共享,提升数据复用能力