编者按:近年来,随着金融、制造、政务、交通、医疗等行业数字化转型深入,大量智慧应用涌现,使得构建强大的数据分析技术栈成为必须,也让“湖仓一体”成为热门词汇。但面对市场中各色各样的湖仓技术,众多行业用户既分辨不清,又无从选择。本文梳理了当前市场中主流数据分析技术栈的优劣,并对“湖仓一体”架构演进趋势进行了深度分析,值得广大用户一读。
随着信息时代的兴起,数据已成为推动业务决策和创新的核心要素;结构化、半结构化等多种类型的数据呈现爆炸式增长,如何高效处理和分析海量数据已经成为关键挑战。
当前业界构建数据分析的技术栈,有两条典型的路线:一条是数仓路线,另一条则是数据湖的路线。
数据湖通常采用开放的数据格式,同时满足结构化、半结构化等数据等存储需求,并 ACID、Upsert、Time travle 等高级特性,满足企业数据管理方面的各种诉求。
业界常见的数据湖包括 Apache Iceberg、Apache Hudi、Delta、Apache Paimon 等,业务采用 Trino、Presto、Impala 等引擎按需分析数据湖上的数据。
其实,大家之所以有现在的纠结,是因为数据仓库和数据湖各有优劣,如果能将优势兼具,IT 架构工程师们也不必一定要选择是湖还是仓。目前在业界,很多企业正在不断探索湖仓融合的路径。
湖上建仓:企业的数据先进入到数据湖统一存储,湖上直接性能不足,此时可以采用湖上建仓的方案,将查询性能要求高的部分通过 ETL 导入到新的数据仓库提供服务。
仓外挂湖:部分数据仓库产品,例如 Redshift、Bigquery 等,开始扩展查询外部数据湖(Hive、Iceberg 等)的能力,实现计算层的统一。
不管是湖上建仓、还是仓外挂湖的方案,本质上数据都是分开存储,可能还会通过不同的引擎服务不同场景的查询,更好的方案是实现湖仓一体化,让数据分析的架构更加简单。那到底什么是湖仓一体?
当互联网规模发展至一定程度后,企业数据的使用场景发生巨大变化,需求开始从离线转而要求实时的数据分析,同时随着企业数据规模极速增长,企业对于实时数据治理提出更高的要求,要求业务端数据能够实时处理,进一步满足基于数据的实时分析和决策。
目前, StarRocks 3.x 推出了存算分离、湖仓分析、物化视图等重量级特性,能够很好的帮助企业构建湖仓一体平台,微信、携程、小红书等数十家大型企业进行实践后,收获极大的简化数据平台的技术栈,同时提升的服务性能。
用户可以将 StarRocks 当作一站式湖仓,数据统一导入到 StarRocks ,借助存算分离的架构,实现低成本的数据存储,然后利用 StarRocks 查询引擎来服务全场景的数据分析应用;
镜舟湖仓分析引擎能够兼容并加速企业已有的大数据架构如Hive、Iceberg、Hudi、Deltalake、MySQL 和 Oracle 等,有效帮助企业节省传统架构中数据搬运的时间与成本, 通过简化数据链路,实现数据分析性能指数级提升。同时,镜舟湖仓分析引擎部署简单、运维便捷,在为企业提速的同时降低系统及人力成本。