Teradata - 架构


Teradata 架构基于大规模并行处理 (MPP) 架构。Teradata 的主要组件是解析引擎、BYNET 和访问模块处理器 (AMP)。下图显示了 Teradata 节点的高级架构。

Teradata 节点架构

Teradata 的组件

Teradata 的关键组件如下 -

  • 节点- 它是 Teradata 系统中的基本单元。Teradata 系统中的每个单独的服务器称为一个节点。节点由自己的操作系统、CPU、内存、自己的 Teradata RDBMS 软件副本和磁盘空间组成。一个机柜由一个或多个节点组成。

  • 解析引擎- 解析引擎负责接收来自客户端的查询并准备有效的执行计划。解析引擎的职责是 -

    • 接收客户端的SQL查询

    • 解析 SQL 查询检查语法错误

    • 检查用户是否对 SQL 查询中使用的对象具有所需的权限

    • 检查SQL中使用的对象是否确实存在

    • 准备执行计划来执行SQL查询并将其传递给BYNET

    • 接收来自 AMP 的结果并发送给客户端

  • 消息传递层- 消息传递层称为 BYNET,是 Teradata 系统中的网络层。它允许 PE 和 AMP 之间以及节点之间的通信。它从解析引擎接收执行计划并发送给AMP。同样,它从 AMP 接收结果并将其发送到解析引擎。

  • 访问模块处理器 (AMP) - AMP,称为虚拟处理器 (vproc),是实际存储和检索数据的处理器。AMP 从解析引擎接收数据和执行计划,执行任何数据类型转换、聚合、过滤、排序并将数据存储在与其关联的磁盘中。表中的记录均匀分布在系统中的 AMP 之间。每个 AMP 都与一组存储数据的磁盘相关联。只有 AMP 可以从磁盘读取/写入数据。

存储架构

当客户端运行查询插入记录时,解析引擎将记录发送到 BYNET。BYNET 检索记录并将行发送到目标 AMP。AMP 将这些记录存储在其磁盘上。下图展示了 Teradata 的存储架构。

存储架构

检索架构

当客户端运行查询来检索记录时,解析引擎会向 BYNET 发送请求。BYNET 将检索请求发送到适当的 AMP。然后 AMP 并行搜索其磁盘并识别所需的记录并将其发送到 BYNET。然后,BYNET 将记录发送到解析引擎,解析引擎又将发送到客户端。以下是 Teradata 的检索架构。

检索架构