Introdução
OmniDB é uma aplicação de código aberto baseada no browser, concebida para aceder e gerir vários sistemas de gestão de bases de dados diferentes, como PostgreSQL, Oracle e MySQL. O OmniDB pode ser executado como aplicação de ambiente de trabalho ou através do browser, combinando a flexibilidade necessária para vários caminhos de acesso com um design que coloca a segurança em primeiro lugar. O OmniDB é ativamente desenvolvido, testado automaticamente numa variedade de bases de dados e browsers, e vem com documentação completa.
Desde o início do seu desenvolvimento, o OmniDB foi concebido como uma aplicação baseada no browser. Consequentemente, funciona em qualquer browser, em qualquer sistema operativo. Pode ser acedido por vários computadores e múltiplos utilizadores, cada um deles com o seu próprio grupo de ligações. Também pode ser alojado em qualquer sistema operativo, sem necessidade de instalar quaisquer dependências. Veremos mais detalhes sobre a instalação nos próximos capítulos.
O objetivo principal do OmniDB é oferecer um espaço de trabalho unificado com todas as funcionalidades necessárias para manipular diferentes SGBD. Não são necessárias ferramentas específicas para cada SGBD: no OmniDB, a mudança de contexto entre diferentes SGBD é feita com uma simples mudança de ligação, sem sair da mesma página. A sensação do utilizador final é que não há diferença ao manipular diferentes SGBD; parece apenas tratar-se de ligações diferentes.
Apesar disso, o OmniDB é construído com a simplicidade em mente, concebido para ser uma aplicação rápida e leve baseada no browser. Trabalho de longa duração — consultas, procedimentos e monitorização — é executado em segundo plano e transmitido de volta ao browser à medida que é concluído, para que o utilizador possa continuar a trabalhar em várias bases de dados e vários servidores ao mesmo tempo, sem ficar bloqueado por nenhum deles.
O OmniDB também é seguro. Todos os dados de utilizador do OmniDB são armazenados encriptados, e nenhuma palavra-passe de base de dados é armazenada. Quando o utilizador se liga a uma base de dados pela primeira vez, o OmniDB pede a palavra-passe. Esta palavra-passe é encriptada e armazenada em memória durante um período de tempo específico. Quando este tempo expira, o OmniDB pede a palavra-passe novamente. Isto garante a máxima segurança para a base de dados à qual o OmniDB se está a ligar.
Histórico
Os criadores do OmniDB, Rafael Thofehrn Castro e William Ivanski, trabalhavam numa empresa onde precisavam de lidar diariamente com várias bases de dados diferentes de clientes. Estas bases de dados eram de diferentes tecnologias de SGBD, e por isso precisavam de continuar a alternar entre ferramentas de gestão de bases de dados (normalmente uma para cada SGBD). Como não estavam satisfeitos com as ferramentas unificadas de gestão de bases de dados existentes (capazes de gerir diferentes SGBD), tiveram a ideia principal do OmniDB.
A primeira versão do OmniDB foi apresentada como projeto final de licenciatura no curso de Ciência da Computação da Universidade Federal do Paraná, no Brasil. O objetivo era traçar uma linha comum entre os SGBD populares, e estudar em profundidade os seus metadados. O resultado foi uma ferramenta escrita em ASP. NET/C#, capaz de ligar-se e identificar as principais estruturas (tabelas, chaves, índices e restrições), de forma genérica, a partir de vários SGBD:
- Firebird
- MariaDB/MySQL
- Oracle
- PostgreSQL
- SQLite
- Microsoft SQL Server
A primeira versão do OmniDB também permitia a conversão entre todos os SGBD suportados pela ferramenta. Esta funcionalidade foi desenvolvida para ser fácil de usar, exigindo apenas alguns passos: o utilizador precisa de selecionar uma ligação de origem, as estruturas que serão convertidas (apenas tabelas e todas as suas estruturas, juntamente com os seus dados) e a ligação de destino.
Em 2025-2026, o projeto foi retomado com lançamentos importantes (3.1.x), com foco na modernização da base de código, na melhoria da segurança, e na adição de suporte completo para sistemas operativos modernos como o macOS Silicon, juntamente com uma revisão completa da documentação. Esta retoma culminou numa reescrita completa do backend de Python/Django para Go (3.6.x), removendo por completo o runtime de Python e distribuindo um único binário nativo para cada plataforma. Consulte Funcionalidades Legadas e Histórico para a cronologia completa das versões e o que mudou ao longo do caminho.