Publicado em

O desgaste da arquitetura centralizada

Ano após ano vemos os mesmos problemas, seja em websites do governo, em aplicações centralizadas do governo (como esta do Detran do Estado de São Paulo, que vira e mexe apresenta problemas sérios de desempenho e disponibilidade – http://www.agora.uol.com.br/saopaulo/ult10103u1033262.shtml) ou em aplicações de grandes websites de comércio eletrônico.

E sempre procuram resolver o problema de uma forma que acredito que não tem dado muito resultado, que é a forma mais simples mas em contra partida mais cara de resolver o problema: escalar o hardware, sempre comprando hardware cada vez mais caro e de difícil reposição.

A solução para isto não está no hardware, está na arquitetura de software e banco de dados da aplicação, faça a aplicação de forma descentralizada, trabalhe com N servidores e N bancos de dados, fique livre dos problemas de desempenho e de disponibilidade, trabalhe com hardware de baixo custo !!

A OBJECT pode ajudar no planejamento para a mudança de uma arquitetura centralizada para uma arquitetura descentralizada, nosso principal produto, o OBJECTMMRS ajuda muito pois permite que este processo de descentralização seja gradativo, você migra da aplicação centralizada para a descentralizada em etapas, sem o stress de uma implantação traumática – continue usando parte da sua aplicação de forma centralizada, com bancos de dados proprietários de alto custo, etc, e gradativamente va migrando para arquitetura descentralizada, com o uso de servidores e bancos de dados de baixo custo – O OBJECTMMRS vai ligar estes 2 mundos diferentes para você, de forma transparente e totalmente gerenciada.

Entre em contato, solicite uma visita para entendermos o seu problema e mostrarmos como podemos ajudar.

Publicado em

Informação rápida e confiável

A rede de supermercados Shibata iniciou um projeto para trazer a informação de BI em tempo real para seus gerentes e executivos.

Através do uso do OBJECTMMRS, os dados recebidos nos concentradores dos PDVs, atualmente um banco de dados MySQL em cada loja da rede, serão replicados continuamente para o ERP / Retaguarda que trabalha com banco de dados PostgreSQL, e estes dados da retaguarda por sua vez são replicados para um servidor central PostgreSQL que recebe os dados e em tempo real também com o uso do OBJECTMMRS replica para a base de Business Intelligence, que é uma base de dados SQLServer.

Mas não pára por aí, uma vez os dados transformados pelas “classes customizadas” desenvolvidas pela própria equipe de TI da rede e gravados na base de BI SQLServer, o OBJECTMMRS mais uma vez entra em ação para replicar estes dados para as bases de dados SQLite localizadas nos smart-phones padrão Android que poderão ser usados online ou offline para a análise de vendas, compras, custos e rentabilidade.

O OBJECTMMRS entra neste circuito como o integrador de todas estas aplicações, oferecendo ao empresário dados em tempo real de centenas de PDVs consolidados em sua base de dados local do seu tablet ou smart-phone, podendo ele usar estes dados em qualquer situação ou ambiente, como por exemplo em uma longa viagem aérea, etc.

Entre em contato conosco e venha ser mais uma empresa a ter informações sempre disponíveis, nunca mais se preocupe com a frase “o sistema está fora do ar”, ou então “a rede está fora”, etc.

Nosso email: contato@object.com.br

Publicado em

Replicação de base de dados com o ObjectMMRS

O ObjectMMRS é nossa suite de softwares para projetos de replicação de banco de dados.

Criado em 2002, o software foi evoluindo até tornar-se uma verdadeira ferramenta multi-uso quando o assunto é replicar dados em tempo real de forma bidirecional entre servidores remotos, sejam eles usando um mesmo software de banco de dados ou mesmo gerenciadores de diferentes fabricantes.

O produto tem tecnologia nacional, é perfeitamente adaptado às piores condições possíveis de internet, possibilitando assim a troca eficiente de dados mesmo em instáveis e restritas bandas de rede (32Kb via satélite, etc).

Assista a um vídeo mostrando a replicação de cerca de 50 mil operações entre bancos de dados postgresql, oracle e sqlserver em ambiente Mac OS e Windows.

Publicado em Deixe um comentário

Arquitetura do Software ObjectMMRS

Metáfora

A arquitetura é baseada na metáfora Editor (Publisher), Publicação (Publish), Assinantes (Subscriber) e Assinaturas (Subscription).
As bases de dados “master”, ou seja, as bases onde os dados sofrem modificações que devem ser replicadas, são os Editores (Publisher).
As bases de dados que recebem dados (slaves), independente se atuam ou não também como “master”, chamamos de Assinantes (Subscriber).
As tabelas da base “master” que são replicadas damos o nome de publicações (Publish), e a matriz entre publicações e assinantes damos o nome de Assinaturas (Subscription), sendo as assinaturas o relacionamento entre as publicações (tabelas) e os seus assinantes (servidores slave).

Funcionamento

O ObjectMMRS é um replicador assíncrono e bi-direcional de bases de dados, ou também chamado multi-master lazy.
É um software que prima pela simplicidade, não utiliza recursos específicos (de baixo nível ou não oficialmente documentados) de determinado SGBD, como leitura de logs de transações, etc – funciona através da coleta de informações através de uma trigger que é gerada para cada tabela a ser replicada. Esta trigger coleta informações a nível de coluna e linha alterada de forma que o replicador possa replicar única e exclusivamente dados realmente alterados e não a linha completa, reduzindo assim problemas de consumo excessivo de rede e também minimizando problemas de concorrência na atualização dos dados.
Esta trigger é gerada pelo replicador e pode até mesmo ser editada e alterada pelo cliente caso queira implementar alguma particularidade.
As informações coletadas pela trigger são armazenadas em tabelas que chamamos de “filas de operações a replicar”, e um engine (processo) consome esta fila a cada N segundos (configurável) enviando dados de forma gerenciada para os servidores apropriados, de acordo com a configuração realizada.
Em ocorrências de queda de rede, indisponibilidade do servidor remoto, etc, esta fila de operações a replicar é mantida, e a operação tem garantia de entrega assim que a rede ou o servidor remoto for restabelecido. Após um número X de tentativas, configurável, o engine pode opcionalmente enviar emails de alertas aos DBAs responsáveis para que verifiquem o problema com rede e/ou servidores.
O processamento da replicação é totalmente assíncrono e ocorre em “background”, com baixo overhead nos servidores de banco de dados.

Flexibilidade de instalação

O software ObjectMMRS pode ser instalado de N formas distintas, atendendo a várias necessidades específicas de cada projeto. Estaremos ilustrando a seguir algumas formas comuns de instalação.

Primeiro caso: Replicação unidirecional envolvendo 2 servidores – 1 master e 1 slave

Este é o caso mais simples onde o ObjectMMRS pode ser usado, e neste tipo de instalação temos a seguinte configuração padrão:
Servidor Master
Software de banco de dados
Software replicador
Dicionário de dados do replicador
Servidor Slave
Software de banco de dados
(Não necessita instalar nenhum software replicador e nem dicionário de dados)

Uma forma alternativa, em casos onde o servidor master esteja muito sobrecarregado:
Servidor Master
Software de banco de dados
Dicionário de dados do replicador
Servidor de Replicação
Software replicador
Banco de dados embedded do replicador (fila de operações a replicar)
Servidor Slave
Software de banco de dados
(Não necessita instalar nenhum software replicador e nem dicionário de dados)

Segundo caso: Replicação unidirecional envolvendo 1 master e N slaves, com N relativamente pequeno (menos de 30 por exemplo).

Servidor Master
Software de banco de dados
Software replicador
Dicionário de dados do replicador
N Servidores Slave
Software de banco de dados
(Não necessita instalar nenhum software replicador e nem dicionário de dados)

Uma forma alternativa, em casos onde o servidor master esteja muito sobrecarregado:
Servidor Master
Software de banco de dados
Dicionário de dados do replicador
Servidor de Replicação
Software replicador
Banco de dados embedded do replicador (fila de operações a replicar)
(10 threads simultâneas)
N Servidores Slave
Software de banco de dados
(Não necessita instalar nenhum software replicador e nem dicionário de dados)

Terceiro caso: Replicação unidirecional envolvendo 1 master e N slaves, com N relativamente grande (mais de 30 por exemplo).

Servidor Master
Software de banco de dados
Dicionário de dados do replicador

Servidores de Replicação (1 a cada 30 slaves)
Software replicador
Banco de dados embedded do replicador (fila de operações a replicar)
(Cada servidor de replicação rodando 1 engine com 10 threads simultâneas)
N Servidores Slave
Software de banco de dados
(Não necessita instalar nenhum software replicador e nem dicionário de dados)

OBS.: No caso de replicação bi-direcional a diferença é que teremos software replicador instalado em todos os servidores e não apenas no “master” central.

Flexibilidade de Uso

O ObjectMMRS permite total integração com softwares desenvolvidos pelo cliente, permitindo ao cliente consultar status, logs de operações a replicar, etc, diretamente no dicionário de dados do replicador, que é fornecido completamente documentado de forma a facilitar o desenvolvimento pelo cliente de qualquer interface customizada para administrar e monitorar os engines de replicação.
O engine possui “scheduler” próprio configurável para disparar ciclos de replicação a cada N segundos, este engine também pode ser configurado para disparar ciclos de replicação comandados pela aplicação do cliente.
O ObjectMMRS disponibiliza uma interface Java para que o cliente possa desenvolver classes Java que implementem esta interface e com isso podem ter total controle da replicação, podendo por exemplo desenvolver integrações com webservices, mainframes, etc.

Independente de Plataforma

O ObjectMMRS é um software 100% Java, podendo ser utilizado em qualquer ambiente operacional onde Java 5 possa ser executado. E em casos de servidores exclusivamente atuando como “slave” nenhum software é necessário, portanto basta ao servidor “slave” ser um banco de dados relacional acessível através de drivers padrão JDBC.

Publicado em

Integração de Sistemas

A OBJECT Sistemas ao longo de seus mais de 14 anos no mercado realizou diversos projetos para integração de sistemas.

Realizamos integrações nas mais heterogêneas plataformas, usando todos os tipos de recursos técnicos tais como replicação de banco de dados, customização de softwares ETL, desenvolvimento de servidores customizados em plataforma java ou C/C++/Corba, interfaceamento com mainframes através de sockets, emulação de terminal com varredura de tela, etc.

Realizamos projetos nos ambientes operacionais:

  • Sun Solaris
  • IBM/AIX
  • Unixware
  • FreeBsd
  • Linux (Slackware, Red Hat, Fedora, Mandrake, Debian, Ubuntu, Suse)
  • Windows (NT, 2000, 2003, XP, Vista, 7, etc)
  • Novell
  • Mainframes IBM e Unisys

Temos experiência na construção de servidores para processamento síncrono ou assíncrono de transações, todos com alta robustez e confiabilidade, usamos mecanismos de log que permitem um perfeito monitoramento da operação, inclusive integrando com ferramentas SNMP.

Sigilo e confidencialidade total em todos os nossos projetos.

Desenvolvemos soluções customizadas para atender exatamente às suas necessidades.