作为一种新兴架构,湖仓一体在扩展性、事务性以及灵活度上都体现出了独有的优势,也正因如此,无论在技术圈还是资本圈,湖仓一体都受到了前所未有的关注度。
虽然湖仓一体的优势不言而喻,但其实际在落地过程中还是面临着巨大的挑战,这也让我们不禁发问:湖仓一体架构是否会成为企业的必选项?面向未来,数据平台架构将会朝哪个方向演进?
湖仓一体出现的契机是什么?想要回答这个问题,需要结合数据仓库与数据湖各自的优劣势来看。
拿数据湖来说,它的特点便是能够保障数据的完整性,因为它存储了结构化数据、非结构化数据以及半结构化数据,其更多会应用在机器学习的场景中。与此同时,由于数据湖本质上就是一个文件存储系统,所以它存在的问题也较为明显:数据不够规范,无法用于数据分析。除此以外,数据湖的维护成本非常高,如果数据量持续上涨,企业需要能力较强的 IT 建设团队。
反观数据仓库,如传统数据仓库 Teradata、新兴的云数据仓库系统 Redshift、OushuDB、MaxCompute 等等,它们均没有对外暴露文件系统,而是提供了数据进出的服务接口。由于数据仓库存储的都是结构化数据,所以它支撑业务决策的效率自然更高。当然,存储结构化数据的前提是事先建模,这也意味着数据仓库的启动成本要高于数据湖。
根据上述不难看出,数据仓库和数据湖是大数据架构的两种设计取向,它们之前一直是并行存在的。由于企业对于数据的需求是一个渐进式的探索过程,前期较为注重成长性的企业,就需要选择数据湖架构;当企业经过了数据创新探索阶段以后,随着数据规模不断增长,处理数据的成本不断增加,出于对业务长远发展的角度考虑,企业就需要数据仓库架构。正是由于两者各自特有的优势和局限性,让企业在进行大数据系统设计时也陷入了困境。
那么业界是否存在一种方案,同时兼顾数据湖的灵活性和云数据仓库的成长性呢?
事实上,架构的演进是由业务驱动的,如果业务侧提出了更高的性能要求,那么在大数据架构建设的过程中,就需要在仓和湖的建设上各自做技术升级。如果企业的数据增长很快,在 PB 级别甚至 10PB 级别,同时还要兼具高性能的数据分析,包括满足从 T+1 到 T+0 的处理能力,那就必须考虑湖仓一体的架构。
现阶段,各大云厂商也陆续推出了自己的“湖仓一体”技术方案,如亚马逊云科技 Redshift Spectrum、微软 Azure Databricks、阿里云 MaxCompute+DataWorks、华为云 Fusion Insight 等等。在大方向趋同的背景下,各大厂商也会基于自身情况调整落地路径,如 Redshift 、MaxCompute 是以数仓为核心,支持访问数据湖;Databricks 则是在数据湖架构上建立数据仓库。
综合来看,湖仓一体架构的主要特征表现在以下几个方面:
统一数据集成,支持分析结构化和非结构化数据;
支持各种工作负载,同时适用于分析师和数据科学家;
打通元数据,数据和元数据可治理;
事务支持,高性能查询和检索能力;
极致弹性,降低数据使用成本。
如果从落地难度的角度出发,湖仓一体本身的技术挑战对企业而言是不容小觑的,因为它要解决“数据湖 + 数据仓库”融合以后的数据流转问题。如果要落地湖仓一体架构,企业首先需要解决技术选型难题;其次是仓或湖到“湖仓一体”的模型迁移、数据迁移以及应用迁移工作;此外,还要保证迁移后的业务一致性和数据的正确性;再之,还需要建立企业自己的数据科学家团队,在湖仓一体平台上去挖掘业务数据价值。
据了解,不乏一些企业对“湖仓一体”的技术认知没有问题,但在管理上却遇到了巨大的挑战。比如,有些企业的组织结构分为数据仓库部门和大数据部门,对数据的管理权限是分开的,这也天然形成了数据鸿沟,如果在组织结构上不做调整,数据共享和价值发现等都会遇到很大难题。
为了帮助企业降低湖仓一体架构的落地门槛,很多厂商也相继推出了湖仓一体解决方案,偶数科技便是其中之一。
由于偶数科技是一家独立的厂商,所以相比于其他云厂商推出的解决方案,它防止了厂商绑定的现象,可以支持部署多云、混合云及跨云;其次,它还能够支持虚拟计算集群,虚拟计算集群之间资源可以隔离,相互不影响;另外由于存算分离的特性,偶数湖仓一体架构的计算和存储分别可以横向扩展,单集群可以支持上万节点,查询性能更高。除此以外,偶数湖仓一体的关键技术还包括可插拔存储、弹性扩展、支持一致性事务、多级资源管理等能力。
相比于湖、仓各一套集群再打通,偶数科技这种湖仓一体的架构的确更加简单,也正是因为这种极简化,使其在运维人员、硬件投入等方面的投入大大减少。
虽然湖仓一体是当前的大热点,但面向未来,它还有一系列问题等待被解决:
据 Gartner 预测,湖仓一体架构还需要支持三类实时场景:第一类是实时持续智能;第二类是实时按需智能;第三类是离线按需智能,这三类场景将可以通过快照视图、实时视图以及实时批视图提供给数据消费者,这同样是未来湖仓一体架构需要持续演进的方向。
此外,湖仓一体平台还需要解决计算资源虚拟化的问题,并需要支持混合负载,即不同的业务场景可以使用计算资源隔离的虚拟计算集群,这也是云计算的多租户特性在湖仓一体数据平台上的体现。
据了解,偶数科技的下一步发力方向便是,基于上述提及的问题,在 2022 年持续进行技术迭代,并会推出兼容各公有云的湖仓一体数据库版本。
回归开篇的提问:湖仓一体是否会成为每个企业构建大数据栈的必选项?答案几乎是肯定的,对于高速增长的企业来说,选择湖仓一体架构来替代传统的独立仓和独立湖,将成为不可逆转的趋势。
很多企业出于 IT 建设能力的限制,导致很多事情没法做,但通过湖仓一体架构,之前被限制的数据价值得以充分发挥。如果企业能够在注重数据价值的同时,并有意识地把它保存下来,企业就完成了数字化转型的重要命题之一。我们也有理由相信,伴随着企业的数字化转型,湖仓一体架构也有着更加广阔的发展空间。