SheepNav
新上线今天0 投票

Amazon QuickSight 多数据集关系的数据建模最佳实践

从预连接表到运行时关联:QuickSight 数据建模的范式转变

商业智能分析师在启动每个分析项目时,几乎都会遇到同样的困境:回答一个业务问题所需的数据分散在多个表中。销售交易、客户人口统计、产品属性、退货、预测和运营指标各自占据不同的数据源。以往,在 Amazon QuickSight 中组合这些表需要在分析开始前将所有数据预连接成宽表、反范式化的数据集。这种做法虽然可行,但迫使数据建模决策前置,导致不同粒度的度量重复、维护开销增加,并且通常需要为几乎每个报表场景准备不同的数据集。

今天,Amazon QuickSight 正式推出多数据集关系功能。这项新能力允许用户在 QuickSight 数据集之间定义逻辑关系,并在查询时执行运行时连接。您不再需要提前扁平化表,而是将每个表保留为独立的 QuickSight 数据集,然后在 QuickSight Topic 中声明这些数据集之间的关联关系。QuickSight 会根据可视化、计算字段、筛选器或自然语言问答的需求,动态构建所需的连接。

核心优势

  • 更少的前期数据准备:关系只需定义一次,QuickSight 在分析时仅连接相关表。
  • 保留原始粒度:每个数据集维持自身的细节级别,避免跨粒度重复度量。
  • 跨分析复用:一个包含已定义关系的 Topic 可服务于多个分析场景,无需重建数据集。
  • 简化治理:在单个数据集级别管理权限、转换和业务逻辑。
  • 独立刷新调度:根据数据变动频率,按不同节奏(小时、天、月)分别摄取数据。
  • 运行时行级安全:行级安全(RLS)规则在运行时连接时执行,确保数据访问策略跨数据集一致。

数据建模最佳实践

为了充分发挥多数据集关系的价值,建议遵循以下设计原则:

  1. 以主题域划分数据集:将业务实体(如客户、产品、销售)分别建模为独立数据集,以保持逻辑清晰和复用性。
  2. 明确关系类型:根据业务逻辑使用一对多、多对一或多对多关系。例如,一个客户可以有多个订单(一对多),一个订单属于一个客户(多对一)。
  3. 避免循环依赖:在定义关系时确保无闭环,防止查询歧义或性能问题。
  4. 优先使用星型模式:事实表(如销售)与维度表(如时间、客户)建立关系,这是分析型查询的最优模式。
  5. 处理粒度和聚合:当数据集粒度不同时,在计算字段中明确聚合逻辑,例如使用 SUM 或 AVERAGE 处理事实表度量。

支持的模式

QuickSight 多数据集关系支持以下常见模式:

  • 星型模式:一个事实表关联多个维度表。
  • 雪花模式:维度表进一步关联子维度表。
  • 多事实表:多个事实表共享维度,例如销售和退货表都关联时间维度。

结语

Amazon QuickSight 的多数据集关系功能标志着 BI 工具在数据建模灵活性上的重要进步。通过将连接逻辑从 ETL 阶段转移到查询运行时,分析师可以更敏捷地响应业务需求,同时保持数据治理的简洁性。对于希望减少数据准备时间、提升分析复用性的团队来说,这是一个值得投入的方向。

关于每种模式的具体实现和高级技巧,可以参考本系列的第二篇文章:《Amazon QuickSight 多数据集关系的数据建模模式》。

延伸阅读

  1. 微软加入AI省钱大军:转向自家模型,减少依赖OpenAI和Anthropic
  2. Discord 承认 AI 审核系统误封 8000 多名用户:棋盘、表格等无害图片被误判
  3. Anthropic 将 Claude Cowork 扩展到移动端和网页版
查看原文