Skip to content

ADBC

Arrow Database Connectivity(ADBC)是用于跨语言、跨平台的数据库访问标准,旨在简化传统数据库与 Arrow 数据系统(Table)之间的数据交换

ADBC 执行流程

应用程序通常使用 JDBC、ODBC 这样的 API 编程接口来处理与数据库之间的通信。无论底层数据库如何,他们都只需要编写一份相同的 API 即可,从而节省开发时间。 ADBC 的执行流程同样如此:

adbcflow

  1. 应用程序通过 ADBC API 提交 SQL 查询
  2. 查询被传递给 ADBC 驱动程序
  3. 驱动程序将查询转换为特定于数据库的协议并将查询发送给对应的数据库
  4. 数据库执行查询并以数据库特定的格式返回结果集
  5. 如果需要驱动程序将结果(经由数据库返回的)转换为箭头函数
  6. 应用程序获取 Arrow Batches 数据

ADBC 架构

ADBC 的整个架构非常类似于 ODBC,他同样提供了ADBC API 规范,只不过广义上 ADBC 是一个完整的项目包含了驱动管理器(通常以编程语言库的形式存在)和驱动程序

Note

ADBC 目前提供了 PostgreSQL、SQLite 和 Snowflake 数据库驱动,并没有提供 MySQL 等数据库,此时可以通过使用 arrow-odbc 来间接实现