OBJECTMMRS – Replicação de Banco de Dados

Conheça a nova versão do OBJECTMMRS, agora mais simples e eficiente e com muito mais recursos. Clique para conhecer o OBJECTMMRS Cloud

O OBJECTMMRS tradicional é uma suite de software para replicar bases de dados no modelo “ponto-a-ponto”, focado em viabilizar a descentralização da  estrutura de dados das empresas, de forma a não ficar dependente de um servidor único de banco de dados.

Tecnicamente trata-se de um software replicador de banco de dados do tipo multi-master ou também chamado bi-direcional onde podemos ter alterações de dados em todos os servidores de banco de dados e não somente no principal ou master.

A descentralização em alguns casos, principalmente com os problemas de estabilidade e banda de rede internet que temos no Brasil, torna-se obrigatória para que um maior número de usuários possa ter sucesso no uso de sistemas online. Muitos sistemas são desenvolvidos sem imaginar que serão usados por pessoas muito distantes do servidor central, e com péssimas condições de rede, levando ao fracasso nas implantações e dificuldades para a aderência de 100% dos usuários. A produtividade dentro da empresa acaba sendo muito prejudicada com a lentidão para fazer operações simples e corriqueiras usando o sistema online.

Além do foco na descentralização, o produto também pode ser usado em diversas outras aplicações tais como:

  • Backup contínuo de banco de dados (“near real-time”), replicando os dados de um servidor principal para um servidor secundário localizado em rede local ou mesmo em outro local físico (“cloud”). Dependendo da aplicação os 2 servidores podem ser usados ao mesmo tempo servindo inclusive como um balanceamento de carga.
  • Eliminação de rotinas de atualização de dados em batch (ETLs, etc). Ao usar o produto os dados são replicados continuamente, sem necessidade de rotinas de exportação e importação de dados, etc. A sincronização “tardia” de dados é fonte de muitos problemas, se você consegue manter bases distintas atualizadas em poucos segundos ao invés de atualizações diárias ou esporádicas, muitas inconsistências são eliminadas.
  • Integração entre bancos de dados de diferentes fabricantes. Você pode, por exemplo, sincronizar dados de forma bidirecional entre sua base de dados central corporativa Oracle e uma base de dados MySQL no seu website de comércio eletrônico.
  • Integração entre bancos de dados e web-services.
  • Importação de dados a partir de arquivos texto, planilhas, etc.
  • Inúmeras outras situações podem ser melhoradas com o uso de uma replicação contínua de dados.

Comparado com outras soluções de replicação de mercado, temos o menor TCO e a melhor escalabilidade com nosso exclusivo mecanismo multi-engine e multi-thread combinados e configuráveis de acordo com a necessidade de cada cliente e de cada servidor, que depende basicamente do volume de dados a replicar, capacidade de CPU e banda de rede disponível. O produto pode ser configurado para atender bem desde pequenos projetos de replicação a até situações com centenas e/ou milhares de servidores dispostos em multi-níveis.

Principais Características

  • Replicação unidirecional e bidirecional (multi-master), assíncrona.
  • Replicação “ponto-a-ponto” sem uso de “Stage”.
  • Suporte a replicação entre bancos de dados de diferentes fabricantes.
  • Produto compatível e testado tanto como origem como destino dos dados com os seguintes SGBDs/versões:
    • Oracle (a partir de 8.x, inclusive versão free)
    • DB2 IBM (a partir de 8.x, inclusive Express)
    • PostgreSQL (a partir de 7.4)
    • Firebird (a partir de 1.5)
    • MS SQLServer (A partir da versão 7, inclusive Express)
    • Sybase (A partir da versão 10)
    • Informix (A partit da versão 11.5)
    • MySQL (A partir da versão 5)
    • SQLite (A partir da versão 3)
    • REST Web-services
  • Resiste e se auto-recupera em casos de falhas de rede ou de banco de dados.
  • Diversas topologias possíveis, tais como estrela (um servidor central e N servidores nas pontas), hierárquica (servidores dispostos em N níveis), rede ou ponto-a-ponto (todos os servidores replicam diretamente para todos N x N).
  • Arquitetura multi-thread e multi-engine, imprescindível em topologias do tipo estrela onde temos um servidor central e N servidores nas pontas, de modo a permitir a replicação simultânea para um elavado número de “slaves”.
  • Baixo overhead nos servidores de banco de dados, o software pode ser instalado no próprio servidor de banco de dados, sem com isso comprometer o desempenho do servidor. Pode-se também, opcionalmente, em casos críticos, termos o software replicador em um ou mais servidores separados (escalabilidade total).
  • Replicação a nível de tabela e de operação (insert, update, delete).
  • Na replicação de “update” atualiza apenas as colunas alteradas, economizando assim banda de rede e minimiza conflitos de concorrência.
  • Tratamento automático de conflitos de “update”, por tempo real ou prioridade de base de dados.
  • Pode-se customizar operações de replicação, i.e., o cliente pode desenvolver classes java usadas para replicar casos especiais, por exemplo, pode-se desenvolver uma classe para replicar dados para um middleware usando webservices, pode-se desenvolver uma classe especial para replicar arquivos como fotos, video via tunel ssh/sftp, etc.
  • Log detalhado e configurável das operações. Níveis disponíveis: DEBUG, INFO, WARN, ERROR e FATAL.
  • Multiplataforma: Windows, Linux, Unix, Mac, etc. O servidor de replicação pode ser instalado em qualquer plataforma onde seja possível usar Java 5.
  • Pode ser usado como ferramenta de sincronização de bases de dados em notebooks, PDAs, etc.
  • Pode ser configurado para o envio de email automático em caso de falhas de rede prolongadas, etc. Também pode-se integrar a saída do log com ferramentas de monitoramento de syslogs, etc.
  • Não usa recursos de baixo nível dos SGBDs, é extremamente portável entre diferentes versões de um mesmo SGBD, facilitando assim upgrades de versão do SGBD.
  • Preparado para a replicação de grandes volumes de dados com bom desempenho para milhões de operações / dia.
  • Painel Web para monitoramento da replicação permitindo a visualização gráfica em mapas da situação de filas em todos os servidores.
  • Tecnologia nacional, com possibilidade de customizações. Desenvolvimento e Suporte técnico locais.

Requisitos mínimos para instalação

  • Sistema operacional compatível com Java 5 ou superior.
  • RAM livre para o replicador: De 32 Mb a 2 Gb, variando de acordo com a quantidade de servidores envolvidos na replicação, quantidade de threads simultâneas configuradas e volume de dados.
  • Disco: 2 Gb é o suficiente para a instalação de Java 5, servidor de replicação e logs.