Introducing Columnar Cookbook
Most developers still connect to databases using row-oriented patterns and tools. This works, but it’s inefficient—especially for analytical workloads and bulk data operations. Apache Arrow and ADBC offer a modern, columnar-native alternative, but practical, runnable examples have been hard to find.
Columnar Cookbook is an open source collection of recipes for database connectivity and data interchange with Apache Arrow and ADBC. Each recipe is self-contained, runnable, and follows a consistent structure so you can quickly find what you need and adapt it to your own projects.
If you’re new to ADBC, you might want to start with the ADBC Quickstarts, which show the simplest possible way to connect to a data system and run a query. Columnar Cookbook builds on those basics with more variety and depth.
What’s Inside
The cookbook currently includes 15 recipes across four categories:
- Database Connections — Guides for connecting to databases using ADBC in Python, covering DuckLake, ClickHouse, MySQL, MariaDB, TiDB, PostgreSQL, Citus, ParadeDB, TimescaleDB, and DuckDB.
- Data Loading — Recipes for ingesting data into databases, including Parquet ingestion with ADBC and fast data loading with dlt and ADBC.
- Data Processing — Techniques for working with columnar data formats, like reducing data size with Arrow IPC encodings and compression.
- Data Analysis — Analytical workflows using Arrow-native tools like PyArrow.
The Stack
Every recipe builds on the same core technologies:
- Apache Arrow — columnar in-memory format
- ADBC — Arrow-native database connectivity
- Apache Parquet — columnar file format
These technologies work together to keep data in columnar format end-to-end, avoiding the serialization overhead of traditional row-oriented workflows.
Get Started
Columnar Cookbook is open source and welcomes contributions—whether that’s a new database guide, a performance optimization recipe, or an improvement to an existing notebook. Browse the recipes at cookbook.columnar.tech or check out the contributing guide on GitHub.