智能数据云,将改变人类使用数据的习惯,
让使用数据变得更加简单,
让最有价值的数据被看见!
Kyligence 联合创始人兼 CTO 李扬
Kyligence 成立五年多来,我们一直专注在数据服务与管理方向,目前已经服务金融、零售、制造等全球头部客户。在这个过程中,我们一直在思考,并不断和客户探讨一个话题:
数据仓库的未来,应该是什么样子?
随着海量数据高速增长、数据特征越来越多样、数据源越来越繁杂以及技术间的整合和平台间的集成带来的难度,无论是传统的数据仓库,还是近几年热门的数据湖、湖仓一体等,虽然都解决了一部分问题,但也有不少弊端显露。特别是人工智能和云计算的发展,本就该给数据服务带来更多可能,所以我想通过这篇文章谈谈我们对数据仓库发展的看法以及对未来的展望。
从数据仓库到数据湖,顾此失彼
近几年,随着数据湖、湖仓一体概念的兴起,业界对于它们与数据仓库之间的对比甚至争论始终不断。这三种技术平台在不同程度上为客户解决了一些痛点,不过随着行业需求的演变,它们的价值定位又发生了一些变化。
数据仓库(Data Warehouse)的早期概念数据集市(Data Marts)在 70 年代由 AC 尼尔森提出。1988 年 Bill Inmon 发表了名为《业务信息系统架构》的论文,从而正式介绍了数据仓库的概念和建设方法论。随后在 1996 年,Ralph Kimball 发表“数据仓库工具箱”介绍了维度建模。从此,数据仓库在 Bill 的自顶向下模式 和 Kimball 的自底向上模式之间争吵,直到现在。
数据仓库以主题模型为核心,能够支持企业数据管理和分析的核心诉求,数据仓库本身并不“生产”任何数据,同时自身也不“消费”任何数据,数据来源于外部,并且开放给外部应用,这也是为什么叫“仓库”,而不叫“工厂”的原因。
在数仓理论发展至今的 30 年间,越来越多企业选用数据仓库架构作为数据平台建设的标准和核心,分层构建多维数据模型和业务模型层。下游通过 ETL 工具对接各类数据源进行数据整合,上游数据应用进行数据消费提供分析决策。
不过,随着互联网等数字经济的蓬勃发展,数据量呈现爆发式增长,非结构化数据、半结构化数据不断涌现,数据更新也更加频繁,数据仓库难以支持这些场景的需求,即大数据著名 4V 问题:volume, variety, velocity, veracity。此外,还存在无法与数仓外的数据协同的问题,尤其是目前多云、多数据源等现实,使得“数据仓库”重新形成了“数据孤岛”,让业务人员很难获得全局数据视图。
数据湖(Data lake)这一技术概念在 2015 年由 Pentaho 公司的创始人兼首席技术官詹姆斯·狄克逊(James Dixon)提出。它是一种将数据以原始格式存储在同一个系统或存储库的理念,以便于收集多个数据源的数据以及各种数据结构的数据。数据湖依托于可扩展的、低成本分布式存储或云对象存储,创建了一个适用于所有格式数据的集中式数据存储,可以存储包括关系数据库的数据、半结构化数据、非结构化数据甚至二进制数据,将企业中的所有数据保存于同一个存储介质中,以用于报告、可视化、分析和机器学习等用途。
数据湖以离线批处理为主,能够灵活处理和分析结构化和非结构化数据,并快速得到结果,以缓解数仓的尴尬。但数据湖缺少数据管理能力,以及对数据质量的保障。对于数据管理团队来说,尽管管理了很大的数据量,但真正哪些数据是最有价值的,却始终不得而知。
图片来源:Gartner
正如 Gartner 在 2020 年的 Market Guide for Query Accelerators 报告中所描述的,数据仓库期望有数据湖的可扩展性,而数据湖则希望有数据仓库的企业级分析和管理能力。
湖仓一体的概念最早起源于 Databricks 提出的 Lakehouse:它是一种开放的架构,结合了数据湖和数据仓库特点,直接在数据湖的低成本存储上,实现与数据仓库中类似的数据结构和数据管理功能。在具体实现上,Databricks 通过 Delta Lake 这款基于 Apache Parquet 加强升级的存储产品,实现了诸如事务支持、模式执行(Schema Enforcement)等传统数据湖相对薄弱的能力,提供了一种“湖中建仓”的可能。除了 Delta Lake,目前业界也有相同定位的其他产品,例如 Netflix 开源的 Iceberg 和 Uber 开源的 Hudi 等。
图片来源:Gartner
湖仓一体的概念非常具有吸引力,提供灵活的多样性算力和存算分离方案。但是在实际客户场景中,仍面临以下的问题:
所有数据通过“ETL”或者数据处理来存放到一起,不管是云存储还是分布式存储,依然要求“集中”式的管理所有数据;
湖仓一体提供的数仓能力,相比传统数仓来说仍然是有限的,例如不支持跨表的事务、外键检查等能力,以及一些企业级能力;
用户往往已经在数仓建设上有大量的投入,例如大量的业务应用、成百上千个 ETL 任务,迁移工作量巨大无比。
更有甚者,将 Hadoop 和 MPP 数据仓库糅合在一起,希望通过捆绑的方式同时来提供湖和仓的能力,让不同的分析负载用不同的技术平台来承载,来支持复合负载。经过我们的实践以及对业界的观察,这个方案虽然看上去很美好,但运维复杂、技术栈不一,从而给整体的运维、稳定性、可管理性等都带来了巨大的挑战。
那么,还有没有更好的解决方案?
智能数据云让使用数据更简单!
在讨论“下一代”之前,我们先来看看时代大背景有了哪些变化,哪些前提和假设与之前有了不同:
从专家到平民分析师:被使用的数据才是资产,不被使用的数据则是负债。过去,使用数据和解释数据是少数专家的权力。要充分发挥数据的价值,必须有越来越多的普通人来使用数据。这意味着“数据分析师”的人数将成百倍的增加,所以数据系统如何降低使用门槛,如何应对成百倍上升的工作负载,将成为极大的挑战;
数据从汇聚到注定分散:随着世界各国严控数据安全,欧洲有 GDPR,中美有各自的数据安全法,对跨国企业来说,建立一个集中型的数据湖已经不可能。此外,出于行业数据管控的目的,亦或防止被存储厂商锁定,多云、混合云部署在国内也成为趋势。因此,对于数据孤岛的整合思路将由汇聚(Collect)渐渐转向联接(Connect)。
从“已知”到“未知”:要想领跑数字化转型,企业仅重复已知的数据应用场景已经不够了,更需要的是一种数据创新的能力,探索未知的数据关联,发现未知的业务规律,开创未知的数据应用场景。
图片来源:Gartner
不难看出,对于今天的数据仓库和数据湖产品而言,在以上大背景下提出的新需求都难以满足。尤其是目标用户由专家转变为普通人这一点,意味着今天所有以关系模型和 SQL 为基础的数据服务都存在过高的技术门槛。原因很简单,我们不可能要求普通人先学会关系数据库原理,理解了表、视图、主键外键、Join 运算等知识之后,才能使用数据服务,这是不现实的。
那么,下一代普通人也能用的数据仓库,
应该是什么样的呢?
智能数据云
我们称之为智能数据云(Intelligent Data Cloud),它让使用数据像使用水、使用电一样方便,人人都能随取随用,自助使用。
从技术角度来看,智能数据云是之前数据仓库、数据湖、湖仓一体等技术体系的继承和延续,既有数据湖低成本的存储可扩展性,也有数据仓库的强化数据结构和数据管理能力。同时,在此之上,智能数据云提供更高一层的业务数据对象管理能力,并从业务对数据的读写需求出发,使用 AI 增强的方式自动化和简化技术层面的人工数据操作和数据管理。向外,智能数据云提供普通人可用的数据服务;向内,智能数据云以业务为导向自动化数据的操作和管理。
管理数据的业务语义(Business Semantics),将管理目标从技术对象上升到业务对象;
围绕业务数据对象,提供普通业务人员可使用的数据视图、数据探索和数据创新等服务;
穿透业务层面和技术层面,提供统一的元数据管理和数据治理;
同时支持面向汇聚(Collect)和面向联接(Connect)的数据整合,不强迫数据移动;
AI 增强的自动化调优和运维,如自动查询加速、自动业务建模、无代码 ETL 等;
继承数据湖、数据仓库、湖仓一体等现有体系的优势,如半结构化数据支持、事务支持、BI 支持、流式处理、机器学习、数据开放性等。
智能数据云架构图如下图所示,我们来自下而上介绍一下:
共享的数据目录 Shared Data Catalog
汇聚各个数据源的数据目录,在整个智能数据云中共享。这是元数据级别的汇总,数据本身可以移动,也可以不移动,这点显著区别于数据湖。在企业内通过众筹模式,数据专家们可以协作标记、过滤、排序、整合、置信,最终共同维护一个共享数据目录。当数据源众多,人工智能爬虫可以代替人扫描所有数据源,收集信息和处理文字,自动生成一个初始的数据目录。
业务语义增强 Business Semantics Enrichment
为数据目录补充业务信息上下文,形成知识图谱和语义网络,构成了业务语义层的下半部分。有了业务语义,能让 IT 以外的普通业务人员也看懂数据、使用数据、甚至通过关联整合创造新的数据集。同时,带语义的元数据也能更好地指导人工智能,以业务目标为导向,自动优化整个数据系统。
业务数据对象 Business Data Objects
即业务层面的数据对象,如指标、标签、多维分析模型、图模型等,有了业务语义描述,就构成了业务语义层的上半部分。业务数据对象通过组合多个技术数据对象计算而来,如关系表、视图等。为提升性能,业务数据对象可以有自己的储存实体,如索引、物化视图等。或根据监管审计要求,业务数据对象也可以仅以虚拟形式存在,在查询时穿透到各个数据源,联合在线计算。业务数据对象通常被组织成层级结构,如:数据实体 > 业务对象 > 主题 > 主题域,形成企业级信息架构,以用作统一的数据治理和安全管控。
数据运维自动化 Data Ops Automation
由于业务语义增强打通了数据的技术定义和业务定义,绝大部分的数据运维将以无代码(或低代码)的自动化方式运行。用户只需关注对数据的业务需求,而背后的数据导入、清洗、准备等工作将大部分由自动化代替。向人工 ETL 数据管道说再见!
业务数据服务 Business Data Service
基于业务语义的自助式数据服务,与传统数仓不同,智能数据云将数据使用门槛降至最低。数据消费者看到不再是数据的技术层面(如关系表、星形模型、英文的表名、列名等),而是指标、标签、多维分析模型等这些业务层面有意义的语义描述,让普通业务人员可以自助式的使用。当然,智能数据云也提供以关系模型为基础的 SQL 数据服务,供数据专家使用。
数据探索和创新 Exploration & Orchestrating
从已知到未知,基于业务语义层,数据专家可以自由地在企业的数据海洋里畅游,自助式地探索每个数据集,联接来自不同主题的业务对象,研究新的数据规律,发现或创造新的有价值的业务数据。整个过程依托在业务语义层之上,技术层面的数据操作均由自动化完成,不再依赖数据工程师的协助。
AI 增强的系统优化 AI Augmented Optimization
AI 增强的能力不仅是数据运维的自动化,更体现在智能数据云系统的每一个角落。系统可以依据数据的更新和查询规律,自动优化底层存储策略,比如从 Connect 转向 Collect,自动添加合适的索引,优化整体性能和成本,也可以根据用户群体使用数据的习惯,向业务人员推荐最有价值、最值得关注的新数据。
通过降低数据的使用门槛、赋能普通业务人员,智能数据云将极大改变企业使用数据的习惯,带来巨大收益:
数据使用率提升,数据 - 价值转化效率提升
数据是石油,但如果不被使用,数据就只是负债,而非资产。同时数据又可以反复使用,使用越多价值越高。智能数据云让每个业务人员都能使用数据,让数据优化每一个工作岗位成为可能。从仅有十几个数据专家,到有成千上万个平民数据分析师,数据的价值能成百倍的在企业中释放。
赋能业务专家,加速数据创新,快速试错
IDC 预测,未来两年企业数据将以每年 42.2% 的速度增长。但在可用的企业数据中,仅 32% 被投入使用,剩余的 68% 并未得到利用。这是因为能发现新的数据应用场景的、既懂技术、又懂业务的顶尖人才太少了,数据在业务线的推广远远不够。智能数据云的业务语义层,为业务专家们屏蔽了数据的技术细节,让一线的业务尖兵可以独立完成数据的探索和创新,降低了创新的试错成本,能大幅加速新的数据场景的开发速度。只有高速创新,才能持续领跑行业的数字化赛道。
打通业务和技术的统一数据治理
数据治理大家都在说,但在执行层面常常遇到难点。因为数据监管的要求一般在业务层面提出,比如所有的用户识别信息(PII)不得明文展现,而执行落地则在技术层面。如何确保从业务要求到技术执行的翻译过程严谨可信、没有遗漏,一直以来都给企业带来了很大困扰。智能数据云的业务语义层打通了业务元数据和技术元数据,用 AI 增强和自动化的方式解决了这个问题。
统一透明的指标口径,上下高度对齐,力出一孔
智能数据云将业务数据对象集中管理,在其上很容易建立一套统一、透明的指标体系。今天很多企业还受困于传统的管理问题,比如上下如何高度对齐、力出一孔;考察部门与被考察部门对 KPI 口径的理解不一致;管理层、中层、基层对同一个业务目标在不同组织层级上的计算方法不透明、不统一。利用智能数据云的业务数据对象管理能力,这些问题都能容易得到解决。
自动推荐业务数据模型,自动发现最有价值的数据
企业数字化过程中还有一个常见问题,就是很难识别一份数据资产的价值,因而也就无法进一步优化数据资产。智能数据云通过暴露业务数据服务,可以容易地发现使用频度最高、或者管理层最关注的业务数据和指标,进而指导数据资产优化。AI 增强算法还能根据用户群体的使用习惯,自动发现和推荐新的业务数据模型,比如从上万条 SQL 中,发现最有价值的表关联、维度和度量的组合,辅助企业从技术数据资产中提炼出业务数据资产。
用自动化实现无代码 ETL
现今很多企业的大数据部门中,80% 都是数据工程师,而他们的主要工作就是维护成百上千的 ETL 数据管道。这些数据管道有其存在的必要性,它们连通了一个数据实体到另一个数据实体,实现了其间的数据流动和改造。智能数据云通过对业务元数据和技术元数据的穿透管理,可以根据业务定义自动化大部分的 ETL 工作。业务人员只需描述一个业务指标的计算方式,系统就能自动生成代码,完成所需的 ETL 工作。
数据系统的自动降本增速
当分析师角色拓展到普通业务人员,数据服务的并发用户数量也将成百倍的上升。这对于数据库系统而言,无论是并发性能,还是所需的硬件资源成本,都将带来极大的挑战。即便云上资源无限伸缩,简单粗暴的扩容资源,在成本角度也是无法接受的。智能数据云的 AI 增强系统优化能力,可以自动识别高频数据,并针对访问特性进行动态性能优化。例如调用云上额外资源,对热点数据进行充分预计算,添加适合的点查询索引,并将索引移动到靠近计算集群的内存数据库中缓存,通过一系列措施能成百倍的降低单查询成本,并在同时保持超高速的查询响应性能。
技术的发展会随着时代不断迭代和进化,数据仓库也是如此。未来人类使用数据的习惯一定会被创新性技术和服务模式所改变。今天,云计算能够非常快速、低成本、弹性灵活地支撑业务发展。未来,企业使用数据也该如此,无需再关心数据在哪一个平台或者数据源里,只需要关心订单数据资产、实时库存数据模型和增长等业务指标。只需打开电脑,数据就能随取随用,随时随地。
智能数据云,将改变人类使用数据的习惯。
让使用数据变得更加简单,
让最有价值的数据被看见!