跳到主要内容
版本:3.x

构建实时物化视图(Beta)

适用版本Cloud 功能TapData Cloud 为您提供了云端服务,适合需要快速部署、低前期投资场景,帮助您更好地专注于业务发展而非基础设施管理,注册账号即可领取免费的 Agent 实例,欢迎试用。企业版功能TapData Enterprise 可部署在您的本地数据中心,适合对数据敏感性或网络隔离有严格要求的场景,可服务于构建实时数仓,实现实时数据交换,数据迁移等场景。社区版功能TapData Community 是一个开源的数据集成平台,提供基础的数据同步和转换功能,可通过 Docker 一键部署,帮助您快速探索和实施数据集成项目。随着项目或企业发展,您可以平滑升级至 TapData Cloud 或 TapData Enterprise,以获得更多高级功能或服务支持。

物化视图是一种特殊的数据库视图,它能预存复杂查询的结果,大大提升数据读取的速度。而在整合多种数据源或需要确保数据实时更新的场景下,您可以通过 TapData 来创建实时物化视图,帮助您轻松创建、管理物化视图,同时确保数据的准确性和实时性,简化了数据管理和应用开发过程。

背景介绍

随着数据的爆炸式增长,企业和开发者们面临着日益复杂的数据管理挑战。传统的数据处理方式,如手动管理和同步多个相关数据表,不仅效率低下,还可能带来数据一致性的问题。此时,高效和实时的数据整合工具变得尤为关键。

TapData 的实时物化视图功能正是为解决这类问题而设计,帮助您可以轻松地整合不同的数据源,实现源表数据发生变动时自动更新物化视图,确保数据始终保持时效性和准确性。这种自动化和实时性大大简化了数据管理的复杂性,同时提高了查询的效率。

为了使这一功能更加贴近实际应用,我们选择了电商领域的数据作为例子。在电商平台中,订单管理是其核心环节,常见的数据表如订单表、子订单表、货品表、用户信息表和物流表都扮演着重要的角色。假设开发团队决定使用 MongoDB,并计划将上述表格的数据整合到一个新的 order 表中。这样的任务,借助于 Tapdata,将变得轻而易举。

接下来,我们将详细演示如何在电商场景中应用 TapData 的实时物化视图功能,助您深入理解其强大之处。

操作步骤

  1. 登录 TapData 平台

  2. 在左侧导航栏,单击数据转换

  3. 单击页面右侧的构建物化视图,在跳转到任务配置页面完成主表配置。

    1. 选择要作为物化视图来源的数据库和表,本案例中选择 order 表作为主表。

      选择主表

    2. 前面我们提到,我们希望能够构建包含用户信息、货品表等完整数据的物化视图,首先我们单击 + 新增字段,在弹出的菜单中选择内嵌文档并输入字段名称为 user

    3. 在浮现的字段编辑框中,依次完成要关联的库、表和关联条件,本案例中我们关联到 users 表的 user_id

      完成设置后,即可看到 orders 表中多了一个名为 user 的内嵌文档字段。

      添加字段

    4. 增加一个 sub_orders 字段来存储子订单信息,即在 orders 表上单击 + 新增字段, 选择内嵌数组并输入路径 sub_orders,然后参考上一步骤完成表和关联条件的设置。

    5. 将货品和物理信息增加至 sub_orders 字段内,这次需要在 sub_orders 表上单击 + 新增字段,选择平铺并完成表和关联条件的设置。

      完成所有配置后,具体关联关系如下图所示,至此,orders 表包含了全部的表信息。

      物化视图概览

  4. 单击 orders 表编辑框右上角的 + 写入目标,然后选择要写入的 MongoDB 数据源和集合名称。

    如下图所示,我们可以在右侧的目标集合 order_view 中看到其字段类型和详情。

    选择目标表

  5. 单击左上角的 X 图标返回至任务配置页面,单击右上角的启动,即可完成实时物化视图的构建。

    启动成功后会自动跳转至任务监控页面,您可以查看任务的 RPS(每秒处理记录数)、延迟、任务事件等信息。

    查看