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: PostgreSQL, MySQL, MariaDB, Oracle, MS SQL Server, Firebird e SQLite. 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. As palavras-passe de bases de dados que opte por guardar são encriptadas antes de serem armazenadas, com uma chave mantida no armazenamento de segredos do seu sistema operativo; se preferir não guardar nenhuma palavra-passe, o OmniDB pede-a quando se liga e mantém-na apenas em memória, durante um tempo limitado. Um servidor multiutilizador acrescenta proteção do início de sessão e restringe aquilo a que os utilizadores podem aceder na própria máquina do servidor — consulte Segurança e Servidor Multiutilizador.
Ao lado do editor SQL e da árvore da base de dados, o espaço de trabalho oferece um painel de monitorização em tempo real, uma lista de utilizadores ligados, um ouvinte de notificações (LISTEN/NOTIFY e afins), um explorador de roles e privilégios para PostgreSQL, snippets, exportação de dados para muitos formatos e terminais SSH. A interface está disponível em inglês, checo, alemão, espanhol, francês, italiano, português, japonês e coreano — consulte Definições e Idiomas.
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.