《滴普科技&Gartner:2023湖仓一体演进与实践白皮书(35页).pdf》由会员分享,可在线阅读,更多相关《滴普科技&Gartner:2023湖仓一体演进与实践白皮书(35页).pdf(35页珍藏版)》请在三个皮匠报告上搜索。
1、湖仓一体演进与实践数据智能未来式:FastData实时湖仓平台 2023年2月本期内容序言 2第一章.从数据库到湖仓一体 3第二章.构建湖仓一体关键要点 19 第三章.湖仓一体方案实践 24Gartner的研究 数据湖仓一体是什么?30关于滴普科技 352序言湖仓一体演进与实践数据智能未来式:FastData实时湖仓平台 目录第一章 从数据库到湖仓一体 1.1 企业数字化平台建设 1.2 数据平台工程化面临的挑战 1.3 从数仓、数据湖到湖仓 1.4 湖仓一体的适用场景 第二章 构建湖仓一体关键要点 2.1 技术要点 2.2 标准统一 第三章 湖仓一体方案实践 3.1 实践项目背景 3.2 现
2、状与挑战 3.3 业务演进与目标 3.4 湖仓一体方案实践 湖仓一体演进与实践第一章:从数据库到湖仓一体1.1 企业数字化平台建设企业面向未来的数据基础设施应该具备如下三大特征:1.从业务应用系统的建设向数据平台和数据智能化应用建设转变;2.数据要素越来越重要,企业将会建设或升级统一的数据平台底座;3.业务应用和数据应用联系会越来越紧密,基于数据智能的业务应用会成为新趋势。下图是数字化时代企业的数据基础设施的整体架构图:4图1.未来企业IT架构业务领域过去的十多年时间里,企业的信息化、数字化建设的核心都是在围绕着“业务数字化”以及“数字业务化”展开,业务数字化是将数字技术引入到原有业务中,为其
3、带来效率提升和业务模式变革的过程;而数字业务化则是指通过提供数字技术,基于数据资源和数据资产服务等必要生产要素获取业务收入的过程。企业数据与业务如今结合越来越紧密,从数据的成熟度可以分为四个阶段:第一,能够将数据管理起来,但跟业务结合处于被动模式;第二,数据可以按照业务分类有序组织在一起,搭建模型去梳理业务;第三,基于数据构建模型以及科学分析,通过数据来反哺业务,甚至能对业务进行预测,辅助管理者进行决策;第四,以数据驱动业务、经营模式产生变革。资料来源:滴普科技数据领域数据领域是数字化基础设施的核心,企业数据平台的建设将成为数据价值呈现的关键因素。基于云原生技术的中立性,探索建设基于行业和场景
4、的新一代实时数据智能平台,将大幅度提升企业一线部门的数据应用效能。回归本质,企业要想更好地使用数据,应该聚焦在快速的数据融合与分析预测上,而不是把精力大量花费在数据技术的选择及大规模机器的部署维护。一家企业要想拥有大量繁多而有深度的技术专家:诸如OLAP数据库专家、分布式系统专家、多语言开发工程师,XXX-SQL工程师这是不可想象的,企业会更希望能够低门槛且便捷地使用数据。如果把时间拉长到3至5年之后,大数据和人工智能必定会紧密配合,它们之间的协同能力将对企业的智能应用起到决定性作用。在“Hidden Technical 5Debt in Machine Learning Systems”(机
5、器学习系统中隐藏的技术债务)论文中,Google认为:在任何人工智能系统应用过程中,绝大多数不是算法的聪明与否,而是围绕这些算法的“管道”,即数据收集、清洗、验证等基础设施的到位程度,这样才能有效支撑你想做到的任何机器学习。企业的数据智能平台的特点综合起来看,需要满足低使用门槛,高性能和扩展能力,操作维护和易用性更好,成本更低的要求。1.1.1 数字化基础设施一个具有现代化的数字化基础设施涉及的数据智能平台,通常会包含四大部分:数据平台底座数据平台底座的核心是为企业提供所有数据存储的平台。随着企业信息化、数字化的不断深入,企业的数据也逐渐呈现海量的趋势,包括了来自业务系统的结构化数据,还有AP
6、P或IT系统的日志等半结构化数据,以及图片、音视频、声音等各种非结构化数据。这些数据是否具有统一的存储格式、统一的存储标准、以及高效的读取性能,将为数据的持续加工、挖掘和价值分析奠定基础。数据集成数据迁移:数据库与数据库之间的数据搬迁,通常是一次性的,涉及到同构或异构的数据库,场景有灾备、异地多活、跨数据中心的搬迁等;数据同步则包括实时或非实时,有一对一、一对多等。数据传输服务通常会包含:数据迁移、订阅、同步;解析(decode)、恢复(restore)、备份(dump)和同步(sync或rump)等动作。而数据集成是把不同来源、格式、特点性质的数据在逻辑上或物理上有机地集中,从而为企业提供全
7、面的数据共享,相比数据迁移、同步等的范围要更大。数据集成要面对的就是各种不同的数据源,不同的数据类型、不同的实效性要求、不同的组件等,都有不同的处理方式。数据领域建模各种业务数据或者待分析的数据进入到数据平台之后,接下来主要是数据处理的环节。在数据处理中,通常会按照业务领域的特点进行数据模型的建设。在这个环节形成了几套不同方法论模型,来支撑数据全生命周期的管理,比如DAMA、DCMM等数据管理框架,涵盖了数据标准、数据模型、元数据管理、主数据、数据质量、数据安全、数据价值和数据共享等等,并且还有对应的包括战略规划、组织架构、制度体系、审计制度和培训宣贯等数据管理保障措施。数据智能应用经过治理和
8、处理后的数据,会支持企业各种典型场景的智能化应用。在这个层次上,基于企业的数据仓库、数据湖、数据集市、运营平台、知识图谱、智能决策等数据应用系统,以及基于大数据技术的行业或者业务线应用工具。比如应用于供应链系统的智能化产供销协同、全流程质量回溯、智能化排产等,应用于一体化政务系统的一网统管、一网通办、疫情防控等,应用于金融领域的智能实时风控、数字化决策等,应用于能源双碳领域的碳监测、碳预测、碳决策等智能场景等等。6通过利用业务数字化所产生的大量数据,用于反哺业务本身及其周边业务,促进业务更好的管理、发展和创新,甚至衍生新的业务模式、经营模式的过程。1.1.2 企业数据平台发展历程企业从来没有停
9、止过对于数据相关平台的建设,而且随着数字化转型的加深,数据平台变得越来越重,而且也越来越复杂。在数字化时代面对海量数据与个性化、专业化的应用场景,给数据管理与应用带来了一系列挑战。这些挑战包括:数据规模持续膨胀提升了数据资产管理的重要性,数据应用场景持续扩展要求数据平台具备更高的敏捷性、易用性、实时性和智能化能力,对企业的数据安全合规要求也更加严格等。其底层最核心的数据平台发展大致经过了如下几个阶段:数据库时代数据库的标准定义是按照数据结构来组织、存储和管理数据的仓库。在数据量不大、数据类型以及数据的处理方式还相对简单的时代,在数据分析的场景下,传统业务系统使用的数据库基本上也可以满足分析的要
10、求。数据库具有如下的特性:完整性,一致性,交互稳定性,并发性,异常可恢复性面向事务管理,具有ACID特性数据模型来表示数据结构,冗余小数据的统一管理和控制,易于维护和扩展具有良好的用户接口,数据和应用程序相对独立数仓时代数据仓库的标准定义是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支持管理决策。数据仓库已经和业务有密切的关联,其最终的目的是服务商业智能化分析和决策的,对单个业务或者综合性的业务环节进行描述性分析、诊断性分析,通过可视化的工具实现简单的报表或者BI的分析及呈现。随着数据的沉淀,数仓能够反映业务的历史变化面向主题的,关注用户重点业务集成的,跨越历史、区域、系统
11、稳定的,具有只读属性,以查询为主以时间序列存储,非规范化管理大数据平台或者数据湖大数据平台是基于Google的理论构建起来的,是一类存储数据原始格式的系统。它通常是企业中全量数据的统一存储。全量数据包括原始系统所产生的原始数据拷贝以及为了各类任务而产生的转换数据,各类任务包括报表、可视化、高级分析和机器学习。数据仓库的成长性很好,而数据湖更灵活。数据仓库支持的数据结构种类比较单一,数据湖的种类比较丰富,可以包罗万象。数据仓库更加适合成熟的数据当中的分析和处理,数据湖更加适合在异构数据上的价值的挖掘。数据湖中包括来自于关系型数据库中的结构化数据、半结构化数据、非结构化数据和二进制数据等。7相比数
12、据仓库,大数据平台或者数据湖具有以下特征:保真性:一份原始数据,数据格式、数据模式、数据内容都不可修改。灵活性:可以根据业务的变化需求对数据进行加工处理。可管理:随着数据的不断积累和演化,平台需要能够管理包括:数据源、数据连接、数据格式、数据模式,数据权限等。可追溯:对数据的全生命周期进行管理,包括数据的定义、接入、存储、处理、分析、应用的全过程。能做到对其间的任意一条数据的接入、存储、处理、消费过程是可追溯的,能够清楚的重现数据完整的产生过程和流动过程。数据湖虽然适合存储数据,但仍然缺少一些关键功能:它们不支持事务处理,不保证数据质量,并且缺乏一致性/隔离性,从而几乎无法实现混合追加和读取数
13、据,以及完成批处理和流式作业。由于这些原因,数据湖的许多功能尚未实现,并且在很多时候丧失了数据湖的优势。数据智能时代从企业的多个数据源获取原始数据,数据可能是任意类型的信息,从结构化数据到完全非结构化数据,并通过与各类外部异构数据源的交互集成,支持各类企业级应用。结合先进的数据科学与机器学习技术,能帮助企业构建更多优化后的运营模型,也能为企业提供其他能力,如预测分析、推荐模型等,这些模型能刺激企业能力的后续增长。通过对机器学习和AI算法的支持,实现数据湖+数据仓库的闭环,极大地提升业务的效率。数据湖和数据仓库的能力充分结合,形成互补,同时对接上层多样化的计算生态。毫无疑问,湖仓一体将会更好地服
14、务于企业,帮助企业实现大数据能力的提升,如降低成本、提升运营效率、业务模式探索等。1.2 数据平台工程化面临的挑战1.2.1 数据特点时效性多样企业的数据分析平台的建设由于技术的局限性和不断的发展、以及业务的特点等,分析的时效性逐渐从原来的以天为单位的时间要求,逐渐变为了更短的时间要求,比如是小时级的分析、分钟级的决策以及更实时性要求的业务决策。从企业的各类决策的特点来看,根据时效性的不同,可以区分为四种不同的层次:High Level:企业高层管理人员需要依赖内外部的数据,进行战略决策,比如将战略重点转移到电子商务?是否更改产品组合?收购某家公司?这种决策对于数据时效性要求不高,通常月度级别
15、就可以支撑;Medium Level:企业的中层管理人员需要的是根据公司的战略确定具体的战术动作,比如下一个最佳实践的标准是什么?如何配置复杂产品?信贷审批的政策是什么?这种决策对于数据的时效性会相对更高一些,但通常在周或者天这个级别就可以;8 Low Level:企业具体的业务主管在具体执行战术时,需要更为精确以及时效性更好的数据,以此来做好执行层面的动作;Real-time Level:对于企业的具体业务人员或者是实时在运行的业务系统而言,比如在针对运营生产过程中的特定客户是否接受次优产品?交易信用风险是否可接受等,则需要更为实时(可能要达到秒级)和细粒度的数据,来进行精确的执行。数据类型
16、多样随着企业业务的多样性,以及更多的创新型场景涌现,企业数据类型变得更加异构化,互联网时代的数据除了来自业务数据库的结构化数据,还有来自App、Web的前端埋点数据,或者业务服务器的后端埋点日志,这些数据一般都是半结构化,甚至无结构的。传统数据仓库对数据模型有严格的要求,在数据导入到数据仓库前,数据模型就必须事先定义好,数据必须按照模型设计存储。数据规模和数据类型的限制,导致传统数据仓库无法支撑互联网时代的商业智能。一个成功的互联网产品日活可以过亿,就像头条、抖音、快手、网易云音乐,每天产生几千亿的用户行为。企业的历史经营数据、各业务板块沉淀的过程性资料数据、外部的第三方数据、产业和行业性数据
17、等等,这些都是企业在经营决策过程中可能会依赖涉及到的数据,而且通常结构化数据只占到这些数据的20%,更多的半结构化和非结构化数据可能在结合机器学习和智能化算法的工具平台上,能够为企业带来更多的经营价值。资料来源:滴普科技图2.数据平台工程化技术要求和挑战91.2.2 技术债务烟囱开发的积累企业的信息化和数字化建设过程,因为技术团队的局限性,技术本身的演进,以及业务场景的变化,会导致企业在平台的建设过程中,存在不断造”烟囱”的问题。这些不同的系统或平台可能会存在着数据在不同的存储介质,数据存储格式也不同,数据使用的方式也大不相同等。临时方案债务数据库或者大数据相关技术的发展通常都是被需求所驱动的
18、。为了解决更大数据量或者更为复杂的数据结构或模型,相应的技术也在更新和迭代。而这些技术从提出到逐渐形成体系化方案,再到方案成熟最终规模化应用,通常都存在一个不短的周期。企业在建设数字化平台时依据当时的技术条件所做出的决定,往往未必是最先进的技术架构,而可能会是更稳妥或者折中或者临时的方案,这些方案有些可能会影响或制约平台的持续演进和升级。多技术架构技术架构的选择对于传统企业的IT团队来说,并不是一件容易的事情,因为这通常意味着需要既懂企业的业务流程和特点,又要懂IT和系统的架构,只有真正把这两者融会贯通起来,让IT和工具能够发挥真正的价值,帮助数据和业务进行结合。这些为了解决不同场景、不同业务
19、、不同时期的技术架构,对于企业的数字化平台的整体演进,会让IT团队犯难,需要尽早做出取舍。1.2.3 平台能力满足在线业务和分析SLA随着企业的IT团队不断地迭代和升级,数据团队作为其中重要的组成部分,得到了较为长足的发展。企业也越来越多地意识到需要有数据背景的业务人员,他们可能在未来的业务转型过程中,能够给予业务更多的思考,以及辅助业务进行快速决策。企业的数据管理平台基本上会支撑很多关键的业务部门,而很多在线的数据分析已经和业务有较为深度的绑定,甚至是会决定着很多业务的流程以及关键节点。所以数据平台需要满足各种不同类型的业务需求,随之而来的是也要背负相应的考核以及SLA 指标,更好地支撑业务
20、。计算能力服务化、多负载技术架构的分层从本质上还是为了更好地服务业务,减少沟通的成本、变动的影响以及相互的依赖。大数据平台本身提供了多种类型的计算能力和负载,核心是因为在不同的场景下存在不同的关键需求,比如有些场景需要更好的批处理能力,有些需要更好的查询速度,有些要有更为实时的表现,还有频繁的变更带来的数据不一致等情形等等。另外,为了更好的处理不同的数据,也需要有不同的工具或组件,比如非结构化数据就需要结合机器学习和深度学习的工具平台。数据平台本身作为数据存储以及提供计算工具的载体,一方面是服务化的方式提供给业务层使用,另一方面也要有多样性的负载满足不同场景的数据处理分析和需求。10统一存储、
21、存算分离存算分离架构核心要解决的问题其实是成本问题和效率问题。随着累积的数据量的增大,大数据业务量的增多,数据存储和处理的成本越来越高,企业数据基础设施的投资越来越大,企业需要花费大量的成本进而压缩了大数据业务创新的空间。另外就是数据平台的各种技术架构并存,多样化的数据格式导致数据存储变得复杂,系统中应对不同的场景,往往同样的数据需要存储多份,不同组件之间还需要大量的数据拷贝和格式转换,消耗大量的资源。存算分离架构是要能够支持存储的灵活扩展,计算则根据业务的场景和要求进行匹配,成本优化是核心,兼顾向未来具有更高实时性,以数据为中心,走向端到端的实时分析。1.2.4 扩展和演进过重的数仓模式当前
22、数仓分层的模式,在很大程度上解决了数据在持续的变化过程中,能够更规范、更高效、避免重复尽可能重用的进行数据建模,数据血缘会更清晰,对业务的支撑效率也更高。但这种模式依然有一些难题需要解决,包括整个数仓的建设周期长,不容易出成果,推广难度大;操作耗时,模型的建立需要有很高的业务抽象;数据冗余度大,成本投入也大等等。这些问题使得企业在建设数据平台时有畏难的情绪,尤其是在业务增长压力较大的场景下,规模化的数仓建设难以快速见到成效。无ACID能力ACID本身是在关系型数据库管理系统中,为了保证事务的正确以及可靠,要求具备的四个特性:原子性(atomicity,或称不可分割性)、一致性(consiste
23、ncy)、隔离性(isolation,又称独立性)、持久性(durability)。这个通常是为了应对业务系统的数据变化对数据库系统提出的要求。大数据平台是为数据分析而生的,整个的数据链路很少会考虑当源端的数据频繁发生变化时,尤其是当实时性的分析场景越来越多时,如何来进行更高效更准确的分析,对数据本身一致性的依赖很高。无法应对业务对数据体系以及科学分析的要求企业数字化平台建设的终极目的还是为了更好地支撑业务,尤其是在数据智能时代,需要更体系化地进行数据价值的识别、挖掘和应用。数据平台自身的发展也要充分适应业务的需要,以及AI相关场景在企业业务中的实践和落地需求。数据智能化应用的浪潮推动着数据平
24、台的不断扩展和演进。1.3 从数仓、数据湖到湖仓1.3.1 数据结构化程度和数据信息密度“数据的结构化程度”描述的是数据本身的规范性。例如传统数据库中的数据主要是结构化的,每条记录包含了众多的字段,每个字段是一个独立的信息块。而邮件正文、发言稿件等这些信息就是非结构化的,它没有结构化的格式来约束其中的信息。11“数据的信息密度”描述的是单位存储体积内包含的信息量的大小。显然,传统数据库中存储的数据的信息密度是很高的,例如性别字段中的0、1就用很小的存储体积标明了一个明确的信息。而邮件正文、发言稿的信息密度是低的,有很多重复的语句,语句中也夹杂很多意义不大的词语甚至可能还有歧义。数据的结构化程度
25、和数据的信息密度这两个是我们衡量企业数据特点的指标。前者描述的是数据本身的规范性,后者描述的是单位存储体积内、包含信息量的大小。一般来说,人们获取到的原始数据大多是非结构化的,且信息密度比较低,通过对数据进行清洗、分析、挖掘等操作,可以排除无用数据、找到数据中的关联性,在这个过程中,数据的结构化程度、信息密度也随之提升,最后一步,就是把优化过后的数据加以利用,变成真正的生产资料。简而言之,大数据处理的过程其实是一个提升数据结构化程度和信息密度的过程。在这个过程中,数据的特征一直在发生变化,不同的数据,适合的存储介质也有所不同,所以才有了一度火热的数据仓库和数据湖之争。就目前来说,对数据仓库的主
26、流定义是位于多个数据库上的大容量存储库,它的作用在于存储大量的结构化数据,为管理分析和业务决策提供统一的数据支持,虽然存取过程相对比较繁琐,对于数据类型有一定限制,但在那个年代,数据仓库的功能性已经够用了,所以在2011年前后,市场还是数据仓库的天下。到了互联网时代,数据量呈现“井喷式”爆发,数据类型也变得异构化。受数据规模和数据类型的限制,传统数据仓库无法支撑起互联网时代的商业智能,随着Hadoop与对象存储的技术成熟,数据湖的概念应运而生,在2011年由James Dixon提出。相比于数据仓库,数据湖是一种不断演进中、可扩展的大数据存储、处理、分析的基础设施。它就像一个大型仓库,可以存储
27、任何形式(包括结构化和非结构化)和任何格式(包括文本、音频、视频和图像)的原始数据,数据湖通常更大,存储成本也更为廉价。但它的问题也很明显,数据湖缺乏结构性,一旦没有被治理好,就会变成数据沼泽。从产品形态上来说,数据仓库一般是独立标准化产品,数据湖更像是一种架构指导,需要配合着系列周边工具,来实现业务需要。换句话说,数据湖的灵活性,对于前期开发和前期部署是友好的;数据仓库的规范性,对于大数据后期运行和公司长期发展是友好的。1.3.2 数据仓库和数据湖的局限性早期系统采用数据库来存放管理数据,但是随着大数据技术的兴起,大家想要通过大数据技术来找到数据之间可能存在的关系,而数据库缺少灵活和强大的处
28、理能力,所以大家设计了一套新的数据存储管理系统,把所有的数据全部存储到数据仓库,然后统一对数据处理,这个系统叫做数据仓库。在计算机领域,数据仓库是用于报告和数据分析的系统,被认为是商业智能的核心组件。数据仓库是来自一个或多个不同源的集成数据的中央存储库。数据仓库将当前和历史数据存储在一起,以利各种分析方法12如在线分析处理(OLAP)、数据挖掘(Data Mining),帮助决策者能快速从大量数据中,分析出有价值的信息,构建商业智能(BI)。数据仓库是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支持管理决策。它具有以下典型的特点:(1)高执行效率:数据仓库处理的数据量巨大,
29、且分析周期一般以天为单位,因此对分析的时效性要求相对较高,这就需要它具有高效率的数据存储和处理能力。(2)高数据质量:进入数据仓库的数据一般会经过数据清洗的环节,因此可能导致数据失真的脏数据会被清除,从而保证数据仓库提供的信息是准确的。(3)高扩展性:数据仓库的设计和建设一般会考虑未来3-5年的情况。(4)面向主题:数据仓库中的数据是按照一定的主题域进行组织的。主题是指在较高层次上将企业信息系统中的数据综合、归类并进行分析利用的抽象整合。尽管数据仓库非常适合结构化数据,但是许多现代企业必须处理非结构化数据,半结构化数据以及具有高多样性、高速度和高容量的数据。数据仓库不适用于许多此类场景,并且成
30、本效益并非最佳。虽然数据仓库的成长性很好,而数据湖在实际应用中更灵活。数据仓库支持的数据结构种类比较单一,数据湖的种类比较丰富,可以包罗万象。数据仓库更加适合成熟的数据当中的分析和处理,数据湖更加适合在异构数据上的价值的挖掘。尽管如此,数据仓库和数据湖仍然会存在以下几个方面的主要问题:数据重复性如果一个组织同时维护了一个数据湖和多个数据仓库,这无疑会带来数据冗余。在最好的情况下,这仅仅只会带来数据处理的不高效,但是在最差的情况下,它会导致数据不一致的情况出现。湖仓一体的结合,能够去除数据的重复性,真正做到了唯一。高存储成本数据仓库和数据湖都是为了降低数据存储的成本。数据仓库往往是通过降低冗余,
31、以及整合异构的数据源来做到降低成本。而数据湖则往往使用大数据文件系统和Spark在廉价的硬件上存储计算数据。湖仓一体架构的目标就是结合这些技术来最大力度降低成本。报表和分析应用之间的差异数据科学倾向于与数据湖打交道,使用各种分析技术来处理未经加工的数据。而报表分析师们则倾向于使用整合后的数据,比如数据仓库或是数据集市。而在一个组织内,往往这两个团队之间没有太多的交集,但实际上他们之间的工作又有一定的重复和矛盾。而当使用湖仓一体13架构后,两个团队可以在同一数据架构上进行工作,避免不必要的重复。数据停滞在数据湖中,数据停滞是一个最为严重的问题,如果数据一直无人治理,那将很快变为数据沼泽。我们往往
32、轻易地将数据丢入湖中,但缺乏有效的治理,长此以往,数据的时效性变得越来越难追溯。湖仓一体的引入,对于海量数据进行治理,能够更有效地帮助提升分析数据的时效性。潜在不兼容性带来的风险数据分析仍是一门兴起的技术,新的工具和技术每年仍在不停地出现中。一些技术可能只和数据湖兼容,而另一些则又可能只和数据仓库兼容。湖仓一体的架构意味着为两方面做准备。1.3.3 湖仓一体架构的特点随着当前大数据技术应用趋势,企业对单一的数据湖和数仓架构并不满意。越来越多的企业开始融合数据湖和数据仓库的平台,不仅可以实现数据仓库的功能,同时还实现了不同类型数据的处理功能、数据科学、用于发现新模型的高级功能。湖仓一体(Lake
33、house)是一种新型开放式架构,将数据湖和数据仓库的优势充分结合,它构建在数据湖低成本的数据存储架构之上,又继承了数据仓库的数据处理和管理功能,打通数据湖和数据仓库两套体系,让数据和计算在湖和仓之间自由流动。作为新一代大数据技术架构,将逐渐取代单一数据湖和数据仓库架构,并具有如下特征:事务支持Lakehouse在企业级应用中,许多数据管道通常会同时读取和写入数据。通常多方同时使用SQL读取或写入数据,Lakehouse保证支持ACID事务的一致性。模式实施和治理Lakehouse应该有一种支持模式实施和演变的方法,支持DW模式规范,例如star/snowflake-schemas。该系统应该
34、能够推理数据完整性,并且应该具有健壮的治理和审核机制。BI支持Lakehouse可以直接在源数据上使用BI工具。这样可以减少陈旧度和等待时间,提高新近度,并且降低必须在数据湖和仓库中操作两个数据副本的成本。存储与计算分离事实上,这意味着存储和计算使用单独的群集,因此这些系统能够扩展到更多并发用户和更大数据量。兼容性Lakehouse使用的存储格式是开放式和标准化的,例如Parquet,并且它提供了多种API,包括机器学习和Python/R库,因此各种工具和引擎都可以直接有效地访问数据。支持从非结构化数据到结构化数据的多种数据类型Lakehouse可用于存储,优化,分析和访问许多新数据应用程序所
35、需的数据类型,包括图像,视频,音频,半结构化数据和文本。14支持各种工作场景包括数据科学,机器学习和SQL分析。这些可能依赖于多种工具来支持的工作场景,它们都依赖于相同的数据存储库。端到端流式任务实时报告是许多企业的日常需要。对流处理的支持消除了对专门服务于实时数据应用程序的单独系统的需求。(资料来源:Lakehouse:A New Generation of Open Plateforms that Unify Data Warehousing and Advanced Analytics,Michael Armbrust et al.(2021)https:/www.cidrdb.org/
36、cidr2021/papers/cidr2021_paper17.pdf湖仓一体本质上是结合了数据仓库和数据湖的元素而形成的数据解决方案,它实现了数据仓库的数据结构和数据湖的可管理特性。但“湖仓一体”并不等同于“数据湖”+“数据仓”,这是一个极大的误区,现在很多公司经常会同时搭建数仓、数据湖两种存储架构,一个大的数仓拖着多个小的数据湖,这并不意味着这家公司拥有了湖仓一体的能力,湖仓一体绝不等同于数据湖和数据仓简单打通,反而数据在这两种存储中会有极大冗余度。在架构上,湖仓一体需要具备:统一的数据管理湖仓一体提供完善的数据管理能力。数据湖中会存在两类数据:原始数据和处理后的数据。数据湖中的数据会不
37、断的积累、演化,因此包含以下数据管理能力:数据源、数据连接、数据格式、数据schema(库/表/列/行)。同时,数据湖是单个企业中统一的数据存放场所,因此,还具有一定的权限管理能力。多模态的存储引擎湖仓一体本身内置多模态的存储引擎,以满足不同的应用对于数据访问需求(综合考虑响应时间/并发/访问频次/成本等因素)。但是,在实际的使用过程中,为了达到可接受的性价比,湖仓一体解决方案提供可插拔式存储框架,支持的类型有HDFS/S3等,并且在必要时还可以与外置存储引擎协同工作,满足多样化的应用需求。丰富的计算引擎提供从批处理、流式计算、交互式分析到机器学习等各类计算引擎。一般情况下,数据的加载、转换、
38、处理会使用批处理计算引擎;需要实时计算的部分,会使用流式计算引擎;对于一些探索式的分析场景,可能又需要引入交互式分析引擎。随着大数据技术与人工智能技术的结合越来越紧密,各类机器学习/深度学习算法也被不断引入,可以支持从HDFS/S3上读取样本数据进行训练。因此,湖仓一体解决方案提供计算引擎的可扩展/可插拔。数据全生命周期管理湖仓一体提供一个企业中全量数据的存储场所,需要对数据的全生命周期进行管理,包括数据的定义、接入、存储、处理、分析、应用的全过程。一个强大的数据湖实现,需要能做到对其间的任意一条数据的接入、存储、处理、消费过程是可追溯的,能够清楚的重现数据完整的产生过程和流动过程。151.3
39、.4 企业布局湖仓一体参考Databricks公司对Lakehouse的定义,湖仓一体是一种结合了数据湖和数据仓库优势的新范式,在用于数据湖的低成本存储上,实现与数据仓库中类似的数据结构和数据管理功能。湖仓一体是一种更开放的新型架构,有人把它做了一个比喻,就类似于在湖边搭建了很多小房子,有的负责数据分析,有的运转机器学习,有的来检索音视频等,至于那些数据源流,都可以从数据湖里轻松获取。就湖仓一体发展轨迹来看,早期的湖仓一体,更多是一种处理思想,处理上将数据湖和数据仓库互相打通,现在的湖仓一体,虽然仍处于发展的初期阶段,但它已经不只是一个纯粹的技术概念,而是被赋予了更多与厂商产品层面相关的含义和
40、价值。企业如何来布局湖仓一体,凭什么湖仓一体能代表未来?关于这个问题,我们其实可以换一个问法,即在数据智能时代,湖仓一体会不会成为企业构建大数据栈的必选项?就技术维度和应用趋势来看,这个问题的答案几乎是肯定的,对于高速增长的企业来说,选择湖仓一体架构来替代传统的独立仓和独立湖,已经成为不可逆转的趋势。一个具有说服力的例证是,现阶段,国内外各大云厂商均陆续推出了自己的“湖仓一体”技术方案,比如亚马逊云科技的Redshift Spectrum、微软的Azure Databricks、华为云的Fusion Insight、滴普科技的FastData等,这些玩家有云计算的老牌龙头,也有数据智能领域的新
41、势力。事实上,架构的演进是由业务直接驱动的,如果业务侧提出了更高的性能要求,那么在大数据架构建设的过程中,就需要数据库架构建设上进行技术升级。在数据分析领域,湖仓一体可以更好地应对AI时代数据分析的需求,在存储形态、计算引擎、数据处理和分析、开放性以及面向AI的演进等方面。以AI应用层面为例,湖仓一体架构天然适合AI类的分析(包括音视频非结构化数据存储,兼容AI计算框架,具有模型开发和机器学习全生命周期的平台化能力),也更适合大规模机器学习时代。关于湖仓一体的未来应用场景预测,需要支持三类实时场景,第一类是实时持续智能;第二类是实时按需智能;第三类是离线按需智能,这三类场景将可以通过快照视图、
42、实时视图以及实时批视图提供给数据消费者,这同样是未来湖仓一体架构需要持续演进的方向。从市场发展走向来看,“湖仓一体”架构是基于技术发展进程的必经之路。但由于这个新型开放架构仍处于发展早期,国内外企业数字化水平和市场认知的不同,造成了解决方案也存在着较大的差异。在业内人士看来,虽然美国的企业服务市场比我们成熟的多,也有很多路径可以参考,但中国市场却有着很多中国特色。美国企业服务市场往往卖产品就可以了,但中国大客户群体需要更与客户资深场景深度融合的解决方案,解决方案需要兼顾通用性和定制化。16以某个具有国际视野和品牌影响力的商业企业客户为例,该客户已经完成了统一数仓的搭建,实现了多个业务线的数据采
43、集和各个业务域的数据建设。在保证前端数据正常运行、“热切换”底层应用的前提下,该客户在短短几个月时间里将多个数仓整合为统一数仓,有效统一了业务口径,大幅缩减了开发运维工作量,整个业务价值链也形成了闭环。这也是“湖仓一体”的能力价值所在:随着数据结构的逐渐多样性,3D图纸、直播视频、会议视频、音频等数据资料越来越多,为深度挖掘数据价值,依托于领先的湖仓一体技术架构,可先将海量的多模数据存储入湖,在未来算力允许时,及挖掘深度的业务分析场景后,从数据湖中抓取数据分析。举个简单的例子,某个设计师想要设计一款新产品,一般会从历史数据中找有效信息参考,设计师也许只需要一张货品照片,就能像浏览电影般,了解到
44、该商品多年来全生命周期的销售业绩、品牌故事、竞品分析等数据,赋能生产及业务决策,实现数据价值的最大化。一般来说,大体量的企业想要保持持续增长,往往需要依靠大量、有效的数据输出,进而实现智慧决策。很多企业出于IT建设能力的限制,导致很多事情没法做,但通过湖仓一体架构,让之前被限制的数据价值得以充分发挥,如果企业能够在注重数据价值的同时,并有意识地把它保存下来,企业就完成了数字化转型的重要命题之一。湖仓一体能发挥出数据湖的灵活性与生态丰富性,以及数据仓库的成长性与企业级能力。帮助企业建立数据资产、实现数据业务化、进而推进全线业务智能化,实现数据驱动下的企业数据智能创新,全面支撑企业未来大规模业务智
45、能落地。资料来源:滴普科技图3.湖仓一体某商业企业客户应用171.4 湖仓一体的适用场景在过去”IoE”以及国产化推进的大背景下,数据平台经过近20年的发展,在数据智能时代将面临着更为广阔的应用场景,湖仓一体将引领下一个十年的数据领域的发展。大数据发展,让我们看到了数据湖与数据仓库的不断创新与发展,也看到了湖仓一体化的技术架构为企业数据能力带来的提升。湖仓一体能发挥出数据湖的灵活性与生态丰富性,以及数据仓库的成长性与企业级能力。帮助企业建立数据资产、实现数据业务化、进而推进全线业务智能化,实现数据驱动下的企业数据智能创新,全面支撑企业未来大规模业务智能落地。湖仓一体依托云原生特性、存算分离架构
46、、强事务特性、全链路CDC、高性能并行执行能力等一系列底层技术的变革,实现强扩展性、强安全性、强共享性、强兼容性、强复杂查询能力等上层技术能力的变革,最终帮助企业有效应对大规模、高时效、智能化等愈发明显的数字化趋势。下面简单地列举一些适用于湖仓一体架构的数据场景,当然实际上并不局限于这些,未来可以根据企业的发展做进一步的扩展和总结。1.4.1 数据多样性场景随着企业业务的快速发展以及全面的数字化,企业内部业务和数据系统会变得众多,当这些数据汇聚之后,需要处理的各种结构化和非结构化数据的数据规模也因此急剧膨胀。这给企业的数据应用和数据资产管理带来了以下问题:非结构化数据带来数据价值不确定性企业用
47、户往往不能确定系统中有哪些数据,也不知道自己的业务问题可以使用哪些数据来解决。企业在数字化转型过程中,非结构化数据(如同:音视频、声纹指纹、人脸识别等)已经普遍进入到在线业务系统中,成为了海量数据的新入口。这些数据不但容量上远超结构化数据,而且通过持续迭代的AI和机器学习处理,会不断产生海量的标签数据,对底层数据处理平台提出了更高实时联机处理能力要求。可以说,过去的非结构化数据就是个黑盒子,用户完全不知道里面存储的内容,所有的信息描述都在业务系统中存放。而现在,我们则需要将黑盒子打开,为里面存储的每一个对象赋予标签、描述和内容,同时能够基于这些信息进行统一有效的管理、分类、检索和查询,实现非结
48、构化数据治理,提升数据整体“能效”。企业中的非结构化对象数据,正从“资源消耗中心”,向“数据价值中心”进行转型。客户对非结构化数据处理的要求正在不断提升。实现统一的数据管理和共享数据企业缺少统一的数据管理标准,导致各业务部门之间难以对数据进行汇聚、共享和使用,从而无法发挥大数据的协同价值。传统的大数据平台基础架构,都将视角锁定在了存储和计算,而忽略了对于数据的资产化管理,这恰恰是湖仓一体作为新一代的大数据基础设施所重点关注的方向之一。大数据基础架构的演进,其实反应了一点:在企业/组织内部,数据是一类重要资产已经成为了共识;为了更好的利用数据,企业/组织需要对数据资产进行如18下操作:进行长期的
49、原样存储,以便可回溯重放原始数据进行有效管理与集中治理;提供多模式的计算能力满足处理需求;以及面向业务,提供统一的数据视图、数据模型与数据处理结果。在这个大背景下,除了有大数据平台所拥有的各类基础能力之外,湖仓一体更强调对于数据的管理、治理和资产化能力,这就包括:更强大的数据接入能力数据接入能力体现在对于各类外部异构数据源的定义管理能力,以及对于外部数据源相关数据的抽取迁移能力,抽取迁移的数据包括外部数据源的元数据与实际存储的数据。更强大的数据管理能力管理能力具体又可分为基本管理能力和扩展管理能力:基本管理能力包括对各类元数据的管理、数据访问控制、数据资产管理等;扩展管理能力包括任务管理、流程
50、编排以及与数据质量、数据治理相关的能力。任务管理和流程编排主要用来管理、编排、调度、监测在数据湖系统中处理数据的各类任务。可共享的元数据湖仓一体中的各类计算引擎会与平台内的数据深度融合,而融合的基础就是元数据体系。计算引擎在处理数据时,能从元数据中直接获取数据存储位置、数据格式、数据模式、数据分布等信息,然后直接进行数据处理,而无需进行人工/编程干预。更进一步,对平台内的数据进行访问控制,控制的力度可以做到“库表列行”等不同级别。事实上,湖仓一体平台需要对数据进行整个生命周期的管理,以统一的方式使得企业/组织内部的数据能在一个明确的地方进行沉淀,会永久地保留原始数据,同时过程数据会不断的完善、
51、演化,以满足业务的需要。更便捷的获取和使用数据传统的大数据基础平台,用户获取所需数据的过程太长和复杂,且缺乏有效的数据开发工具,导致用户获取和使用数据存在困难。通常情况下,新一代的数据基础设施会包括:数据集成系统:用于多源异构数据的集成和接入数据存储和计算:用于多种类型数据的统一存储,以及基于存算分离架构提供多负载的计算能力数据开发或数据处理子系统:主要用于数据的转换、加工等操作。数据目录Catalog:主要是整个数据平台内的各种元数据、血缘、资产信息等等。数据治理和权限:主要包括数据质量和标准,提供统一的数据管控和安全能力。数据洞察能力:用于数据基础分析和增强分析。数据科学:用于与AI相关的
52、科学分析能力。19从数据源定义、数据抽取和入湖入仓,到湖仓打通与集成,再到数据出湖、数据处理和数据消费,一气呵成,各种云上数据服务无缝集成在一起。数据从各种源头“流入”到湖仓一体存储中,又按需流出,被处理、被消费。1.4.2 与AI结合的机器学习场景从业务的角度,数据平台支撑了企业数字化转型的各项需求,企业因此能够实现精细化运营,从而降低运营成本、提高运营效率、提升创新能力。企业的数据应用场景持续扩展,敏捷性、易用性、实时性、智能化要求在不断提升。为了充分发挥数据的价值,数据驱动的决策和业务应用正逐渐渗透进企业的各个部门和各个业务线。面对数据应用场景的持续扩展,企业对其底层数据平台也提出更高的
53、技术和能力要求,包括了敏捷性、易用性、实时性、智能化四个方面的要求,具体如下:敏捷性企业存在大量数据分析,尤其是创新性数据分析和应用需求。但传统竖井式建设的信息系统修改困难、集成混乱;企业缺乏自有的技术开发能力,无法快速响应业务需求。易用性数据平台逐渐由赋能数据部门转向全面赋能业务部门,而使用传统数据平台需要的编程和数据分析能力是大部分业务人员所不具备的,因此需要新一代的数据平台具备低门槛的自助分析能力,适应不同能力的数据或业务人员。实时性企业在生产和运营中存在越来越多的实时决策场景,如何快速查找、分析和获得数据洞察是当前数据平台面临的一大挑战,需要从平台的架构设计、计算和存储引擎,以及业务流
54、程优化上满足数据分析的实时性需求。智能化在数据应用越来越多的背景下,企业相关的人力配备已不能满足需求,因此需要平台具备智能化的能力,一方面在数据分析环节引入自动化能力,减少人工操作,降低人力成本。另一方面,通过平台的智能预测能力,提高业务决策效率和能力。对于这些要求,新一代数据平台以湖仓一体为基础,通过对机器学习和AI算法的支持,实现数据湖+数据仓库的闭环,极大地提升业务的效率。数据湖和数据仓库的能力充分结合,形成互补,同时对接上层多样化的计算生态,帮助企业实现大数据能力的提升,如降低成本、提升运营效率、业务模式探索等。第二章:构建湖仓一体关键要点企业的数字化转型其中一个标志,就是业务和管理的
55、每个环节是否都可以通过数据来发现问题并加以改进。面对如此海量的数据储存和分析计算的挑战,建设一个统一的数据平台,对企业来说是很关键的问题。要实现海量数据的时效性,异构数据处理统一性和面向AI场景的数据预制能力,已逐渐成为主流趋势。20湖仓一体化实现了数据湖和数据仓库之间的无缝流转,打通了数据存储和计算的不同的层面,兼顾数据湖的灵活性和数据仓库的成长性,将二者有效结合起来为用户实现更低的总体拥有成本,用新方法和新技术实现数据湖和数据仓库的统一结合,实现批流融合、DATA+AI统一管理和调度,且基于云原生架构实现随时随地、云上云下的算力获得。湖仓一体是一个完整的架构,具备从底层的存储计算到数据处理
56、,以及上层的业务能力。它并不是简单的湖内建仓,或者说湖上建仓,而是应该回归到湖仓一体到底可以解决什么场景上来。在技术特点上,湖仓一体可以存储结构化数据、半结构化数据以及非结构化数据,可以将数据先存储到数据湖中,再去调动分析引擎去进行数据计算,最终将计算数据存储到湖仓的表引擎中。整体上来说,需要先建立数据湖能力,通过在数据湖上面建立数据仓库,底层是利用统一存储引擎进行一个能力提升,中间层采用批流融合的统一计算引擎,以及面向应用的多维查询分析能力。不同的数据平台产品,从存储引擎、多样性计算引擎,到最后的查询接口,也都体现出一个分层能力。湖仓一体是一次技术迭代,必须保证客户的数据能够升级到湖仓平台,
57、具备整体的架构迭代和技术迭代能力。湖仓一体的解决方案,不是单纯的底层的技术能力,更多的是在于满足客户的最终业务价值,把整个数据底层,以及数据的中间的调度和处理层,以及上面的一些数据分析服务层,能够提供给客户一条龙的服务,也是比较符合中国市场的一个定位。2.1 技术要点湖仓一体的架构,核心数据能力是要全面开放的,包括数据集成能力、数据存储、数据计算、数据处理、数据消费、数据目录、数据权限、数据运维等等。为此,我们提出了开放数据栈的架构理念:Open Data Stack。数据栈的概念的整个发展,追溯历史其实可以划分为三个阶段:第一个阶段可以称之为数据栈的寒武纪的时代(2012 2016),借由H
58、adoop生态圈积 累的大 量的经验 和Kubernetes项目,云平台获得了新生。有了Kubernetes,对于工程师而言,无论他们在使用哪一种云平台提供的计算资源,都能够将他们在自己便携式电脑上的工作环境无差别地迁移到公有云上进行开发、测试和最终的大规模投产。在这个阶段,诞生了大量的以此为目标的数据领域的工具,尤其是在2012年Amazon推出的Redshift,在云上逐渐占据了主流。这种大流行,是由MPP大规模并行计算和OLAP系统架构在巨大的数据集分析查询上带来的性能提升开始的,而在这之前,企业在进行数据分析或者接入BI进行分析时,即使在一个中等规模的数据集上做相对简单分析都可能会非常
59、对耗费时间,并且需要构建一整套生态系统来缓解这个问题,这些问题包括:数据在被装入到数据仓库之前首先要进行转换,因为数据仓库太慢和受限而不能处理这些繁重的数据处理工作。BI工具进行了大量的本地数据处理以解决数据仓库的瓶颈从而能够给最终用户一个可以接受的响应时间。21数据处理工作由中央的团队来严格控制从而避免数据仓库处理太多来自于最终用户的请求而不堪重负。很多数据领域的专家、创业团队都涌入这个赛道,纷纷构建了很多新的架构、理念、工具和产品,其中有些产品大获成功,也构成了我们今天数据栈的基础。从技术架构角度,MDS之前的“史前架构”,数据要分别进行数据导入、存储/计算、处理分析,而当时All-In-
60、One的思想,每个部门都希望各自解决问题,因此形成了数据孤岛,各产品直接难以集成,TCO非常高。2012年随着以AWS Redshift为标志的产品,以存算分离、列存等技术解决成本和计算能力的问题,而引发了MDS的爆发式发展。现在,技术人员不再需要非常高深的技术能力,只需使用SQL,就能实现数据的分析。第二个阶段是数据栈不断普及、不断验证和部署的阶段,可以称之为数据栈的1.0进化期(20162020)。在这个过程中逐渐形成了云原生的核心架构,一切基础设施和服务都要云化。但整个数据栈的架构仍然是以最开始定义的几个核心的部件:云端的数据仓库,核心职责是解决数据存储的能力,并且提供了数据处理和计算;
61、数据集成服务,核心是将不同来源、格式、特点性质的数据有机地集中,为企业提供较全面的数据共享和服务;ELT数据转换工具,从ETL理念向ELT转变,有专业的负责数据处理和转换的工具;BI层,核心是为企业的决策者或者业务人员提供数据洞察的服务;反向ETL工具,将处理的数据或结果反向导入到业务系统中,给业务正确的反馈,或者能够指导业务决策;数据治理工具,核心是提供统一的数据质量、数据标准,并且能够为整个数据平台提供统一的元数据等信息。那么这些部件在第一个阶段发展过程中,基本上构成了数据栈的基石。所有的技术在早期采用者都是宽容的,但是技术需要改进才能被越来越多的受众所采纳。从开发到部署,然后每一轮的技术
62、开始进入成熟,从而能够吸引到更多的新客户,然后技术上变得更加成熟。随着技术的演变,云原生数据栈的特点逐渐固化下来:1.以云为基础环境,以云数仓/云数据湖为存储核心,这也是湖仓一体架构演进的基础2.是对云上的component的组合;3.每个component使用云上catalog来进行衔接,Catalog是数据栈的灵魂;4.每个component只专注在自己的环节,专业的人做专业的事;5.每个环节的component倾向于标准化,是可替代的。22第三个阶段是数据栈的爆发期(20212025),技术不断地完善和成熟,迎来了新的创新,也会更聚焦在解决一些数据栈不足的地方。关键的创新点就在于:即时和
63、实时分析:从T+N的数据处理,将整个数据流的延迟降低到分钟级、秒级的处理,将给技术带来很大的挑战,并且讲解锁全新的应用;主动数据治理:如果没有很好的治理,更多的数据=更多的混乱=更少的信任。平民化数据探索:所有的BI工具或者数据分析工具,都在思考如何能够像Excel工具那样广泛的以及低门槛的被使用,并且具有足够的灵活性;垂直分析:缺少的是在现代数据技术栈上构建的垂直的分析界面,构建像这种新的、轻量级的、垂直应用的机会将会大大的增加。非结构化数据和AI应用:企业的大量未被数仓纳入管理的非结构化数据,可能会给业务带来更多隐藏的价值,结合AI算法模型的不断深入,业务会有更多的智能。这些都构成了湖仓一
64、体架构核心要解决的问题以及关键能力。基于数据栈的理念,我们提出了湖仓一体的开放数据栈的架构ODS(Open Data Stack):图4.湖仓一体的开放数据栈的架构ODS资料来源:滴普科技23企业数据平台全面开放的好处就是能够让更多的社区用户一起协作发现问题、解决问题,并且帮助社区用户在商业项目和研究中发挥作用,这是ODS设立的初衷,其开放性体现在:开放的数据格式湖仓一体支持更多数据格式,可用于各种工作场景,使用的存储格式是开放式和标准化的,如Parquet/ORC/Avro等格式;更多的数据治理架构支持强制的Schema以及数据治理,星型模型或者雪花模型均可;可以灵活地更换计算引擎湖仓一体架
65、构可以灵活支持多种常用大数据分析、计算引擎的无缝接入和良好的互操作性,并且使用统一SQL 编辑器支持各主流的SQL类操作;AI的结合提供了多种API,包括机器学习和Python语言和R语言库,各种工具和引擎都可以直接访问数据,最大限度地提高灵活性。2.2 标准统一湖仓一体的架构有如下几大特性:第一,支持事务ACID,在企业当中,数据需为业务提供高性能的并发读写,支持事务ACID可确保在SQL访问模式下的并发读写一致性;第二,支持各种数据类型的实现与转变,并保证数据完整性,具有健全的数据治理与审计机制;第三,BI直连数据源,提升数据分析效率,降低分析延迟与成本;第四,支持存算分离架构,赋予系统扩
66、展性、提升计算的高并发,并且底层存储具有了弹性扩充能力;第五,支持各类计算与分析引擎,以及Parquet、ORC等数据格式,以及异构数据存存储,以及机器学习、SQL 查询、数据科学、数据分析等各类负载,以及支持端到端的数据流。以此为依托,湖仓一体平台的构建,应该具有如下的标准:批流融合 需要同时满足实时和批量的数据处理能力,降低企业维护的成本和复杂性,扩大最佳的资源使用效能。全链路CDC需要满足全链路CDC,端到端实现从数据源到湖仓数据的增量分析,兼备实时数据分析的全面性和准确性。事务ACID一致性需要提供ACID保证数据写入一致性;提供快照保证读写的并发;提供upsert/merge int
67、o能力极大地缩小数据库入库延迟。对象存储不支持文件原地更新,新的记录以append的方式写入新文件,即使对文件中的一行记录进行更改,也要重写整个文件,并且多线程并发读写也可能造成数据不一致。湖仓一体通过多版本的方式保证事务24读写并发不冲突,通过将修改记录在change file中通过合并base文件的方式提升记录更改效率。DataOps提供数据统一服务、数据沙箱、数据开发、代码版本管理、CI/CD、工程化运维的流程化和自动化。统一元数据管理支持异构数据的统一元数据管理,实现端到端的数据链路的自动化元数据采集,支持全链路血缘,一键式分析技术、业务、操作元数据详情,为数据标准建设和数据质量提供重
68、要支撑。湖仓一体中的Catalog是统一的元数据目录,它可以帮助我们让数据发现变的更简单,更加快速地查找到你想要的数据,同时提供面向多引擎(Hive、Spark、flink、trino等)的公共元数据存储和统一元数据服务。云原生架构基于云原生架构,与主流云厂商深度连接,提供基于多云架构的统一数据平台,帮助企业以最优成本、最敏捷的方式搭建数据资产和数据分析的全链路,更加精细化实现数据价值。滴普科技FastData实时湖仓平台正是围绕湖仓一体架构的核心标准,构建六大产品特性,也助力其成为具备先进洞察的核心基础设施软件。第三章.湖仓一体方案实践3.1 实践项目背景当前新零售业务场景繁多,业务相对复杂
69、,业务需求复杂频繁,业务数据日益剧增。面对复杂频繁的业务需求,以及日益剧增的业务数据,随着业务不断创新,数据种类不断增加,需要统一存储和管理多样化的原始数据,业务分图5.FastData湖仓一体平台和优势资料来源:滴普科技25析对数据时效性、数据多样性的要求不断提高,需要构建湖仓一体的数据体系,支持高效的精细化数据运营和业务创新发展。随着业务快速增长,某大型品牌零售企业制定了相关发展战略。为了适应业务发展,需要对数据价值进行挖掘,指导经营决策以及业务赋能;进行业务分析,首先要对相关数据进行良好存储和管理,选择适合的数据栈技术路线,进行数据平台的搭建尤为重要。3.2 现状与挑战该企业的现状与绝大
70、多数公司相似:同时存在多个数仓平台,如Oracle、Hive等,没有数据湖,无法支撑业务发展,尤其是创新业务,如数据科学、机器学习、人工智能等应用;结构化数据存量近2PB,日均增量500GB,近万张表,包括交易体系、生产体系、营销体系、会员体系、货品体系、库存体系、物流体系、财务体系、组织体系、办公体系等等。传统数仓已无法很好地支持大数据量的存储和管理。半结构化与非结构化数据存量近200TB,每年增量35TB,未来还会考虑视频数据(如直播、培训、线上会议),百亿级的文件数量,包括该公司所有的各类文件,商品图片与音视频、直播音视频、宣传素材、各系统上传的附件、excel、pdf、word文档、z
71、ip、rar、csv、json等等。这些数据原来分散在各业务的存储中,可能存储在对象存储系统、文件目录、GFS、NFS、FTP、第三方系统等等,没有进行统一维护,也没有相关数据应用,有业务需求时,无能为力,巨大的价值等待发掘。由此,企业数字化建设面临着很大的挑战:半结构化、非结构化数据分散不同业务存储不同的地方,不同技术选型存储系统不一样,第三方系统使用的存储系统也可能不一样,技术不断演进会引入不同的存储系统。而且由于技术限制,不少半结构化与非结构化数据未做存储,也没有规范,运维复杂。种种原因导致数据分析时需要来回搬运数据;数据缺乏统一管理,无法全链路追踪由于顶层设计缺失与历史等原因,数据烟囱
72、、信息孤岛和碎片化应用遍地开花。缺乏统一元数据管理,数据的定义、位置、谱系无法全链路追踪,跨平台、跨引擎使用数据困难;数据处理复杂,缺乏智能运维数据处理任务繁多,需要花费大量人力进行监控和处理,缺乏自动化智能运维手段;26存算资源紧耦合,无法独立扩展,资源利用率低目前企业基本还是采用Lambda架构,需要消耗的服务器资源较大。随着单台服务器配置越来越高,资源越来越无法得到充分利用,导致资源利用率低下。3.3 业务演进与目标经分析,该公司急需一个适合的数据平台,统一存储和管理数据,以适配业务的快速发展。从业务与管理上需要达到两大目标:其一,统一的数据平台,实现不同业务、多种类型的数据的统一存储与
73、管理,为业务提供访问任何数据的能力,缩短业务分析时的数据准备时间,加速通过数据为业务产生价值的过程。其二,同时提供丰富的计算引擎支持,统一支持不同的工作负载,特别是未来利用AI、机器学习等技术,从数据中发掘更多的应用价值。最终实现不同业务、多种类型的原始数据的统一存储与管理,为业务提供访问任何数据的能力,缩短业务分析时的数据准备时间,加速通过数据为业务产生价值的过程。同时提供丰富的计算引擎支持,支持未来利用AI、机器学习等技术,从数据湖中发掘更多的数据应用价值。湖仓一体数据平台,可以快速提升企业数据开发与治理的敏捷性,实现数据驱动下的企业数据智能创新,全面支撑企业未来大规模业务智能应用。综上,
74、我们可以看到,要解决该公司的问题和实现他们的目标,湖仓一体正是最佳解决方案。图6.统一的数据平台资料来源:Databrickshttps:/ 湖仓一体方案实践对于大数据平台而言,不管采用何种技术,都需要解决四大问题:入湖、存储、分析、开发。有不少用户有个相同误区,都是等到业务有需求时,才采集与分析相关数据,以及引入相关技术组件。缺乏整体统一的规划,数据管理混乱,历史数据丢失,无法满足日新月异的业务需求。而在该项目实践中,是以湖仓一体引擎构建数据底座,兼容不同引擎统一工作负载。综合考虑了尽可能多的业务场景,从基础服务平台的角度进行建设。图7.行业技术发展路线与业务演进资料来源:滴普科技28因此形
75、成了通用的方案,具有普适性,在落地该客户的同时,滴普科技也进一步丰富和沉淀了FastData实时湖仓平台的产品体系,以服务和解决更多有大数据分析需求的客户。滴普科技FastData实时湖仓平台基于现代数据栈的建设思路,全面整合了从数据存储到数据开发以及数据分析的完整链路,包括基于替代Hadoop架构的新一代实时湖仓引擎DLink,数据智能开发治理平台DataFacts,以及基于AI数据探索分析和数据资产决策的数据分析平台DataSense,帮助企业建立统一治理、流批一体、湖仓一体的云原生数据智能平台,实现海量数据实时分析,支撑企业数字化转型。3.4.1 方案架构与传统数仓相比,湖仓一体有效解决
76、了传统数仓和传统数据湖所面临的棘手问题。数据仓库,无法支持海量结构化数据以及非结构化的存储和处理,时效性差(T+1),无法很好地支撑数据科学应用、机器学习等更复杂的分析应用。数据湖,缺乏对结构化数据进行有效的组织,存在严重的数据沼泽问题,无法很好支撑BI分析应用。数仓+数据湖,数据通常存储在多个不同的平台当中,有数据分析需求时常常需要反复的搬迁数据,无法统一工作负载,数据应用的效率很低,成本高、响应慢。滴普科技提出的湖仓一体方案总架构分层,与大数据平台需要解决的四大问题一一对应。数据集成解决入湖问题、存储层解决存储问题、计算层解决分析问题、数据开发和数据服务解决开发问题,然后在统一的数据底座上
77、构建可扩展的数据分析应用。这一 架 构 一 大 特点 是 存 算分离,计算资 源 可以 通 过kubernetes或Hadoop Yarn进行管理资源,实现资源池化、按需使用,支持弹性伸缩,极大地提高了资源利用率。而且遵守ODS(Open Data Stack)原则,保持每个组件的开放性,如开放的数据格式、开放的表格式、统一元数据等等,对兼容原数仓与平滑过渡带来了很大的便利。3.4.2 项目成果湖仓一体的建设意义重大,作为数字化的底座,为企业数字化转换提供强有力的保障。具体价值如下:业务高弹性和降低TCO通过大数据存算分离,实现全域数据统一存储。统一元数据管理实现湖仓共享存储资源池,计算资源弹
78、性伸缩应对业务变化。面向异构数据的价值挖掘湖内存储企业所有数据源(包括结构化、半结构化、非结构化数据),支持面向多源异构数据的数据探索分析。提高数据分析效率数据分析专家无需数据搬迁,即可无缝处理和分析数据湖数据,加速数据准备和重用流程,缩短数据入仓时间,提高数据提供的时效性。加速业务创新数据分析专家能够在数据结构化和清洗、转换之前访问数据,从而能够比传统数据仓库更快地获得结果,实现快速地洞察数据。29从数据基础工作到数据辅助决策,再到业务赋能,全面展现项目成果与收益,达成了可观的项目成果:1)数据采集,对接了20多个业务系统,总任务150多个,接入源表近3000张;2)数据存储,结构化数据总量
79、2PB,每日新增数据处理的数据量近500GB,每日新增数据采集的数据量20多GB;3)数据处理,总任务数量1500多个,其中流式任务300多个,离线任务1200多个,预计当年年底总任务数量增加到4000多个;4)数据服务,提供了200多个服务API,订阅项目数9个,日均调用量20几万。基础指标400多个,衍生指标1万多个;5)其他,常规补货准时率提升了8%,补货流程提效20%,商品运营历史 数 据60多亿条,商品运营每日新增4亿多条;总的来看,湖仓一体是数据仓库和数据湖技术的融合的新范式,弥补了数据仓库无法支持海量数据和非结构化数据存储问题,也弥补了数据湖缺乏数据管理的问题。实现统一数据存储和
80、管理,统一工作负载,使得数据的管理和使用效率得到提升。为商业智能、数据科学、数据智能运维构建统一的数据底座。随着数据智能的演变与发展,湖仓一体将会拥有强韧的生命力,与更为广阔的发展空间。资料来源:滴普科技图8.滴普科技FastData湖仓一体解决方案资料来源:滴普科技 Gartner的研究快速问答:数据湖仓一体是什么?供应商和咨询公司是数据湖仓一体概念的主要推手,该形势使得数据和分析领域的领导者考虑使用湖仓一体。但是他们发现很难继续下去,并且对湖仓一体的概念及可能的用处感到困惑。本快速问答旨在解决此困惑。快速问答数据湖仓一体是什么?数据湖仓一体是一种融合的数据架构,它结合并统一了部署在单个平台
81、(通常基于云)上的数据仓库和数据湖的架构和功能。这种设置使数据和分析行业领导者能够实现数据湖仓一体的主要益处:降低架构冗余度。统一的湖仓一体架构使设计、维护、优化、数据标准和管理工作更加简单。因为不需要在平台之间移动数据,所以可以更早地准备好数据以用于数据仓库及其相关用例(报告、仪表盘、自助服务、分析等)。对新用例的重新场景化工作将在原地进行。但是,虽然湖仓一体架构在某些方面会有帮助,但该架构并不能显著减少所需的总体工作,因此可能无法提供预期的好处。要实现湖仓一体的益处,需注意一些事项。例如,单一平台湖仓一体是经典的“单体架构”(通过牺牲丰富功能来换得简单性),因此受到单一平台的限制。湖仓一体
82、可以实现“零复制数据共享”,但前提是所有共享数据都在一个平台上。与大多数其他架构相比,湖仓一体涉及的供应商数量较小(通常只涉及一个供应商,而不是两个或更多供应商),但这会提高供应商锁定程度。要成功实现数据湖仓一体架构,主要挑战是选择合适的数据平台,因为很少有平台能够同时最优地处理数据湖和数据仓库。即使有平台可同时支持这两者,但通常也会厚此薄彼。更多细节数据湖仓一体的定义和成功取决于其架构设计。因此,我们需要深入了解数据湖和数据仓库的架构细节,以及湖仓一体如何整合这些细节。集成两个或更多平台上的数据湖和数据仓库会导致冗余度和复杂度在下一节讨论为何在单个数据平台上放置数据湖和数据仓库会让组织受益之
83、前,让我们先看看两个或更多平台的集成所产生的冗余度和复杂度。图1显示了典型数据湖和数据仓库的组成部分,其中的数据湖和数据仓库紧密集成,但位于独立的数据平台上。请注意明显冗余的架构组件。图1.两种数据平台上的数据湖和数据仓库的参考架构例如,看看在将数据从数据湖平台移动到数据仓库平台时会发生什么。在此场景中,数据通常在数据湖中进行暂存、通过数据集成技术传输、进入数据仓库、进行改进和加载,然后在数据仓库中做好生产准备。冗余度增加了集成平台的复杂度和维护工作,减缓了数据移动,并对管理、标准和优化工作构成挑战。包括数据湖和数据仓库的数据架构由几个数据处理区组成,包括提取、进入、处理和暂存。通过在单一平台
84、上集成数据湖和数据仓库,可以减少冗余度和复杂度数据湖仓一体架构模式的关键点是,减少数据湖-数据仓库集成的冗余度,如图2所示。通过将数据湖和数据仓库置于单个数据平台(通常是基于云的平台)上,便无需在两个或更多平台之间传输数据。单纯用于进行此数据传输过程的架构组件可取消,或与其他组件合并:由于不进行平台间数据传输,湖仓一体架构的数据湖部分就不需要用于出站数据的暂存区。与此相似,此架构中的数据仓库区域也不需要用于入站数据的数据进入处理。图2.单一数据平台上的数据湖仓一体的参考架构32虽然这些特定暂存区域和进入区域(及其处理的临时数据集)是多平台数据架构所必需的,但在单平台数据湖仓一体架构中可将它们省
85、去,如图2中所示,其中省去了这两者。单一云将为所有数据和用例提供共享存储,因此用于平台间数据传输的管道和提取,以及转换和加载(ETL)工作也可以省去。所有数据都可以整合到单个改进区域,尽管此区域很可能被组织为许多数据集和流程(因为数据湖仓一体必须支持许多用例)。数据湖仓架构包括数据湖和数据仓库所需的所有数据区,但与数据湖和数据仓库的两个独立架构相比,数据区重复更少。好处是架构更简单,占用的存储空间更少,数据流更直接。关于更复杂的数据湖仓一体架构的表述,请参见探索湖仓一体架构和用例中的图3。选择适合的数据平台是成功之旅中面临的最大挑战虽然数据湖仓一体能带来诸多益处,但其架构也具有潜在的挑战,必须
86、由数据和分析行业专家予以解决。需要仔细评估平台,以确定对于各种湖仓一体工作负载,“足够高”性能的促进因素有哪些。数据湖的范围。Gartner评估的大多数数据湖都不涉及湖仓一体设计。这些数据湖是独立的企业级数据设计模式,可为多种用例提供数据,包括分析(从报告到数据科学)和运营(营销、供应链、流程监控)的混合。相比之下,用户通常更狭隘地在湖仓一体中设计数据湖,使其只支持数据仓库和由此产生的用例(报告和仪表盘)。因此,通过精心定义湖仓一体中数据湖的范围,使您的数据湖仓一体设计模式满足业务需求。该数据湖可能仅限用于某个数据仓库,也可能广泛适用于整个企业中的多个用例,或介于两种情况之间。一种常见的折衷方
87、法是,让湖仓一体中的数据湖提供数据,来满足传统数据仓库和数据科学计划中的各种需求。显然,您还可以将企业级数据湖与数据仓库集成在一起,前提是两者位于同一个平台上,并共享相同的存储空间。数据湖仓一体架构及其优势仍可实现。即使在湖仓一体内,用户也必须保护数据湖,防止其变成数据沼泽。通过管理数据湖、策划其内容、使用元数据和其他语义记录数据湖的数据,以及精心组织数据湖存储作为数据区、存储桶、原则、文件夹等,数据和分析行业领导者可以提供这种保护。数据湖仓一体架构面临的另一个挑战是,大多数数据库管理系统和其他数据平台都适合于数据仓库和数据湖,但很少会同等地适合两者。3334例如,数据仓库平台支持大量不同的并
88、发工作负载和并发用户;大多数数据湖平台面向小型数据科学家社区而设计。此外,数据湖平台支持所有结构、容器和延迟的数据;大多数数据仓库平台已针对通过批次、微批次或流加载到表中的关系数据进行了优化。因此,用户需要通过精心选择同时具有数据湖和数据仓库功能与优化的单一平台,来成功实现湖仓一体架构的两个组成部分。依据此项研究基于Gartner客户电话、供应商简报和Gartner分析师协作。Gartner研究纪要G00765955,Philip Russom,2022年5月17日“湖仓一体演进与实践”由滴普科技发布。由滴普科技提供的编辑内容与Gartner的分析结果相互独立。使用任何Gartner调研报告须
89、获得Gartner的许可,Gartner调研报告最初作为Gartner面向所有具备资格的Gartner客户的联合调研服务的一部分发布。2023 Gartner,Inc.和/或其关联公司。保留所有权利。使用或者出版本出版物中的Gartner调研报告并不表示Gartner认可滴普科技的产品和/或策略。未经Gartner事先书面许可,不得以任何形式复制或分发本出版物。本出版物中包含的信息均取自公认的可靠来源。Gartner不对此类信息的准确性、完整性或适当性做出任何保证。此处表明的观点随时可能更改,恕不另行通知。虽然Gartner研究可能会讨论相关的法律问题,但Gartner并不提供法律建议或法律服
90、务,不应将其研究解释为或用作法律建议或法律服务。Gartner是一家上市公司,其股东拥有的公司或基金可能与Gartner调研报告中涉及的实体有财务利益关系。Gartner的董事会成员可能包括这些公司或基金的高级管理人员。Gartner调研报告是由其调研机构独立完成的,并没有受到这些公司、基金或其管理人员的介入或影响。如需了解Gartner调研报告的独立性和完整性的详细信息,请参阅其网站上的“独立性和目标的指导原则”。联系我们如需详细信息,请通过以下方式联系我们:关于滴普科技北京滴普科技有限公司()成立于2018年,定位为数据智能服务商。滴普科技以数据智能技术为基础,以数据的业务价值为核心,为客户提供数据智能领域的大数据基础软件产品与服务。滴普科技的核心产品实时湖仓平台FastData,全面整合了从数据源、数据分析到数据价值实现的完整链路,帮助企业建立统一治理、流批一体、湖仓一体的云原生数据智能平台,实现海量数据实时分析,成为支撑企业数字化转型的核心基础软件设施。扫描二维码获取更多信息。