来自我们Wren AI团队最常见的问题是:“我们能否直接将Wren AI的文本转SQL解决方案连接到原始数据上?既然现在AI可以搞定一切,我们还需要进行数据建模吗?”尽管现代AI驱动的工具如Wren AI已经极大地改变了我们处理数据的方式,但认为数据建模不再重要是一种误解。相反,干净、结构良好且符合业务需求的数据集比任何时候都更加重要。没有这样的坚实基础,AI解决方案难以将自然语言查询转化为可靠的见解。
在本文中,我们将解释为什么在从文本到SQL的时代,数据建模并未过时,强调仅依赖原始数据的限制,并展示如何借鉴传统BI的最佳做法来优化您的Wren AI实施过程。目标不是要消除建模,而是要利用它,使Wren AI能够提供准确、直观且可操作的分析体验,以满足您的业务用户的期望。
前言数据分析一直就是将原始数据转化为可操作的洞察的过程。传统上,这一过程需要专门的数据分析师和BI开发人员来负责编写复杂的SQL查询,构建语义层,并细致地进行数据建模。近年来,出现了文本到SQL的工具,这些工具承诺开启一个可以直接用自然语言与数据交互的新时代。
但随着这些技术的进步,一个经常出现的问题是:_数据建模还有用武之地吗?_毕竟,如果任何人都可以直接用英语提问并得到答案,为什么还要费心于复杂的建模、语义层和预计算的指标呢?
事实上,数据建模现在比任何时候都更重要。虽然像Wren AI这样的文本到SQL解决方案为数据消费者提供了强大的新界面,但它们最为有效时是建立在强大且结构良好的数据基础之上的。本文将探讨文本到SQL的当前局限性,讨论数据建模的重要性,并提供传统BI实施的具体案例。我们还将概述如何利用现有的建模工作来最大限度地发挥Wren AI的优势——确保数据民主化不会牺牲准确性、一致性和可靠性。
使用Wren AI从数据库中提取数据
从文本到SQL:为何如此流行?传统的商业智能通常涉及专门的工具和技能集:数据分析师编写SQL查询语句,BI开发人员构建仪表板,而数据工程师管理ETL/ELT流程。这意味着产品经理、营销人员或销售主管等业务用户不得不依赖中间人来获取他们所需的数据洞察。Text-to-SQL工具因此出现,让任何人都可以直接与数据互动。
与其直接输入一个简单的命令,用户可以直接输入:
“展示第三季度各产品类别的总收入情况,并特别标注出排名前五的类别。”
一个文本到SQL的工具会解析这个请求并返回结果,同时将其转换为SQL。
然而,有个问题: 工具必须知道“收入”的含义,产品与类别之间的关系,第三季度指的是哪段时间,以及“前几名”意味着什么。如果你的基础数据是一些晦涩难懂的表格和字段名称,例如 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
关联。
将用户不友好的字段名改为更易于理解的名称:将 category_name
改为 product_category
,将 sum(price*quantity)
改为 total_revenue
。
• 保持一致的定义:确保“营收
”始终计算为 sum(数量 * 价格)
,即总和(数量 * 价格),并且产品类别需要标准化。
当你添加像 Wren AI 这样的文本到 SQL 解决方案时,这种工作确保当用户问“上个季度按产品类别划分的总营收是多少?”时,工具能够轻松地将这些术语映射到有意义的定义明确的字段。
2. 语义层次与预计算的度量传统的BI实施通常包括一个语义层或元数据仓库。工具如Looker、Tableau Data Modeling或Power BI的 数据模型,让开发者可以定义指标(如收入、毛利或流失率)和维度(如时间、产品、地区等)。通过这样做,最终用户不需要理解原始SQL或复杂的逻辑——他们可以将预定义的指标和属性拖放到仪表板上。
在 Wren AI 从文本到 SQL 的场景中,这个语义层变得更加关键。用户不再面对仪表板画布,而是通过对话界面与系统交互。当他们询问“月度营收增长”时,Wren AI 会参考预定义的指标定义以及用于计算月度增长的数据模型。如果没有这些信息,文本到 SQL 系统可能无法准确推断如何计算增长或比较月份。
3.: 预处理和确定性数据集在传统的商业智能中,数据工程师经常会预计算某些指标或创建聚合表以加速查询。例如,可以构建一个每日摘要表,存储按类别和日期划分的收入数据。这样做就无需每次查询时重新计算这些总计。
通过使用Wren AI,预计算的且确定性的数据集让自然语言查询更加准确。假设一个用户提出这样的问题:
请告诉我过去三个月订单金额的变化情况。
如果你已经有了预先计算好的每天或每月平均订单价值汇总的表格,Wren AI 可以快速准确地给出回应。如果没有,该工具将需要从原始交易数据中动态计算逻辑,这会增加模糊不清或出错的风险——特别是如果原始数据模型不够完善的话。
4. 治理与一致性良好的数据模型的一个原则是治理。通过标准化定义并保持一致的命名规范,您可以减少混淆。传统的BI项目通常会设立数据治理委员会,遵循命名规范,并详细记录。这些最佳实践并不会因为Wren AI的出现而消失,反而变得更加重要。
为什么呢?因为当有人向Wren AI提问时,他们依赖于熟悉的术语。如果一个团队将“营收”定义为净销售额减去退货,而另一个团队将“营收”定义为毛销售额,系统需要知道使用哪个定义。数据建模与治理确保这些定义被标准化了,从而创建一个统一的真实来源,这样Wren AI可以自信地引用。
借鉴传统BI:适用于Wren AI的示例来谈谈一些常见的BI实施场景,以及这些场景如何映射到Wren AI的设置。
场景一:销售汇报传统BI方法:
- 数据建模师创建了一个
fact_sales
表,其中包括date_key
、product_key
、customer_key
以及诸如sales_amount
和quantity_sold
等度量。 dim_date
、dim_product
和dim_customer
表标准化了日期、产品和客户的表示。- BI 工具引用这些维度和事实来生成显示收入随时间变化的趋势、最畅销产品或最活跃客户的仪表板。
威林AI思路:
- 在插入 Wren AI 之前,请确保您的
fact_sales
和dim_product
表既稳定又清晰定义,包含所有贵公司关心的标准指标。 - 在适当的地方预先计算逻辑:例如,一个按日期和产品类别聚合的总销售额表
fact_daily_revenue
。 - 在这些数据集准备好的情况下,当用户询问“展示上个月收入最高的五个产品类别”的问题时,Wren AI 可以将“上个月”映射为
date_key
过滤器,将“收入”映射到sales_amount
,将“产品类别”映射到dim_category
表,从而立即返回正确的答案。
传统BI方法:
- 分析师定义了“流失”的含义:例如,一个在过去的90天内没有进行购买的客户。
- 他们创建了一个预计算了每个月是否活跃或流失的流失标志或指标的
fact_customer_activity
表。 - BI工具中的报告允许用户根据流失状态过滤客户,按地区或行业对客户进行分类,并分析随时间的变化趋势。
Wren AI方法:
- 将用户流失的定义纳入你的语义模型中。在你的数据管道中预计算一个标记为
churned_customer
的布尔列或分段标签。 - 当用户提问“上一季度与前一季度相比,有多少客户流失?”时,Wren AI 可以根据
churned_customer
标记和时间维度提供准确的答案。 - 如果没有事先定义,Wren AI 就不得不猜测流失的含义,这会导致结果出现不一致或错误。
传统的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 将不得不尝试从原始表中推断它,这可能会导致混淆或误解。
一个常见的误解是,如果你的数据已经存储在关系型数据库中,就万事OK了。但是,原始的关系数据库设计通常是为了事务处理设计的,而不是为了商业智能。 表可能被复杂地规范化,或者使用开发人员能理解的术语命名,而不是商业术语。外键和关系可能存在,但对于不懂技术的人来说却难以理解。
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 时,观察用户是如何与它互动的,看看他们是否在问一些无法直接映射到你模型上的问题。可能需要添加新的语义定义或预先计算不同的指标。就像传统 BI 一样,随着业务的变化,数据模型也会不断进化。不断改进你的模型,确保 Wren AI 保持准确和有价值。
将商业智能变成更自然的语言交互不妨将文本到SQL转换和数据模型视为互补的部分,而不是对立面。传统的BI实践——ETL/ELT管道、语义层、数据集市和聚合表——打下了基础,使得Wren AI能够实现其易于访问的分析的承诺。
基于经过验证的数据建模技术,Wren AI 成为您的下一代 BI 接口,让任何人都能轻松访问到精心整理和明确定义的数据。您的分析环境不再是让人摸不着头脑的表格堆砌,而是 Wren AI 轻松驾驭的丰富且有意义的数据集。
数据建模依然活跃且至关重要,比任何时候都更加重要。像 Wren AI 这样的文本转 SQL 的工具并没有淘汰数据建模;它们提高了它的地位。这些新工具依赖于一直以来支撑有效商业智能工作的努力——干净且结构良好的数据模型、预先定义的业务规则、语义层次以及预先计算的指标。
- 没有数据建模,Wren AI 在应对模糊的术语、不一致的定义和不清晰的关系方面会遇到困难。
- 利用数据建模,Wren AI 表现优异,将自然语言问题转化为对您准备好的数据集的准确见解。
换句话说,数据建模并没有消失;它是让文本到SQL接口大放异彩的核心支撑。通过将传统BI实现中的知识和经验——例如ETL管道、语义层和指标定义——与Wren AI的前沿功能相结合,你可以创建一个无缝且自助的分析体验,既用户友好又满足企业级要求。
要点:
- 当文本到SQL工具建立在良好建模且面向业务的数据之上时,它们表现更好。
- 预先计算常见指标,定义一致的业务规则,并将数据组织成易于理解的模式。
- 从传统BI中借鉴最佳实践,比如语义层、数据治理和汇总表,为Wren AI提供所需上下文。
- 随着业务需求的变化,不断优化您的数据模型,以确保自然语言查询始终是一种获取洞察的可靠方式。
最终,数据建模仍然是指导你的组织从原始信息到可操作知识的蓝图。通过在这一坚实基础上加入Wren AI,你可以将传统BI的严谨性和可靠性与自然语言查询的便捷性相结合。
如果你还没有尝试过语义优先的文本转SQL工具所带来的魔力,能够提升你的数据分析体验,我们邀请你探索Wren AI🙌。
你也可以深入了解我们GitHub上的 Wren AI 开源项目😍,开始构建一个更直观、更面向未来的数据环境今天。
共同学习,写下你的评论
评论加载中...
作者其他优质文章