首页 > 解决方案 > Teradata CLIv2 与 JDBC 和 ODBC 的优势?

问题描述

有多种方法可以连接到 Teradata,例如,使用 CLIv2、JDBC 或 ODBC。我很好奇 CLIv2 与 JDBC 和 ODBC 相比有什么优势?

来自 ChrisRX 的回答:

简而言之,CLIv2/TPTAPI 是用于与 Teradata 服务器交互的官方 Teradata C/C++ 库。有一些细微差别,但这主要是使用这些的原因。

CLIv2、TPTAPI、JDBC 和 ODBC 都是与 Teradata 服务器交互的各种方法。它们在能力和实施上都有很大的不同。最直接的是 ODBC,它使用 Teradata 在某种程度上实现的通用 ODBC API。然而,CLIv2 是官方的低级调用库,几乎所有客户端功能都派生自它(用 C 编写)。例如,ODBC 很可能以某种方式(在服务器端)通过与 CLIv2 的一些(或大量)交互来实现。Giraffez 选择它作为其库,以便它可以拥有提供的最强大的 Teradata 接口(在性能和功能方面)。Teradata 在 C++ 中实现了批量加载过程(快速加载、多加载等),其核心使用 CLIv2,并且是 TPTAPI 的用武之地(Teradata Parallel Transporter API)。

JDBC 最终成为 ODBC 的混合体(功能上),Teradata 选择纯粹用 Java 重新实现批量协议。归根结底,这意味着 JDBC 能够与 Teradata 进行“正常”的 SQL 交互,同时还能够执行诸如快速加载/多加载或快速导出之类的批量协议。

Giraffez 在后台使用 CLIv2 和 TPTAPI,专门为与 Teradata 交互提供最大的表面积。例如,优于 ODBC 的优点是 ODBC 不允许使用批量协议。其他优点是能够将 C/C++ 与 Python 代码绑定,而不是使用 JDBC 将 Java 类型转换为 Python 类型。

标签: databasejdbcodbcteradata

解决方案


推荐阅读