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.


Get started with simple examples in your language of choice.


Learn about the underlying API specification.


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

Why ADBC?#


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


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.


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


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


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