原文:https://mp.weixin.qq.com/s/_oKbXLUOImym59XwITeS9Q
随着业界对数据时效性的要求越来越高,大数据平台的发展方向逐渐向湖仓一体发展。
湖仓一体主要解决了以下几个问题:
-
OLAP数据库由于需要内存和高效磁盘来提供向量化毫秒级的查询,所以用来存储原始流量数据,集群成本高。
-
离线存储比如HDFS,查询计算慢,不支持更新,落地后无法再提供流式计算。
3.实践中,湖的原始数据,要提供OLAP查询和数据分析,需要再导入OLAP数据库,存储多份数据。
湖仓一体的关键是,统一数据存储,统一计算引擎,统一SQL查询,既有流批一体,也有存算分离。但是业界并没有相关的开源产品。所以一般架构是以数据湖表格式中间件,以flink为流计算引擎,加上OLAP数据库的sql能力和高效查询能力,以联邦查询的方式,构建湖仓一体架构。
常见的架构,以iceberg/paimon为数据湖中间件,hadoop为数据存储,kafka+flink为实时流计算,clickhouse/doris/starrocks为查询组件,构建从数据接入到数据应用的湖仓一体架构。
理想状态下,paimon+flink+starrocks(存算分离),为当前最接近湖仓一体的架构,具相关业内人士透露,已经有公司自研统一SQL引擎,直接把SQL转换为flink任务或者向量化查询来返回结果,直接基于paimon构建数据湖和数据仓库。
当然,更快的数据查询和数据分析,需要更多的资源支撑。但是,从实践上看,将离线任务从hive迁移出来,尽可能以实时方式去实现或者用向量化的OLAP数据库去实现,反而减少了服务器的资源压力,带来了更高的时效性和更好的稳定性。
湖仓一体的时代,数据湖的价值更多的是以低廉的存储成本来存储原始数据,同时支持更新和批转流,更主要的是,可以通过向量化的OLAP查询引擎来实现快速的查询,从而构建高效的近实时离线数仓。
从以上看,近实时离线数仓,结合实时数仓,一体化构建,基本能满足未来几年数据分析的时效性要求。
从技术上看,flink的批量计算也会逐渐弱化,除非是也能支持向量化计算,才能真正意义推动流批一体落地,这个时候,就是近实时+实时。而starrocks的发展方向是支持大数据量的数据分析,基于已有的向量化引擎来支持大数据下的批量计算。总体上,这两者的目标是一致的,都是要在实时的基础上,构建近实时的离线分析。
具体落地湖仓一体架构,还是要以自身的需求为导向,同时尽可能拥抱时代发展。
标签:指南,架构,实时,查询,一体,OLAP,湖仓,数据 From: https://www.cnblogs.com/huft/p/18298208