Teradata QueryGrid 包括以下组件:
组件 | 说明 |
---|---|
Teradata QueryGrid 管理器 | 安装在专用物理机(TMS 或服务器)或 VM 上的软件,用于定义、管理和监控 Teradata QueryGrid。 安装 Teradata QueryGrid 管理器后,请在 Viewpoint 中进行配置,然后使用 QueryGrid 组件安装并配置其余 Teradata QueryGrid 组件。 |
数据中心 | 表示数据源(系统)和 Teradata QueryGrid 管理器实例的物理位置或区域的逻辑名称。可用时,数据源节点会与共享同一数据中心的 QueryGrid 管理器进行通信。 |
数据源 | 包含共享同一软件平台的一个或多个数据源节点(例如 Teradata 系统节点、Hadoop 集群中的节点或 Presto 集群中的节点)的系统。 |
网桥 | 包含一部分数据源节点或非数据源节点的系统,用于在没有直接网络连接的数据源系统之间提供连接。 |
网络结构 | 不同系统中运行在同一端口上侦听的兼容 Teradata QueryGrid tdqg-fabric 软件版本的一个或多个数据源节点。 仅支持涉及 Teradata Connector 的链接。例如,不支持发起程序或目标连接器都不是 Teradata Connector 的链接,如 Hive 到 Oracle 链接 |
连接器 | 数据源的适配器软件,用于与同一个 Teradata QueryGrid 网络结构中的其他连接器进行数据类型映射、转换和通信。 发起连接器是您为启动查询而与之交互的连接器,目标连接器是随后在远程端触发以执行大部分查询处理的连接器。支持以下连接器:
|
链接 | 指定可以互相通信的连接器并定义数据传输规则的已命名配置。 |
Teradata QueryGrid 管理器
- 管理和监控 Teradata QueryGrid
- 安装、配置和升级 Teradata QueryGrid
- 启动链接、连接器或带宽诊断检查
- 汇总查询性能指标
- 管理密钥以安全访问 Teradata QueryGrid
- 捕获从 Teradata QueryGrid 组件生成的日志
- QueryGrid 管理器硬件规格
- 网络结构中的数据源节点数
- QueryGrid 查询量
- 高可用性(至少需要两个 QueryGrid 管理器实例,请参阅 QueryGrid 管理器大小调整)
- 监控 QueryGrid 查询
- 接收有关问题情况的预警
- 更改配置
- 为失败的查询创建捕获支持包
- 运行诊断检查
当所有 QueryGrid 管理器都处于脱机状态时,只要查询路径中的 QueryGrid 网络结构服务没有重新启动,QueryGrid 查询就可以继续运行。
QueryGrid 管理器集群
如果安装了多个 Teradata QueryGrid 管理器实例,则应为这些 Teradata QueryGrid 管理器实例创建一个集群以实现高可用性和可扩展性。建立集群可确保所有 Teradata QueryGrid 管理器实例具有相同的配置,以便每个实例都能管理和监控 Teradata QueryGrid。可以创建多个 QueryGrid 管理器集群,以保持各个生产和测试环境彼此独立。
创建集群后,QueryGrid 管理器实例会自动进行故障转移和恢复。如果一个实例脱机,该集群中的其他实例会接管该故障实例中的工作负载。一旦发生故障的 QueryGrid 管理器恢复联机,它将自动恢复脱机期间进行的任何新配置更新,并继续执行其发生故障之前的工作负载。
数据中心
数据中心是 QueryGrid 连接的系统所在的位置或区域。通过将 QueryGrid 管理器和 QueryGrid 连接的系统与数据中心相关联,QueryGrid 便可确保节点和 QueryGrid 管理器之间传输的信号检测、配置更新、查询指标和日志始终留在该数据中心或区域的本地。
在物理机上安装 Teradata QueryGrid 管理器软件时,将使用 TMS、VM 或服务器的主机名创建缺省数据中心。缺省数据中心名称显示在 QueryGrid 组件中。
- 在 QueryGrid 门户组件中创建新的数据中心
- 如果您有两个或更多 Teradata QueryGrid 管理器实例,可以在建立集群的过程中创建新的数据中心。
数据源
可将以下数据源系统添加到 Teradata QueryGrid 中。每个数据源系统必须具有自己的连接器。
数据源 | 连接器 |
---|---|
Teradata 高级 SQL 引擎 | Teradata |
Hadoop | Hive、Spark SQL、Presto |
独立 Presto | Presto |
Oracle 驱动程序节点 | Oracle |
BigQuery 驱动程序节点 | BigQuery |
Generic JDBC 驱动程序节点 | Generic JDBC |
在 Teradata QueryGrid 配置期间,系统中的每个节点均会安装节点和网络结构软件 - 软件仅安装在 Oracle、BigQuery 或通用驱动程序节点上的 Oracle、BigQuery 和通用数据源除外。节点软件用于管理节点上的网络结构和连接器。
网桥
- 一部分运行 QueryGrid节点软件的数据源节点。数据源节点可以是发起程序系统和/或目标系统。
- 一组运行 QueryGrid 节点软件的非数据源节点。非数据源节点不需要连接器软件,因为它们没有需要处理的本地数据。Hadoop 系统中的边缘节点就是一个非数据源节点的示例。
对于添加到某个链接的每个网桥系统,都需要一个新的跃点配置,以指定发起端网络、目标端网络和该跃点用于传输数据的通信策略。跃点是两个直接连接的数据源或网桥系统之间的数据传输。跃点数基于网桥数。
网桥数 | 定义的跃点数 |
---|---|
无网桥 | 一个跃点(发起程序和目标之间的跃点) |
一个网桥 | 两个跃点(发起程序和网桥之间的跃点、网桥和目标之间的跃点) |
两个网桥 | 三个跃点(发起程序和第一个网桥之间的跃点、第一个网桥和第二个网桥之间的跃点、第二个网桥和目标之间的跃点) |
三个网桥 | 四个跃点(发起程序和第一个网桥之间的跃点、第一个网桥和第二个网桥之间的跃点、第二个网桥和第三个网桥之间的跃点、第三个网桥和目标之间的跃点)。 |
四个网桥 | 五个跃点(发起程序和第一个网桥之间的跃点、第一个网桥和第二个网桥之间的跃点、第二个网桥和第三个网桥之间的跃点、第三个网桥和第四个网桥之间的跃点、第四个网桥和目标之间的跃点)。 |
网络结构
- 支持在同一类型(如 Teradata 和 Teradata)或不同类型(如 Teradata 和 Presto)的配对数据源节点之间进行通信
- 允许用户发起一个 SQL 查询,将网络结构中的两个或更多数据源联接在一起
在网络结构的数据源节点之间传输的数据大小没有限制。
- 使 Teradata QueryGrid 连接器能够:
- 彼此并行通信
- 高效运行、处理和传输数据
- 监控每个查询的网络结构使用情况并将指标报告给 Teradata QueryGrid 管理器
连接器和链接都与网络结构关联。
连接器
- 提供跨数据源(系统)的查询处理。
- 将查询请求 SQL 从一种源查询格式转换为另一种格式。
- 转换数据,将数据从一种数据类型或格式转换为另一种数据类型或格式,从而使数据能够在不同数据源系统之间交换。
- 支持数据源参与查询。任何联接网络结构的连接器都能参与查询。
- 支持数据源启动查询。
- Oracle、BigQuery 和 Generic JDBC 连接器除外。
- 支持向网络结构发送数据以及从网络结构接收数据。
- 与网络结构中的其他连接器通信。
- 控制目标系统上运行的查询。所有连接器均可作为查询目标,并代表发起程序数据源系统控制目标数据源系统上运行的查询。
- 将查询结果返回到发起系统。
连接器特定于系统类型(例如 Teradata 系统、Hive 或配置了 Presto 的 Hadoop)。例如,Teradata 系统可托管 Teradata Connector,但一个 Hadoop 系统可托管多个连接器(Hive、Spark 和 Presto)。
通过可选连接器属性,可以完善连接器类型配置,或者覆盖在配置期间设置的连接器属性。
连接器软件连接数据源和 Teradata QueryGrid 网络结构。软件安装在系统中的所有数据源节点上。网络结构软件也安装在系统中的所有数据源节点上。网络结构软件包括驱动程序。驱动程序在一个或多个叫作 驱动程序节点 的数据源节点上运行。作为查询处理的一部分,驱动程序节点从发起程序连接器接收请求,并将请求提交给目标系统。驱动程序可通过加载连接器、读取消息、调用方法来处理请求和发送响应。
- 指定数据源中的哪些节点是驱动程序节点。
在大型系统中,只要求一部分节点是驱动程序节点。
- 选择多个驱动程序节点以提供冗余,并共享发起查询所需的工作负载。
- 限制驱动程序节点的数量,以更好地重用会话。
- 重复使用物理连接
- 减少 QueryGrid 查询的开销
- 最大限度减少创建和关闭会话
该连接池会对一个查询的所有阶段或使用相同会话和用户凭据的后续查询应用相同的 JDBC 连接。有关配置可调连接器池属性的信息,请参阅相关连接器的连接器和链接属性信息。
链接
连接器类型 | 说明 |
---|---|
发起 | 发出 QueryGrid 查询的点。例如,在 Teradata 到 Presto 查询中,Teradata Connector 会发起查询。 |
目标 | QueryGrid 查询的目标点。例如,在 Teradata 到 Presto 查询中,Presto 连接器是发起连接器为导入或导出数据而访问的目标连接器。 |
定义的连接器 | 结果 |
---|---|
仅限 Teradata 系统 | 只能在 Teradata 系统之间创建链接。 |
Teradata、Presto、Hive、Spark、Oracle、BigQuery 和 Generic JDBC | 可以在具有这些连接器类型中任何一种连接器类型的 Teradata 系统之间创建链接。 |
链接用于简化外部服务器定义的配置,为运行 QueryGrid 查询做好准备。
- 用于查询的发起连接器和目标连接器链接配对
- 所用网桥(如有)的数量:
网桥数 定义的跃点数 无网桥 一个跃点(发起程序和目标之间的跃点) 一个网桥 两个跃点(发起程序和网桥之间的跃点、网桥和目标之间的跃点) 两个网桥 三个跃点(发起程序和第一个网桥之间的跃点、第一个网桥和第二个网桥之间的跃点、第二个网桥和目标之间的跃点) 三个网桥 四个跃点(发起程序和第一个网桥之间的跃点、第一个网桥和第二个网桥之间的跃点、第二个网桥和第三个网桥之间的跃点、第三个网桥和目标之间的跃点)。 四个网桥 五个跃点(发起程序和第一个网桥之间的跃点、第一个网桥和第二个网桥之间的跃点、第二个网桥和第三个网桥之间的跃点、第三个网桥和第四个网桥之间的跃点、第四个网桥和目标之间的跃点)。 - 发起和目标连接器的属性创建链接和相关属性时,将创建配置名称值对 (NVP)。NVP 将执行以下操作:
- 指定目标连接器组件的行为
- 配置数据的转换方式
- 配置基础链接数据传输层
- 影响发起程序连接器的执行方式
通过可选属性细化发起或目标连接器的配置。这些链接属性会覆盖连接器属性。
- 定义跃点的发起网络和目标网络
- Links会通过网络确定用于数据传输的接口。查询会从一个服务器或网络发起并发送到目标服务器或网络。如果未指定网络,网络结构将并行尝试所有已知的目标节点网络地址,并使用成功建立连接的第一个地址。
- Networks 可通过规则来定义,这些规则可按接口名称或无类域间路由 (CIDR) 表示法将物理网络接口映射到逻辑网络定义。系统会按匹配规则列表中的显示顺序来检查规则。
- 通信策略,该通信策略定义了在目标和发起连接器和网桥(如果使用)之间的数据传输规则
通信策略定义系统如何相互通信,并允许您配置传输并发以及在数据传输期间对行数据块启用或禁用 ZStandard 数据压缩。
Teradata QueryGrid 预先配置了启用压缩的通信策略(压缩)和未启用压缩的通信策略(无压缩)。
通信策略不一定特定于所涉及的系统,因此可以重用。
- 用户映射(可选)
用户映射允许已登录发起系统的用户以目标系统上特定用户的身份提交查询。您可以将发起系统上的多个用户映射到目标系统上的单个用户(如果适用),但不能将目标系统上的多个用户映射到发起系统上的单个用户。
在 QueryGrid 组件中,您可以将一个数据源上的用户名映射到另一个数据源上的用户名。
在未配置安全设置的情况下使用 Hive、Presto 或 Spark 目标连接器时,通常需要用户映射。例如,如果用户 Joe 使用 Teradata 到 Hive 链接发起查询,则 Teradata 会自动将该用户名更改为全大写,并在缺省情况下代表用户“JOE”将该查询发送到目标系统。如果 Hive 目标连接器未使用任何安全设置,则此用例可能会出现以下结果:方案 要求 用户“JOE”不在目标系统中 必须使用目标系统上的现有用户(如“hive”)运行查询。在这种情况下,需要进行用户映射,将 Teradata 系统上的“JOE”映射到目标 Hive 系统上的用户“hive”。 作为 joe 位于目标系统中 需要一个用户映射将 Teradata 系统上的“JOE”映射到目标 Hive 系统上的“joe”。 作为“JOE”位于目标系统中 此情形不需要用户映射。 如果使用一个安全平台(例如 Kerberos),则使用 Hive、Presto 或 Spark 目标连接器时不需要用户映射。
- 启用或禁用确认。确认允许 QueryGrid 重新建立因暂时性网络错误而中断的连接。如果查询因网络错误而周期性失败,则可以启用此选项,但消息开销费用会略高一些。