DBDelve logra un tiempo de inicio de solo 1.1 segundos y una huella de memoria en reposo de 133 MB, superando significativamente los 5.2 segundos de inicio y los 606 MB de memoria en reposo de DBeaver en pruebas comparativas. Desarrollado por Shayan Abbas, la herramienta tiene como objetivo proporcionar una experiencia 'rápida y ligera' evitando la sobrecarga de Electron y la Máquina Virtual Java (JVM), que el desarrollador identifica como fuentes de pesadez en los clientes de bases de datos existentes.

La pantalla de bienvenida de DBDelve que muestra las opciones de conexión y la selección de temas
La pantalla de bienvenida de DBDelve ofrece opciones para pegar una URL de conexión, seleccionar un motor o importar configuraciones de DBeaver y TablePlus.github.com

La pantalla de bienvenida es el primer punto de interacción para los usuarios, facilitando la configuración sencilla y la selección de temas.

Arquitectura y objetivos de rendimiento

La principal distinción técnica de DBDelve es su uso de Rust y el framework GPUI. Al optar por un enfoque nativo, el desarrollador busca proporcionar un 'inicio instantáneo' y un 'desplazamiento fluido a través de tablas grandes' donde otros clientes podrían fallar o alcanzar límites de memoria.

En una prueba de rendimiento realizada en un chip M1 Pro con 32 GB de RAM, DBDelve demostró una ventaja de velocidad de 2.5x sobre DBeaver al consultar una tabla de 1 millón de filas. Además, utilizó aproximadamente un 70% menos de memoria que DBeaver al cargar ese mismo conjunto de datos grande en la memoria.

Rendimiento de DBDelve vs DBeaver (1M de filas): Lanzamiento de DBDelve 1.1 s; Lanzamiento de DBeaver 5.2 s; Memoria DBDelve 1M filas 4.9 GB; Memoria DBeaver 1M filas 17 GB
Rendimiento de DBDelve vs DBeaver (1M de filas)github.com

Gráfico elaborado por HN Digest a partir de cifras reportadas por github.com; los valores se muestran tal como aparecen en la fuente.

“Un cliente de base de datos rápido, nativo, multiplataforma y multimotor. Escrito en Rust con GPUI, sin Electron y sin JVM: inicio instantáneo, amable con tu memoria y desplazamiento fluido a través de tablas grandes donde otros clientes fallan o introducen límites.”

— GitHub - ShayanAbbas1/dbdelve: Fast and lightweight DB Client made in Rust and GPUI.

Conjunto de funciones e integración de flujo de trabajo

El cliente admite conectividad multimotor, incluidos sistemas basados en SQL como MariaDB y ClickHouse, así como opciones NoSQL como MongoDB y Redis. También incluye un puente ODBC integrado para alcanzar bases de datos adicionales como Oracle, IBM Db2 y Amazon Redshift.

Interfaz de DBDelve en Gruvbox Dark Glass que muestra una consulta SQL y la cuadrícula de resultados
DBDelve en Gruvbox Dark Glass mostrando una consulta SELECT en la tabla de eventos y la cuadrícula de datos resultante.github.com

Esta imagen demuestra la funcionalidad principal del editor de consultas y la cuadrícula de resultados en un tema oscuro popular.

Para facilitar una transición fluida para los usuarios existentes, DBDelve permite la importación directa de conexiones de competidores populares. También cuenta con un diseño 'prioritario para el teclado' con una paleta unificada para comandos, historial y conexiones, junto con un panel de plan de consulta que resalta estimaciones de filas incorrectas.

Un plan de consulta Explain Analyze que resalta una estimación de fila incorrecta
Un panel de plan de consulta en DBDelve que resalta una estimación significativa incorrecta en una operación de unión.github.com

La aplicación incluye un panel de plan de consulta que ayuda a los usuarios a identificar cuellos de botella en el rendimiento.

Seguridad y personalización

Para evitar la pérdida accidental de datos, DBDelve aísla cada conexión y permite a los usuarios asignar códigos de colores a las barras de título para distinguir entre entornos de producción y de prueba. También solicita la confirmación del usuario antes de ejecutar cualquier comando destructivo.

El software admite una amplia personalización visual, incluyendo varios temas integrados y la capacidad de importar temas de los editores Zed o VS Code. Si bien ofrece un alto grado de flexibilidad, la edición de cuadrícula está desactivada actualmente, y las sentencias se ejecutan bajo el modo específico de la conexión activa.

El selector de temas de DBDelve que muestra temas importados de Zed y VS Code
El selector de temas permite a los usuarios elegir entre opciones integradas o temas importados de otros editores.github.com

El software admite una amplia personalización visual, incluyendo temas importados de los editores Zed o VS Code.

Qué dicen los lectores de Hacker News

  • Experiencia: Un comentarista expresó interés en la herramienta como una posible alternativa multiplataforma a MySQL Workbench para un producto de datos, señalando que aunque Workbench era capaz, se está volviendo obsoleto. comentario ↗
  • Experiencia: Otro usuario compartió que, aunque la interfaz se ve bien, señaló que trabajar con los crates subyacentes puede ser difícil porque no se actualizan oficialmente en crates.io. comentario ↗

Resumen de opiniones del hilo de Hacker News; no son hechos verificados. Leer el debate completo ↗