Apache Arrow ADBC

ADBC: Arrow Database Connectivity

Cross-language, Arrow-native database access.

ADBC is a set of APIs and libraries for Arrow-native access to databases. Execute SQL and Substrait queries, query database catalogs, and more, all using Arrow data to eliminate unnecessary data copies, speed up access, and make it more convenient to build analytical applications.

Quickstart

Get started with simple examples in your language of choice.

Specification

Learn about the underlying API specification.

Development

Report bugs, ask questions, and contribute to Apache Arrow.

Why ADBC?

Arrow-native

Execute queries and get back results in Arrow format, eliminating extra data copies for Arrow-native backends.

https://arrow.apache.org/
Backend-agnostic

Connect to all kinds of databases, even ones that aren’t Arrow-native. ADBC drivers optimize conversion to/from Arrow where required, saving work for developers.

Driver Implementation Status
Cross-language

Work in C/C++, C#, Go, Java, Python, R, Ruby, and more.

Full-featured

Execute SQL and Substrait, query database catalogs, inspect table schemas, and more. ADBC handles common tasks without having to pull in another database client.

Language-native

Use language-native APIs that you’re already familiar with, like DBAPI in Python, database/sql in Go, or DBI in R.