Apache Arrow ADBC

ADBC: Arrow Database Connectivity

Cross-language, Arrow-native database access.

ADBC is a standardized set of APIs and libraries for fast, Arrow-native database access. Execute SQL queries, fetch results, ingest bulk data, explore catalogs, and more. ADBC uses Arrow columnar format to eliminate copies and conversions, speeding up data retrieval for analytics and AI applications.

Getting Started

Available Drivers

Connect to a growing list of databases using ADBC drivers.

Drivers
Client Libraries

Use ADBC from C/C++, C#, Go, Java, JavaScript, Python, R, Ruby, and Rust.

Client Libraries
Writing Drivers

Create your own ADBC driver using the driver SDKs available in multiple languages.

Writing New Drivers

Why ADBC?

Arrow-native

Run queries and get back results in Arrow columnar format, eliminating copies and conversions for blazing-fast transfer to and from Arrow-native databases and engines.

https://arrow.apache.org/
Multi-database

Connect to all kinds of databases through one vendor-neutral standard, even ones that aren’t Arrow-native. ADBC drivers optimize conversion to/from Arrow where required.

Drivers
Cross-language

Work in C/C++, C#, Go, Java, JavaScript / TypeScript, Python, R, Ruby, Rust, and more. Use idiomatic APIs like DBAPI in Python, database/sql in Go, and DBI in R.

Client Libraries
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.

Comparison with Other APIs

More Resources