2026-09-11 –, Unconference
DuckDB and ADBC (“Arrow Database Connectivity”) have both become popular tools for data analytics in Python. DuckDB provides a fast, embeddable query engine that often beats heavyweight tools and cloud services, while ADBC brings the promise of JDBC/ODBC into the new millennium with a single, Arrow-native API for database access.
If you’re using either tool, or want to get onboard, we’ll show how you can use these projects together for even faster, easier data access. DuckDB itself can be accessed with the ADBC APIs, alongside over a dozen systems from BigQuery to SQL Server. With the new adbc extension, DuckDB can also fetch data from all of these systems, letting you unify all of your analytics in one place. We’ll also introduce new tools like ADBC connection profiles, the dbc CLI for installing drivers, and agent skills to work with ADBC.
DuckDB and ADBC have rapidly become popular tools for data analytics in Python. DuckDB, an embeddable columnar database (think: SQLite, but for analytics), is easy to install, highly capable, and yet often faster than heavyweight cloud systems and analytics platforms like Apache Spark. ADBC (”Arrow Database Connectivity”), meanwhile, provides a universal data access API and per-vendor driver implementations. While the idea is similar to JDBC and ODBC, those standards suffer from several problems: performance is lacking due to being row-based, JDBC requires a JVM, and driver installation and configuration is difficult.
When combined, these projects complement each other and make data analytics in Python even faster and easier. DuckDB can be natively used as an ADBC driver, while the new adbc extension we have developed lets it also act as an ADBC client and fetch/ingest data through any of a dozen drivers.
We aim to show how all of these tools work together and make it easy to connect Python and DuckDB to vendors ranging from BigQuery to SQL Server. We’ll introduce Apache Arrow and ADBC and explain how we maximize performance because Arrow’s columnar format is natively supported by DuckDB. We’ll then demonstrate DuckDB’s ADBC interface, the adbc extension, how to use dbc(an easy way to install ADBC drivers, modeled after tools like uv), and new ADBC features like connection profiles (for configuring connection parameters more easily).
Outline:
- Intro & Demo (5 minutes)
- Easy Driver Setup with
dbcand ADBC Connection Profiles (10 minutes) - How Apache Arrow, ADBC, and DuckDB Work Together (5 minutes)
- Future Work (5 minutes)
- Q&A (5 minutes)
comingHailing from the faraway land of Brentwood, NY and currently residing in the rolling hills of Connecticut, Matt Topol has always been passionate about software. Matt has worked in infrastructure and application development, has lead development teams, and architected large-scale distributed systems for processing analytics on financial data. Matt is a PMC member for the Apache Arrow project, frequently enhancing the Golang library among other enhancements and helping to grow the Arrow Community. He wrote the first book on Apache Arrow "In-Memory Analytics with Apache Arrow" and spent the last couple years working on the Apache Arrow libraries full time and growing the Arrow Golang community. Matt is now a member of the ASF and also a PMC member of Apache Iceberg. Most recently, Matt and two colleagues have started the company, Columnar, focusing on data connectivity using Arrow Database Connectivity (ADBC).
In his spare time, Matt likes to bash his head against a keyboard, develop/run delightfully demented games of fantasy for his victims--er--friends, and share his knowledge with anyone interested who'll listen to his rants.