1. 背景
OPPO从19年开始,用了两年时间,以K8S,容器化为核心,完成了公司混合云建设,并实现100%在线业务上云。OPPO的业务,目前覆盖国内,南亚,欧洲,美洲,在国内我们有自己的机房,在海外,更多是和公有云合作 ,有AWS,Google。 OPPO的云是朵云上云,与共有云的合作,更多只是采购机器资源,部署我们自己的服务。OPPO云给我司带来了数亿的降本红利,得到了公司的广泛认可。
目前OPPO的数据平台规模,计算资源近万台,存储接近1个EB,离线任务数近百万,实时任务数千。统计我们过去几年的增速,平均下来,每年大概有30%的规模增长。如此的一个规模增长下,系统SLA三个9, 任务100%准点,是我们必须要保障的,同时,公司希望数据平台能够把过往快速增长的成本降下来。所以 业务快速增长、系统SLA和任务准点率保持高水平的前提下,如何进一步降本增效是我们必须要解决的问题。
对于这样一个问题,我们的解法是进行一系列的技术升级,主要包括批流一体、云数融合调度、数据湖存储三个方面。
2. 批流一体
如上图,上半部分,典型的Lambda架构。 批流两条计算链路,元数据分开。应用侧的多种OLAP引擎,也有各自的存储方法与元数据管理。
我们通常说的批流一体,一般涉及到三个方面的统一,元数据,存储,引擎。这三方面,OPPO更看重前两点。为了元数据的统一,我们以HMS服务为主,同时通过Waggle-Dance进行了加固。为了存储的统一,我们引入了Iceberg ,打破实时数仓,离线数据的存储边界,同时提高数据仓库的实时性。
最近两年,开源界以Delta, Hudi, Iceberg为代表的Data