大数据产业创新服务媒体
——聚焦数据 · 改变商业
随着数字化的概念逐步深入不同领域企业的运营中,业务形态和数字化路径也越来越丰富。这也为企业数据处理、储存的方式提出了更多要求。对于企业,尤其是数据驱动型企业来说,需要强大的解决方案来管理和分析整个组织中的大量数据,这些系统必须具有可伸缩性、可靠性和安全性,并且必须具有足够的灵活性以支持各种数据类型和使用场景。这些要求远远超出了任何传统数据库的能力,因此,数据仓库、数据湖等多种不同的架构逐渐成为了数据库行业的热门技术。
2024年1月17日,由数据猿和上海大数据联盟主办,上海市经济和信息化委员会、上海市科学技术委员会指导的“第六届金猿季&魔方论坛——大数据产业发展论坛”上,镜舟科技客户成功团队负责人孟庆欢在主题演讲中与到场嘉宾和观众们探讨了湖仓架构在数据价值释放中的角色。
镜舟科技成立于2022年,致力于建立湖仓架构下的数据分析创新产品帮助企业提升效率。其研发的镜舟分析型数据库、湖仓分析引擎,是基于StarRocks开发的国产企业级产品。镜舟分析型数据库在实时数仓、OLAP报表、数据湖分析等场景中满足客户多维复杂、实时、高并发的数据分析需求,帮助客户构建数据驱动的全新业务和管理模式。
镜舟湖仓分析引擎采用的湖仓架构作为一种先进的数据存储和管理方式,通过集成多源、多格式、大规模的数据,为企业提供了更灵活、高效的数据管理方案,成为释放数据价值的强大引擎。
“四世同堂”的数据架构
在当前大数据分析架构下有两条主流的技术路线。一个是数据仓库,另一个是数据湖。
数据仓库是一种企业系统,用于分析和报告来自多个来源的结构化和半结构化数据,例如销售终端交易、营销自动化、客户关系管理等。数据仓库适用于点对点分析以及自定义报告。数据仓库可以将当前数据和历史数据都存储在一个地方,旨在提供长期数据视图,这使其成为商业智能的主要组成部分。
经过几十年的发展和产品更新迭代,数据仓库目前已经“四世同堂”:从最早期的关系型数据库,到中期 Hadoop 等数据仓库,一直延伸到云计算领域,包括云原生的数仓,和以 Snowflake 这类产品为代表的数仓路线。数据仓库的主要优点包括数据质量较高、查询性能较高、实时性强、数据治理难度低。
数据湖作为后起之秀,从2012年开始逐步发展,目前已经成为许多前沿企业落地数据应用的新一代底座。
数据湖提供了一个可伸缩的安全平台,使企业能够以任何速度从任何系统中提取任何数据,无论数据来自本地、云还是边缘计算系统;以全保真的方式存储任何类型或数量的数据;实时或批量处理数据;使用 SQL、Python、R 或任何其他语言、第三方数据或分析应用分析数据。
与数据仓库相比,数据湖同时由其“不”是什么来定义。它不仅仅是存储空间,也不完全等同于数据仓库。
在大模型快速发展的2023年,数据湖的应用也变得更加频繁。数据湖可以作为AI数据的底座,可以储存大模型训练所需的数据——数据湖的架构天然地支持AI训练。
虽然数据湖和数据仓库都能够存储一定容量的数据,但它们都针对不同用途进行了优化。总体来说,数据仓库通常适用于存储商业行为中常见的重复性报告和分析数据,如月度销售报告、每个区域的销售跟踪数据或网站流量。而数据湖主要是为处理大量大数据而开发的,公司通常可以将原始数据通过批量传输和/或流式传输的方式移动到数据湖中,而无需对其进行转换。两者之间是互补关系而非竞争关系,因此企业可能需要同时使用这两种技术。
“湖”与“仓”怎样结合?
同时使用两种技术在落地过程中有两种模式。
一种是“湖上建仓”,即将数据录入数据湖中,再在数据湖上叠加数据仓库,按照数据仓库模式将数据湖中的数据源源不断地放入仓库进行加工应用。这相当于将数据湖作为数据源使用,只是将数据先放入数据湖,然后再按需放入仓库进行应用。
第二种方式是“仓外挂湖”,即一部分数据储存在数据仓库中,一部分储存在数据湖中。当业务应用需要进行数据查询时,将数据放在湖里,利用数据仓的能力查询数据湖里的数据。
但是,无论是湖上建仓还是仓外挂湖,这两种模式的整体数据仍然割裂,仓库和湖里都有与外界不相通的部分数据,这给后续数据运维和管理增加了很多成本。
因此,一种将数据仓库和数据湖结合的架构就显得非常有必要了。
StarRocks就是一种将两者相结合的架构。
孟庆欢介绍,用户可以选择现有的数据湖,或者直接选择 StarRocks作为数据湖。在此基础上,用户可以通过StarRocks的引擎能力构建BI报表应用、数据探查应用以及离线数据加工应用等。
与之前湖上建仓和仓外挂湖的区别在于,这种架构不再将数据和管理进行分散,而是一体化管理,并且在此基础上附加湖与仓的能力,形成湖仓一体的架构。
目前,StarRocks 已经在国内 300 多家市值超过 70 亿人民币的大规模公司中落地,开始逐步实现湖仓新范式。
企业在应用这种模式时,相当于对原有数据架构进行了一次全新的升级和改造。在这个过程中有一部分能力可以利用旧有的大数据架构,另一部分可以利用StarRocks的能力开通数据实时分析领域的新场景。
作为一种全新的范式,数据链路与湖的方式、仓的方式有了显著的区别。所有数据源都可以把StarRocks作为统一的数据湖仓入口进行写入。在这个过程中,如果业务应用希望使用湖中或者仓中的数据,可以通过物化视图能力,进行数据模型构建。这样,就可以逐步将原始数据根据物化视图的进行简化,不再像以前更新、操作数据时那样需要外置一个工具调度平台进行应用。
在整个分析过程中,数据库提供了统一的元数据管理模块,用户可以简单迅速的创建、维护不同数据源的原数据,并自动进行更新。利用这种方式,在后续的数据处理过程中会有一个相对完善的入口,基于此进行数据分析操作会非常方便。
在性能方面,以原有湖仓分析中经常用到的参数作为参照物,替换成StarRocks可以提升3倍以上的性能,资源和开发成本大幅度降低。
湖仓一体的实际应用
孟庆欢还分享了两个湖仓一体的实战案例。
在携程业务中,由于企业每天需要处理大量机票、酒店和旅行数据,业务人员需要访问的报表数据量非常大。原有模式导入的成本非常高,并且在数据更新方面的支持并不完善,因此一旦数据发生变化,需要重新刷新整个数据,成本相对较高。
另外,导入的数据与原始数据之间存在一定的数据时效性滞后,导致数据之间无法严格保持一致。这导致业务在访问时也会频繁出现问题。同时,在查询时,原有的性能已经无法满足日益高涨的数据查询性能要求。
因此基于这些痛点,携程实验了StarRocks替换原有架构。首先能带来的性能提升是查询,查询速度提高了7倍以上。StarRocks整体兼容了原有系统,因此在整个业务切换过程中完全无感。前一天把数据整合好后,第二天直接进行切换,业务只能体会到速度的增加,完全感觉不到使用习惯上的变化。
另一个案例是小红书,小红书是年轻人的社交分享平台,其后台数据访问量非常巨大,有上万张的数据运营报表,每天要处理的数据量极高。原有架构需要维护庞大的数据分析机器资源,替换为StarRocks后,企业节省了一半服务器的数据资源也可以实现原有需求。
在替换StarRocks之后,企业数据处理的整体性能和成本都发生了变化。总体而言,当企业应用湖仓的分析架构替换原有的数据仓库和数据湖的架构之后,整个应用模式会更加简单,数据无需反复处理。整体服务器资源或应用资源也会更加可控,无需为不可控成本付出时间和精力。企业可以按照业务逻辑加工的口径,按需进行数据加工和实际应用。
镜舟科技的产品镜舟湖仓分析引擎是基于 StarRocks 开发的企业级产品,致力于帮助企业建立“极速统一”的湖仓分析新范式,满足金融政企客户对技术支持、解决方案、生态建设、售后保障等方面的极致要求。
镜舟湖仓分析引擎既支持从各类实时和离线的数据源高效导入数据,也支持直接分析数据湖上各种格式的数据。镜舟湖仓分析引擎兼容 MySQL 协议,可使用 MySQL 客户端并适配各类主流 BI 工具,同时擎具备水平扩展、高可用、高可靠、易运维等特性。
未来镜舟科技计划在湖仓领域不断探索,进一步加强离线数据和批量数据处理能力,打造更加一体化的湖仓产品平台。
孟庆欢最后总结,随着技术的不断发展,湖仓架构将进一步演化,引领下一场数据革命。在技术的赋能下,湖仓将不断释放更为丰富、有价值的数据,为企业业务提供更强大的数据支持,推动业务创新和发展。湖仓架构的未来,将是数据与技术相互融合、协同发展的新时代。
文:十四 / 数据猿
责编:凝视深空 / 数据猿