.NET

Introducción

OmniDB es una aplicación de código abierto basada en navegador, diseñada para acceder a numerosos sistemas de gestión de bases de datos (SGBD) y administrarlos, por ejemplo PostgreSQL, Oracle y MySQL. OmniDB puede ejecutarse tanto como aplicación de escritorio como en el navegador, combinando la flexibilidad necesaria para los distintos modos de acceso con un diseño que prioriza ante todo la seguridad. OmniDB se desarrolla activamente, se prueba automáticamente en diversas bases de datos y navegadores y se distribuye con documentación completa.

Desde sus primeras fases de desarrollo, OmniDB fue diseñada como una aplicación basada en navegador. Por ello, se ejecuta en cualquier navegador, en cualquier sistema operativo. Puede ser accedida desde varios equipos y por varios usuarios, cada uno con su propio grupo de conexiones. También puede alojarse en cualquier sistema operativo, sin necesidad de instalar ninguna dependencia. Veremos más detalles sobre la instalación en los próximos capítulos.

El principal objetivo de OmniDB es ofrecer un espacio de trabajo unificado con todas las funcionalidades necesarias para manipular distintos SGBD. No se requieren herramientas específicas de cada SGBD: en OmniDB, el cambio de contexto entre distintos SGBD se realiza con un simple cambio de conexión, sin salir de la misma página. La sensación del usuario final es que no hay diferencia al manipular distintos SGBD; simplemente se percibe como conexiones diferentes.

Pese a ello, OmniDB está construida pensando en la simplicidad, diseñada para ser una aplicación basada en navegador rápida y ligera. Los trabajos de larga duración — consultas, procedimientos y monitorización — se ejecutan en segundo plano y se transmiten al navegador a medida que se completan, de modo que el usuario puede seguir trabajando con varias bases de datos y varios servidores al mismo tiempo, sin quedar bloqueado por ninguno de ellos.

OmniDB también es segura. Todos los datos de usuario de OmniDB se almacenan cifrados, y no se almacena ninguna contraseña de base de datos. Cuando el usuario se conecta por primera vez a una base de datos, OmniDB solicita la contraseña. Esta contraseña se cifra y se almacena en memoria durante un tiempo determinado. Cuando ese tiempo expira, OmniDB vuelve a solicitar la contraseña. Esto garantiza la máxima seguridad para la base de datos a la que se conecta OmniDB.

Historia

Los creadores de OmniDB, Rafael Thofehrn Castro y William Ivanski, trabajaban en una empresa donde debían lidiar a diario con varias bases de datos distintas de clientes. Estas bases de datos pertenecían a diferentes tecnologías de SGBD, por lo que debían cambiar constantemente entre herramientas de gestión de bases de datos (normalmente una para cada SGBD). Como no estaban satisfechos con las herramientas de gestión unificada de bases de datos existentes (capaces de administrar distintos SGBD), concibieron la idea principal de OmniDB.

La primera versión de OmniDB se presentó como proyecto final de grado en la carrera de Ciencias de la Computación de la Universidad Federal de Paraná, en Brasil. El objetivo era trazar una línea común entre los SGBD populares y estudiar en profundidad sus metadatos. El resultado fue una herramienta escrita en ASP. NET/C#, capaz de conectarse e identificar las principales estructuras (tablas, claves, índices y restricciones), de forma genérica, en varios SGBD:

La primera versión de OmniDB también permitía la conversión entre todos los SGBD compatibles con la herramienta. Esta función se diseñó para ser fácil de usar, requiriendo apenas unos pocos pasos: el usuario debe seleccionar una conexión de origen, las estructuras que se van a convertir (solo tablas y todas sus estructuras, junto con sus datos) y la conexión de destino.

En 2025–2026, el proyecto fue resucitado con versiones mayores (3.1.x), centradas en modernizar la base de código, mejorar la seguridad y añadir soporte completo para sistemas operativos modernos como macOS Silicon, junto con una revisión completa de la documentación. Este resurgimiento culminó en una reescritura completa del backend de Python/Django a Go (3.6.x), eliminando por completo el runtime de Python y distribuyendo un único binario nativo para cada plataforma. Consulte Funciones heredadas e historial para conocer la cronología completa de versiones y qué cambió a lo largo del camino.