Draft:ADBC

Arrow Database Connectivity
DeveloperApache Software Foundation
ReleaseJanuary 5, 2023; 3 years ago (2023-01-05)
Stable release
1.1.0 (specification)
Written inC, C++, C#, Go, Java, JavaScript/TypeScript, Python, R, Ruby, Rust
TypeDatabase API
LicenseApache License 2.0
Websitearrow.apache.org/adbc/

ADBC (Arrow Database Connectivity) is an open application programming interface (API) specification and a set of libraries for accessing databases using the Apache Arrow columnar data format. It is a subproject of Apache Arrow, developed under the Apache Software Foundation.[1] ADBC is designed as a columnar, minimal-overhead alternative to the row-oriented JDBC and ODBC standards for analytical applications, allowing query results to be returned directly in Arrow format without intermediate data conversions.[2]

Overview

ADBC provides a single, vendor-neutral API for moving Arrow data into and out of different databases.[2] Because the API exchanges data in Apache Arrow's columnar format, it enables zero-copy operations between Arrow-native systems and avoids the conversion overhead incurred when columnar data must be converted to rows and back when using traditional row-oriented drivers.[2][3] Its developers describe ADBC as complementing rather than replacing JDBC and ODBC, targeting applications that prioritize bulk columnar data access.[2]

The specification defines three core abstractions: databases, which hold state shared across connections; connections, which represent individual logical connections to a database; and statements, which manage the execution of queries and prepared statements.[4] Beyond executing SQL queries, ADBC supports inspecting database catalogs and table schemas, bulk data ingestion, partitioned result sets for distributed computation, query cancellation, and the retrieval of table and column statistics.[1][4]

ADBC offers implementations across multiple programming languages, including C/C++, C#/.NET, Go, Java, JavaScript/TypeScript, Python, R, Ruby, and Rust; the C header file adbc.h is considered the canonical definition of the API.[1][4]

History

Version 1.0.0 of the ADBC specification was announced by the Apache Arrow project management committee on January 5, 2023.[2] The standard was created to address inefficiencies that arise when columnar database systems such as DuckDB, ClickHouse, and BigQuery are accessed through row-oriented APIs.[2] A subsequent revision, version 1.1.0, added features including query cancellation, additional bulk ingestion modes, richer error metadata, table and column statistics retrieval, and incremental execution.[5]

On October 29, 2025, the ADBC Driver Foundry was announced as an open-source hub for ADBC driver development, hosted separately from the central Apache Arrow repository to better accommodate the growing number of drivers. The initiative was developed by contributors from Columnar, Databricks, dbt Labs, Improving, Microsoft, Snowflake, and the Apache Arrow community, and does not alter the core ADBC specification.[6]

Drivers

ADBC defines a driver-based architecture in which language-neutral drivers connect the standard API to specific database backends. Drivers are distributed as shared libraries that can be loaded at runtime and reused across the different language bindings. Drivers maintained within the Apache Arrow project include those for Arrow Flight SQL, PostgreSQL, SQLite, and a generic JDBC adapter.[1] Additional drivers are maintained at the ADBC Driver Foundry, among them those for BigQuery, Snowflake, Trino, Microsoft SQL Server, MySQL, and Amazon Redshift.[7] Columnar, a data-infrastructure company that contributes to the standard, develops dbc, a package manager for installing ADBC drivers on Linux, macOS, and Windows.[8][9]

Adoption

ADBC has been adopted by several data platforms and tools. Microsoft began transitioning the data-source connections in Power BI and Microsoft Fabric from legacy embedded ODBC drivers to ADBC drivers, citing more efficient retrieval of large datasets and security enhancements such as memory safety; affected connectors include those for Databricks, Snowflake, and Google BigQuery, with the removal of ODBC drivers scheduled to begin in late 2026.[10] dbt Labs documents the use of pre-compiled ADBC drivers for connection management in its dbt Core v2 adapters.[11]

See also

References

  1. ^ a b c d "ADBC: Arrow Database Connectivity". Apache Arrow. Apache Software Foundation. Retrieved 2026-07-05.
  2. ^ a b c d e f Apache Arrow PMC (2023-01-05). "Introducing ADBC: Database Access for Apache Arrow". Apache Arrow. Retrieved 2026-07-05.
  3. ^ Jackson, Joab (2025-11-03). "Apache Arrow's Final Frontier: Replacing Outdated Database Drivers". The New Stack. Retrieved 2026-07-05.
  4. ^ a b c "ADBC Specification". Apache Arrow. Apache Software Foundation. Retrieved 2026-07-05.
  5. ^ "ADBC Specification — Changelog". Apache Arrow. Apache Software Foundation. Retrieved 2026-07-05.
  6. ^ "Announcing the ADBC Driver Foundry". ADBC Drivers. 2025-10-29. Retrieved 2026-07-05.
  7. ^ "Updated ADBC drivers". ADBC Drivers. 2026-03-11. Retrieved 2026-07-05.
  8. ^ Dotson, Kyt (2025-10-29). "Columnar launches to redefine data connectivity with Arrow-powered ADBC drivers". SiliconANGLE. Retrieved 2026-07-05.
  9. ^ "dbc". Columnar. Retrieved 2026-07-05.
  10. ^ "Transition from ODBC to ADBC drivers in Power BI and Microsoft Fabric". Microsoft Learn. Microsoft. 2026-05-14. Retrieved 2026-07-05.
  11. ^ "Contribute a dbt Core v2 adapter". dbt Developer Hub. dbt Labs. Retrieved 2026-07-05.

Category:Apache Software Foundation projects Category:Application programming interfaces Category:Database APIs Category:Data management

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.