databow: una CLI en Rust para consultar cualquier base de datos con ADBC

Fuentes: Introducing databow: a unified Rust CLI for any ADBC database
Imagen generada por IA con el prompt: Modern dark-themed terminal window showing colorful SQL query output in neatly aligned tables, with subtle translucent database cylinder icons in the background, minimalist tech illustration.
Imagen generada con IA

databow es una nueva herramienta de línea de comandos de código abierto, escrita en Rust, que ofrece una interfaz unificada para consultar cualquier base de datos que disponga de un driver ADBC (Arrow Database Connectivity). Su propósito es sustituir el uso de múltiples clientes CLI específicos —psql, mysql, snowsql, bq o sqlite3— por una sola utilidad moderna y rápida capaz de trabajar con los distintos sistemas SQL del stack de datos.

El proyecto se apoya en ADBC, el estándar de conectividad de bases de datos del proyecto Apache Arrow. ADBC expone una API independiente del proveedor, análoga a JDBC u ODBC, pero diseñada desde el origen para transferir datos en el formato columnar Apache Arrow. Esto elimina la sobrecarga de serialización fila a fila cuando la base de datos habla Arrow de forma nativa y garantiza un comportamiento consistente entre motores. A medida que más bases de datos publiquen drivers ADBC, databow podrá utilizarlos sin cambios adicionales.

En la práctica, databow se conecta a más de 30 bases de datos agrupadas en cuatro familias: transaccionales (PostgreSQL, MySQL, MariaDB, SQLite, Oracle Database, SQL Server, CockroachDB, YugabyteDB, TiDB), analíticas (DuckDB, ClickHouse, Snowflake, BigQuery, Databricks, Amazon Redshift, Teradata), motores lakehouse (Trino, Dremio, StarRocks, Apache Doris) y series temporales (InfluxDB, TimescaleDB, GreptimeDB). El binario incorpora un REPL interactivo con resaltado de sintaxis adaptable a tema claro u oscuro, entrada SQL multilínea, tablas alineadas con anchos de columna dinámicos e historial de comandos, además de exportación directa de resultados a CSV, JSON o Arrow IPC.

Está pensada tanto para uso interactivo como para integrarse en scripts y pipelines: admite ejecutar consultas puntuales, leerlas desde archivos SQL o recibirlas por stdin. Las cadenas de conexión pueden guardarse en perfiles ADBC y referenciarse por nombre, lo que simplifica el trabajo con múltiples entornos.

La instalación se realiza con un solo binario, mediante 'uv tool install databow' (método recomendado) o 'cargo install databow'. A continuación se instala el driver ADBC concreto con la utilidad 'dbc'. La hoja de ruta incluye comandos de punto para configuración rápida, nuevos formatos de exportación como Parquet, truncamiento configurable de resultados y la visualización de los tipos de datos de cada columna.