近年来,“数据建模已死”的论调愈演愈烈。人工智能的崛起,尤其是大型语言模型(LLMs)的兴起,似乎要求使用广泛、非规范化的数据集,这些数据集需要快速生成且易于摄取。这推动了“单一大型表”(OBT)方法的流行——将所有数据扁平化为单一宽表。
其吸引力显而易见:减少连接操作、加快原型开发、降低复杂性,但是却隐藏着脆弱的基础。OBT牺牲了结构、上下文和语义,它们可能适用于特定场景,但在规模、治理和复用压力下会显得力不从心。缺乏一致的元数据或共享的业务逻辑,它们会成为负担。
问题不仅仅在于OBT本身,而是认为数据建模可有可无的思维方式。但建模并未过时,它也在不断演进,语义层正是将现代建模实践在AI和数据民主化时代付诸实践的机制。
不限于大型表与语义层之间
这不限于大型表与语义层之间,更深层的讯息是:语义层代表了现代生态系统中数据建模与消费的正确方法。它并非否定传统模型,而是扩展并尊重这些模型,为数据生产者与消费者提供一个共享且易于访问的语言。
语义层保留了建模的严谨性,并通过上下文意义加以增强。它防止团队依赖脆弱的临时捷径,并提供一种可扩展的方式,使数据变得有用、可信且可复用。
为什么“一个大表”不够用
要理解OBT的局限性,可以将其与现实世界的企业需求进行对比:
缺乏可扩展性:随着数据的演变或扩展,OBT难以维护。
没有共享定义:缺乏一致的语义上下文,“收入”或“客户”对不同团队可能意味着不同的含义。
治理薄弱:扁平化数据会抹去对数据血缘、可审计性和合规性至关重要的关系。
AI摩擦:AI系统可能在缺乏语义指导的情况下读取OBT,但可能理解错误。导致误解、错误假设和查询失败。
OBT可能在早期原型中有效,但可持续、可信的洞察需要更结构化的方法。
语义层实际上是做什么
语义层是一个逻辑、可重用的接口,将原始数据转换为有意义的业务定义。它作为生产者与消费者之间的契约,使所有人,包括工程师、分析师和AI代理都能使用相同的数据语言。
无需在每个仪表盘或查询中重复定义指标逻辑,语义层允许团队一次性定义“客户终身价值”、“月收入”或“活跃用户”等概念,并一致访问它们。
这使得:
工具间的清晰性:一个指标定义可用于SQL、仪表盘、笔记本或AI聊天。
数据合同:共享、版本化的逻辑,支持治理和信任。
更快的入职:新用户无需依赖内部知识即可快速理解数据。
语义层不会取代数据模型,它基于数据模型构建。它为所有人(包括非技术用户和AI)创建可访问、可组合的界面。
更丰富的数据理解语言
与OBTs仅展示列不同,语义层阐述这些列的含义:
这是事实还是维度?
如果是事实,应进行求和、计数还是以其他方式聚合?
维度是否适用于所有粒度级别,还是仅在特定上下文中适用?
这种上下文层次是革命性的。它使业务用户和分析师能够:
无需逆向工程逻辑即可构建仪表盘。
依赖支持语义标准的工具自动生成报告。
避免重复发明指标计算方法。
使数据探索直观易懂,无需深入研究SQL或BI配置。
数据作为产品的使能者
语义层是“数据作为产品”概念的基础。数据团队不再交付脆弱的仪表盘或原始数据集,而是能够生产出干净、可复用、有文档记录的数据产品。
这些数据产品内置了明确的含义。业务逻辑被嵌入其中,而非隐藏在孤立的文档中,这显著降低了采用和跨团队协作的摩擦。
语义层在现代架构(如数据网格)中充当连接组织,其中去中心化所有权和自助服务是核心原则。它们允许各个团队发布定义明确的数据产品,同时确保组织内部的互操作性和一致性。
为什么人工智能在语义层的加持下表现更佳
存在一种误解,认为人工智能仅仅需要“更多数据”。事实上,人工智能依赖于上下文丰富且结构清晰的数据。大型语言模型(LLMs)虽然能够解析扁平化的表格,但若缺乏指导,它们可能会误解指标或推导出无效的逻辑。
语义层为人工智能提供了所需的框架:
指标与维度之间的清晰关系
业务逻辑定义(例如如何计算流失率)
用于查询验证或澄清的元数据注释
这提升了自然语言接口的性能,提高了人工智能的准确性,并减少了对提示工程的依赖。因此,语义层是人工智能的使能器,将原始输入转化为可靠且可解释的结果。
超越AI:实现真正的数据民主化
尽管语义层提升了AI准备度,但其价值更为广泛:
赋能业务用户:无需SQL即可用自然语言探索数据。
加速交付:分析师无需从头重建逻辑。
提升合规性:审计人员可追溯指标至定义。
支持数据产品:团队交付可维护、即用型数据集。
这一从仪表盘向定义明确、可复用数据资产的转变,是现代数据战略的基石。它将数据工作从孤立项目转变为产品化、可扩展的学科。
语义层 ≠ 数据目录:互补而非可互换
人们容易将数据目录与语义层混淆,但它们在数据架构中扮演着截然不同的角色。
功能 数据目录 语义层
主要作用 发现与文档化 定义与操作逻辑
关注点 元数据、血统、所有权 指标、关系、使用上下文
受众 数据管理员、IT、合规 分析师、工程师、AI系统、业务用户
可操作性 描述现有内容 定义数据应如何使用
将目录视为图书馆索引,它们告诉你有哪些数据可用以及数据的来源。语义层则相当于使用手册,它们解释如何有效使用这些数据。
虽然两者理想情况下应该集成,但若你的目标是立即实现AI、自助服务和可信洞察,语义层才是更具操作性的基础。
演进建模,而非放弃建模
当前存在一种压力,要求“简化一切”以加快模型速度。然而,这种压力不应与放弃建模的需求混为一谈。相反,我们必须让建模进化。语义层正是这种进化的体现:
它保留了传统数据建模的严谨性
它为非技术用户提供了可访问性
它为人工智能和自动化嵌入意义
今天投资于语义清晰度的组织将更好地应对明天的复杂性,扩展数据产品、构建人工智能解决方案或管理分布式架构。
如何开始
你不需要彻底改造整个数据平台,首先问自己:
哪些指标被重复使用最多——且定义最不一致?
分析师被反复问到哪些问题?
有哪些数据您已经信任但难以解释?
然后:
梳理关键业务概念
在共享的语义模型中定义核心指标。
在某个分析或人工智能工具中进行试点
将语义层视为一个动态资产——受治理、维护并版本化。
最重要的是,不要将意义外包给元数据,也不要指望人工智能会“自行解决”。定义它。发布它。使用它。
现代数据平台和语义层工具现在提供AI辅助功能,以帮助生成语义模型的初始版本。虽然这些输出尚未准备好投入生产,但它们可以在早期开发阶段显著减少手动工作。这些工具还支持数据产品的持续演进,通过检测并通知团队结构变化。
我们目睹了缺乏语义层如何导致脆弱的仪表盘、孤岛式逻辑和重复工作。但我们也看到,一个实施良好的语义层如何将数据转化为产品,加速洞察生成,并改善业务和技术团队之间的协作。因为未来并非扁平的 —— 它是经过建模的、富有意义的,并且是为机器所准备的。
作者Alexey Smirnov 是 DataArt 的解决方案数据架构师,拥有超过 18 年的经验,专精于现代云数据平台、可扩展数据架构以及数据建模推广。