文本到 SQL 的数据建模已死?Wren AI 如何连接现代商业智能与传统实践
- Rifx.Online
- Data Science , Programming , Technology/Web
- 26 Dec, 2024
数据建模在文本到SQL时代是否已经过时?Wren AI如何弥合现代商业智能与传统实践之间的差距
来自Wren AI团队的用户最常问的问题是:“我们可以直接将Wren AI的文本到SQL解决方案连接到我们的原始数据吗?现在AI可以处理一切,数据建模还有必要吗?”虽然现代AI驱动的工具如Wren AI确实改变了我们与数据互动的方式,但认为数据建模不再重要是一个误解。相反,干净、结构良好且以业务为导向的数据集比以往任何时候都更为重要。如果没有这个坚实的基础,AI解决方案在将自然语言查询转化为可靠的洞察时就会遇到困难。
在本文中,我们将解释为什么在文本到SQL时代数据建模并未消亡,强调仅依赖原始数据的局限性,并展示如何借鉴传统商业智能最佳实践来优化您的Wren AI实施。我们的目标不是消除建模,而是利用建模,使Wren AI能够提供准确、直观且可操作的分析体验,以满足您的业务用户的期望。
前言
数据分析一直是将原始信息转化为可操作洞察的过程。历史上,这一过程需要专业的数据分析师和BI开发人员,他们编写复杂的SQL查询,构建语义层,并仔细建模数据。近年来,文本到SQL工具的出现,承诺开启与数据直接、自然语言交互的新纪元。
但是,随着这些技术的发展,一个问题常常浮现:数据建模已经死了吗? 毕竟,如果任何人都可以用简单的英语提问并获得答案,为什么还要费心去进行复杂的数据建模、语义层或预计算指标呢?
现实是,数据建模比以往任何时候都更为重要。虽然像Wren AI这样的文本到SQL解决方案为数据消费者提供了强大的新界面,但它们在建立在强大且结构良好的数据基础之上时最为有效。在本文中,我们将探讨文本到SQL的当前局限性,讨论数据建模为何仍然至关重要,并提供来自传统BI实施的具体例子。我们还将概述如何利用现有的建模工作来最大限度地发挥Wren AI的作用——确保数据民主化不会以牺牲准确性、一致性和可靠性为代价。
文本转 SQL 的崛起:为何如此受关注?
传统的商业智能通常涉及专业工具和技能集:数据分析师编写 SQL 查询,BI 开发人员创建仪表板,数据工程师管理 ETL/ELT 管道。这意味着业务用户——产品经理、市场专业人士或销售高管——必须依赖中介来获取所需的洞察。文本转 SQL 工具作为对这一瓶颈的回应应运而生,承诺让任何人都能直接与数据互动。
用户可以简单地输入:
“显示 Q3 按产品类别的总收入,并突出显示前五个类别。”
文本转 SQL 工具会解析此请求,将其转换为 SQL,并返回结果。
然而,事情并非如此简单: 该工具必须了解“收入”的含义,产品与类别之间的关系,Q3 指的时间范围,以及“前五个”的含义。如果您的基础数据是命名模糊的表和列的复杂网络,例如 tbl_trx_2023
、cust_id_num
、cat_desc_var1
——文本转 SQL 引擎将会遇到困难。它可能会误解字段,产生错误的逻辑,或者无法返回任何有意义的结果。
这就是传统数据建模发挥作用的地方。
数据建模为何仍然重要
1. 澄清商业概念
在传统的BI设置中,数据建模将原始源表转换为适合业务的数据集。例如,假设您有一个存储产品销售的事务系统。您的原始数据可能分布在多个表中:
- 订单表包含
order_id
、customer_id
、product_id
、quantity
、price
- 产品表包含
product_id
、category_id
、sku
、description
- 类别表包含
category_id
、category_name
- 客户表包含
customer_id
、region
、industry
对于数据库管理员或数据工程师来说,这些模式可能很简单。但对于只想知道按产品类别计算的总收入的业务用户来说,这并不直观。在传统的BI环境中,数据建模人员会:
• 逻辑连接这些表,并创建一个事实表 fact_sales
,与 dim_products
、dim_categories
和 dim_customers
关联的关键维度。
• 将字段重命名为更符合用户需求的名称:product_category
替代 category_name
,total_revenue
替代 sum(price*quantity)
。
• 应用一致的定义:确保“revenue
”始终表示 sum(quantity * price)
,并且产品类别是标准化的。
当您在其上添加像Wren AI这样的文本到SQL解决方案时,这种建模工作确保当用户询问“我们上个季度按产品类别的总收入是多少?”时,该工具可以轻松地将这些术语映射到定义良好且有意义的字段。
2. 语义层和预计算指标
传统的商业智能实施通常包括语义层或元数据仓库。像 Looker、Tableau 数据建模或 Power BI 的数据模型等工具允许开发人员提前定义度量(如收入、利润或流失率)和维度(时间、产品、地区)。通过这样做,最终用户不需要理解原始 SQL 或复杂的逻辑——他们可以将预定义的度量和属性拖放到仪表板画布上。
在 Wren AI 文本到 SQL 的场景中,这个语义层变得更加重要。用户拥有的是一个对话界面,而不是仪表板画布。当他们询问“环比收入增长”时,Wren AI 会查找预定义的指标定义和表达环比增长计算方式的数据模型。如果没有这个,文本到 SQL 系统可能会难以正确推断如何计算增长率或比较月份。
3. 预计算和确定性数据集
在传统的商业智能中,数据工程师通常会预计算某些指标或创建汇总表以加快查询速度。例如,您可能会构建一个每日汇总表,存储按类别和日期的收入。通过这样做,您可以消除每次有人运行查询时重新计算这些总数的需要。
使用 Wren AI,预计算和确定性数据集使自然语言查询更加准确。想象一下,一个用户问:
“给我展示一下平均订单价值及其在过去三个月中的变化。”
如果您已经预计算了一个包含平均订单价值的每日或每月汇总的表,Wren AI 可以快速且准确地响应。如果没有,该工具将不得不从原始交易数据动态计算逻辑,这增加了模糊性或错误的风险——尤其是当原始数据没有完美建模时。
4. 治理与一致性
健全数据模型的原则之一是治理。通过标准化定义并确保一致的命名约定,您可以减少混淆。传统的商业智能项目通常涉及数据治理委员会、命名约定和细致的文档记录。这些最佳实践在 Wren AI 中并不会消失——它们变得更加重要。
为什么?因为当有人向 Wren AI 提问时,他们依赖于被广泛理解的术语。如果一个团队将“revenue”用来表示净销售额减去退货,而另一个团队将“revenue”用来表示总销售额,系统需要知道使用哪个定义。数据建模和治理确保这些定义是标准化的,从而创建一个 Wren AI 可以自信引用的单一真实来源。
借鉴传统BI:适用于Wren AI的示例
让我们考虑一些传统BI实施中的典型场景,以及它们如何映射到Wren AI的设置。
场景 1:销售报告
传统 BI 方法:
- 数据建模人员创建一个
fact_sales
表,其中包括date_key
、product_key
、customer_key
以及sales_amount
和quantity_sold
等度量。 dim_date
、dim_product
和dim_customer
表标准化了日期、产品和客户的表示方式。- BI 工具引用这些维度和事实来创建显示收入随时间变化、热门产品或主要客户的仪表板。
Wren AI 方法:
- 在使用 Wren AI 之前,确保你的
fact_sales
和dim_product
表是稳定的、定义良好的,并包含你业务关心的所有标准指标。 - 在有利的情况下预计算逻辑:例如,一个
fact_daily_revenue
表,它按日期和产品类别汇总总销售额。 - 在这些数据集到位后,当用户询问“显示上个月按收入排名前五的产品类别”时,Wren AI 可以将“上个月”映射到
date_key
的过滤器,将“收入”映射到sales_amount
,将“产品类别”映射到dim_category
表,返回即时、正确的结果。
场景 2:客户细分与流失分析
传统 BI 方法:
- 分析师定义“流失”的含义:例如,过去 90 天没有购买的客户。
- 他们创建一个
fact_customer_activity
表,预计算标志或指标,以识别客户每个月是活跃还是流失。 - BI 工具中的报告让用户可以按流失状态筛选客户,按地区或行业进行细分,并分析随时间的变化。
Wren AI 方法:
- 将流失定义纳入您的语义模型。在数据管道中预计算一个
churned_customer
列作为布尔值或细分标签。 - 当用户询问“与上个季度相比,上个季度有多少客户流失?”时,Wren AI 可以查找
churned_customer
标志和时间维度,以提供准确的结果。 - 如果没有这个预定义,Wren AI 将不得不猜测流失的含义,导致结果不一致或不正确。
场景 3:库存和供应链 KPI
传统 BI 方法:
- 数据工程师构建一个
fact_inventory
表来跟踪库存水平、再订货点和缺货情况。 - 一个
dim_product
和dim_supplier
帮助将产品与供应商关联,而dim_date
提供时间维度。 - 分析师在一个单独的汇总表中预计算诸如“
stockout_rate
”或“average_lead_time
”等指标。
Wren AI 方法:
- 继续依赖这些预计算和良好建模的表。
- 例如,如果你有一个表
fact_inventory_agg
存储每日库存水平和缺货计数,Wren AI 可以立即回答:“上周供应商 X 的缺货率是多少?” - 如果你没有定义和预计算“缺货率”(也许它是
stockout_count / total_items_sold
),Wren AI 将不得不尝试从原始表中推断,这可能会导致混淆。
为什么将数据存储在结构化数据库中还不够
一个常见的误解是,如果你的数据已经在关系数据库中,你就可以高枕无忧了。但原始的关系模式通常是为事务处理设计的,而不是为了商业智能。 表可能以复杂的方式进行规范化,或使用开发者友好的术语而不是商业术语命名。外键和关系可能存在,但对非技术用户来说可能不清晰。
Wren AI 的优势在于自然语言查询——而不是神奇地从晦涩的模式中推断你的业务规则。通过将原始表转换为面向业务的数据集,你减少了文本到 SQL 引擎的认知负担。当列和表具有有意义的名称时——sales_amount
而不是 col_x56
,product_category
而不是 cat_desc_var1
——Wren AI 可以更有效地将用户意图映射到数据元素。
此外,在你的转换管道中预计算逻辑消除了模糊性。如果你知道总是将“上个季度的收入”测量为上个季度第一天和最后一天之间的销售总和,你可以将这些汇总存储在以季度为键的表中。然后,Wren AI 只需对正确的数据集应用过滤器。这种预计算确保自助服务用户在每次查询时都能获得准确的结果,而无需每次都与定义或原始数据进行斗争。
从 Wren A 中获得最大收益的实用技巧
1. 从强大的 ETL/ELT 基础开始
您的管道应该已经在提取、转换和加载数据到一个良好组织的模式中。花时间重命名列、清理数据异常并连接相关表。正如传统的 BI 工具受益于干净、建模的数据,Wren AI 也是如此。
2. 实现一个强大的语义层
如果您的组织在 Looker 中使用 LookML,在 Power BI 中使用数据模型,或在 Tableau 中使用语义层,适用的原则是相同的。以与您的业务相一致的方式定义您的度量、维度和层级。例如,将“年度经常性收入 (ARR)”存储在一个单独的度量表中或将其标记为已知度量。这样,当用户查询时,Wren AI 就能轻松识别“ARR”。
3. 预计算常见指标
识别您的业务用户经常询问的主要查询和指标。他们是否经常分析月度经常性收入、平均订单价值、流失率或转化率?在您的数据管道中预计算这些指标。这可能意味着创建按时间段、客户细分或产品类别分类的汇总表。结果:从 Wren AI 获得更快、更确定的答案。
4. 标准化业务逻辑和术语
数据建模包括强制执行一致的命名约定和文档。确保您有一个数据字典,解释每个度量和维度的含义。该字典可以指导技术实施者,并在用户与 Wren AI 互动时作为参考。您的术语越一致,Wren AI 正确解释查询的难度就越小。
5. 基于反馈进行迭代和优化
当你首次部署 Wren AI 时,观察用户如何与之互动。他们是否提出了与你的模型不完全匹配的问题?也许你需要添加一个新的语义定义或预计算一个不同的指标。就像传统的商业智能一样,数据模型会随着业务的变化而演变。持续优化你的模型可以确保 Wren AI 保持准确和有价值。
将传统商业智能转变为自然语言体验
与其将文本转SQL和数据建模视为对立的力量,不如将它们视为互补的。传统商业智能实践——ETL/ELT管道、语义层、数据集市和汇总表——为Wren AI提供可访问分析的承诺奠定了基础。
通过基于经过验证的数据建模技术,Wren AI成为您下一代商业智能界面,使任何人都能利用精心策划、明确定义的数据。您的分析环境不再是令人困惑的表格集合,而是一组丰富、有意义的数据集,Wren AI可以轻松导航。
数据建模依然存在且比以往任何时候都更重要
像 Wren AI 这样的文本到 SQL 解决方案并没有消灭数据建模;相反,它们提升了数据建模的重要性。这些新工具依赖于一直以来推动有效商业智能的辛勤工作——干净、结构良好的数据模型、预定义的业务逻辑、语义层和预计算的指标。
- 没有数据建模,Wren AI 在面对模糊的术语、不一致的定义和不清晰的关系时会遇到困难。
- 有了数据建模,Wren AI 能够蓬勃发展,将自然语言问题转换为针对您精心准备的数据集的准确洞察。
换句话说,数据建模并没有消亡;它是让文本到 SQL 接口闪耀的基本支柱。通过将传统商业智能实施的智慧——例如 ETL 管道、语义层和指标定义——与 Wren AI 的尖端能力相结合,您可以创建一个无缝的自助分析体验,既用户友好又符合企业级标准。
关键要点:
- 基于良好建模且面向业务的数据构建的文本到 SQL 工具表现出色。
- 预计算常见指标,定义一致的业务逻辑,并将数据组织成直观的模式。
- 借鉴传统商业智能的最佳实践——语义层、数据治理和汇总表——为 Wren AI 提供所需的背景。
- 随着业务需求的演变,持续优化您的数据模型,确保自然语言查询始终是获取洞察的可靠途径。
最终,数据建模依然是指导您的组织从原始信息到可操作知识的蓝图。通过在这个坚实基础上利用 Wren AI,您将传统商业智能的严谨性和可靠性与自然语言查询的可访问性和便利性相结合。
如果您还没有体验过能够改变您分析体验的语义优先文本到 SQL 解决方案的魔力,我们邀请您探索 Wren AI 🙌。
您还可以深入了解我们在 Wren AI OSS on GitHub 😍 的开源产品,今天就开始构建一个更直观、未来-proof 的数据环境。