L4PT.com-Learning 4 Portugal- Aprendizagem, Conhecimento e Inovação

  • Aumentar o tamanho da fonte
  • Tamanho padrão da fonte
  • Diminuir tamanho da fonte
Início Newsletter
Item de Newsletter voltar
Edição 2010-03-16 01:40:57
Newsletter nº 7 - Administração de sistemas

Administração de sistemas e Transactional Data Management (TDM)
Escrito por Administrator
Terça, 16 Março 2010

Considerações sobre Administração de sistemas e Transactional Data Management (TDM)

- Uma tentativa de integração conceptual das soluções que permitem o roteamento (routing) , transformação, entrega , captura contínua e em tempo real de transacções de dados em ambientes heterógeneos e seguros
- Estas reflexões foram geradas por necessidade de análise e reflexão sobre a concepção de um sistema em bases de dados de alta disponibilidade em mysql 5 e Max-sql
- Dedicado a especialistas que queiram usar este acetato como mantra de reflexão sobre sistemas de transacções de dados

Aplicação da replicação de dados para alta disponibilidade, balanço de carga e fail-over.

 


Click para ver em ponto maior

LEGENDAS

Transactional Data Management -

Gestão transacional de dados

Um Sistema de TDM tem de garantir a captura , roteamento , transformação , entrega e verificação das transacções de dados através de ambientes heterógeneos em tempo real

O Mundo do negócio cada vez mais exige o acesso, análise, actuação sobre e verificação de transacções de dados, com cada vez maior rapidez , em tempo real , sem interrupção ou queda do sistema devido a 3 factores :
aumento exponencial dos volumes de dados, a necessidade de gerir e recolher esses dados e a necessidade de trabalhar em ambientes heterógeneos , distribuídos e inter-plataforma (heterogeneous, cross-platform and distributed environments) , de alta disponibilidade e contingência de recuperação de desastres

Alta Performance
High Performance

Sistemas optimizados de alto desempenho em interface com os sistemas de backup , restauração e disaster recovery,bem como sistemas em cluster com load balencers , como condição para a alta disponibilidade

Alta disponibilidade
High Availability
Alta Disponibilidade deve ser constituída por detecção de falhas de nós ou serviços e reconfiguração do sistema apropriadamente, fazendo um balanço da carga entre os nós restantes do cluster.
A Disponibilidade de um sistema computacional, indicada por H(t), é a probabilidade do sistema estar a funcionar e pronto para uso em um dado instante de tempo t. --->Características e exigências:

---->Um sistema altamente disponível é um sistema capaz de ser tolerante a eventuais falhas, em que caso um host de um servidor tenha problemas, automaticamente uma outra máquina tem que "assumir" o lugar da que falhou, não deixando que o sistema pare de funcionar.

A Alta disponibilidade depende do planeamento, investimento em hardware, software, etc.
Disaster recovery (Recuperação de desastre)

Disaster recovery - A progressiva dependência das organizações do acesso à informação constitui um factor de risco e para a actividade das empresas a nível mundial.

Para além da definição de metodologias a adoptar em caso de catástrofe, os planos de Disaster Recovery incluem um conjunto de tecnologias que possibilitam que a empresa se mantenha em funcionamento numa situação de catástrofe.

Entre os planos de Disaster recovery mais comuns, contam-se a replicação de dados e equipamentos em centros de informática dotados de sistemas de elevada segurança ou a contratação de serviços de empresas de informática que, em caso de catástrofe, asseguram a operacionalidade dos sistemas de informação da empresa.

Optimização de consultas Processo de melhoria do sistema de consultas usado especialmente as que surgem a nível do slow log ( Optimização de queries e uso de índices , identificar e determinar o plano de execução de queries )
Optimização do SGBD Optimização do SGBD ---> Processo que envolve a concepção do modelo lógico da base de dados criando a sua estrututra de forma a facilitar as consultas analisando os schemas  - (Optimização da estrutura lógica )
Optimização do S.O.e Hardware Optimização do S.O.e Hardware ---> Melhorar aferir e monitorizar o desempenho do SO que suportará todo o sistema, além do hardware e suas configurações. (Optimização física da base de dados e do servidor MySQL )
Balanço de carga Balanço de carga--> (Load Balancing) é um mecanismo usado para atingir escalabilidade, dividindo a carga de processamento entre um conjunto de servidores, a que se chama server farm.

Balanço de carga, de modo geral, é a divisão das tarefas entre um grupo de servidores com funcionalidade similar, utilizando de maneira inteligente os recursos disponíveis e permitindo o processamento de mais informações em menos tempo.
A açcão pode ser baseada em factores como carga de trabalho do servidor, quantidade de ligações activas do servidor, sincronização de dados ou necessidade de serviços específicos.
Balanço de carga é a divisão das tarefas entre um grupo de servidores com funcionalidades semelhantes , utilizando de maneira inteligente os recursos disponíveis e permitindo o processamento de mais informações em menos tempo. A acção pode ser baseada em factores como carga de trabalho do servidor, quantidade de ligações activas do servidor, sincronização de dados ou necessidade de serviços específicos.
Replication
Replicação
O objectivo de um mecanismo de replicação de dados é permitir a manutenção de de várias cópias idênticas dos dados de um sistema em vários servidores de base de dados (SGBD).

O principal benefício da replicação de dados é a redundância, o que torna o sistema menos sensível as falhas, abre possibilidades a um balanço de carga do sistema, já que o acesso pode ser distribuídos entre as réplicas, e finalmente, ter a possibilidade de fazer um backup online dos dados, já que todos as replicas estariam sincronizadas.
Clustering Clustering --->é a interacção de múltiplos computadores (PCs ou Workstations UNIX) com múltiplos dispositivos de armazenamento e ligações redundantes de modo a assegurar alta disponibilidade e/ou balanço de carga.
Os servidores de clustering monitorizam cada operação de outro servidor e tomam medidas automaticamente (Failover) assim que uma falha é detectada no sistema.

Os sistemas em cluster possuem redundância de hardware e software,
e consite num de um número de nódulos independentes, em que cada nó tem uma cópia do sistema operativo e das aplicações de software
. A Alta Disponibilidade pode ser conseguida detectando falhas nos nós ou deamons r reconfigurar o sistema de forma que a carga de trabalho pode ser retomada pelos nódulos restantes.
Existe muito trabalho a desenvolver , mesmo usando ferramentas disponíveis no mercado para construir sistemas de cluster altamante fiáveis.
Replication
Replicação
O objectivo de um mecanismo de replicação de dados é permitir a manutenção de de várias cópias idênticas dos dados de um sistema em vários servidores de base de dados (SGBD).

Os principal benefício da replicação de dados é a redundância, o que torna o sistema menos sensível as falhas, abre possibilidades a um balanço de carga do sistema, já que o acesso pode ser distribuídos entre as réplicas, e finalmente, ter a possibilidade de fazer um backup online dos dados, já que todos as replicas estariam sincronizadas.
Backup e Restauração
Backup& Restore
O backup consistente da base de dados serve para manter a integridade dos dados caso haja uma falha do sistema, hardware ou até mesmo para corrigir eventuais falhas de utilizadores, como por exemplo, a remoção acidental de uma base de dados. O restauro é a operação inversa de repor dados e ou estrutura das tabelas .
Sincronização
Synchronization

Só em Max-sql
Sincronização--->Objectivo :Uma instância  em que uma base de dados master e uma ou mais instâncias de base de dados-cliente sincronizam os seus dados

A instância  de uma base de dados não está sempre ligada á rede numa base contínua .
Ao ser ligada novamente, a instância de uma base de dados tem de iniciar um serviço de sincronização para aquela instância da base de dados.

O serviço de sincronização então actualiza todos os dados na instância  da base de dados e envia qualquer mudança de dados para as outras instâncias de bases de dados .

Os serviços de sincronização das instâncias das bases de dados envia as alterações para o message server e encontra as alaterações das instâncias das outras basese de dados pelo . Os serviços de sincronização resolvem colisões.
Transacção

Transacção - Conjunto de procedimentos executados por um SGBD que é visto pelo utilizador como uma única acção.
Ex.: transferência de 500,00€ do cliente A para o cliente B. A integridade da transação depende de 4 propriedades (ACID)

ACID Para assegurar integridade dos dados , as transacções precisam de estar de acordo com as seguintes quatro condições : atomicity (atomicidade), Consistency (consistência), isolation (isolamento), e durability (durabilidade) (acrónimo ACID ).
Atomicity - Atomicidade Atomicity - significa que a transação tem de acabar. Se não acontecer toda a transacção é abortada.
Isto assegura que a base de dados não recebe transações incompletas reforçando a integridade
Exemplo:Se se estiver numa base de dados a transferir dinheiro entre duas contas a transacção não é efectuada até o dinheiro sair e entra noutra conta
Consistency - Consistência Consistency - refere-se ao estado dos dados perante certas condições .
Exemplo: uma regra é que cada encomenda tem de se relacionar com um cliente na respectiva tabela .
Estas regras podem ser quebradas se no fim da transacção se inserir uma encomenda sem ID de cliente ,que é inserido num outro estádio da transacção.
Estas violações temporárias não são visíveis fora da transacção e serão sempre resolvidas antes da transacção estar completa
Isolation - Isolamento

Isolation - todos os dados a ser usados durante o processamento de uma transacção não pode ser usada por outra transacção até a primeira transacção estar completa

Exemplo: se duas pessoas depositam 100€ numa conta com 900€, a primeira transacção tem de adicionar 100€ a 900€, e a segunda tem de adicionar 100€ a 1,000€.

Se a segunda transacção lê os 900€ antes da primeira transacção estar completa ambas são bem sucedidas mas desaparecem 100€. A segunda transacção tem de esperar até ela sózinha estar a aceder aos dados.

Durability - Durabilidade Durability - refere-se ao facto de após os dados de uma transacção estar atribuída os seus efeitos permanecerão mesmo depois de uma falha do sistema . Enquanto acontece uma transacção os efeitos não são persistentes.
Se uma base de dados faz crash, os backups farão a restauração para um estado consistente anterior á transacção ter começado .
Nada que uma transacção faça pode ser capaz de mudar esse facto
Falha Fallha - --->Uma falha acontece no universo físico, ou seja, no nível mais baixo do hardware.
Uma flutuação da fonte de alimentação, por exemplo, é uma falha.
Uma interferência electromagnética também.
Estes são dois eventos indesejados, que acontecem no universo físico e afectam o funcionamento de um sistema ou de partes dele.
Erro Erro----> A ocorrência de uma falha pode acarretar um erro, que é a representação da falha no universo informacional.
Um computador trabalha com bits, cada um podendo conter 0 ou 1. Uma falha pode fazer com que um (ou mais de um) bit troque de valor inesperadamente, o que afectará o funcionamento normal do sistema .
Uma falha, pode assim gerar um erro nalguma informação.
Defeito

Defeito ---> Ao aparecer informação errada, se não for percebida e tratada, irá gerar o que se conhece por um defeito.
O sistema simplesmente pára, ou exibe uma mensagem de erro, ou perde os dados do utilizador muitas vezes sem dar feedback. Isto é percebido no universo da interface do utilizador.

A Tolerância a Falhas visa exactamente acabar com as falhas, ou tratá-las enquanto ainda são erros.
Na Alta Disponibilidade permite que máquinas travem ou errem, desde que que exista outra máquina para assumir seu lugar.

Para que uma máquina assuma o lugar de outra, é necessário que descubra de alguma forma que a outra falhou.

Isso é feito através de testes periódicos, cujo período deve ser configurável, nos quais a máquina secundária testa não apenas se a outra está activa, mas também fornecendo respostas adequadas a requisições de serviço.

Um mecanismo de detecção a funcionar mal pode causar instabilidade no sistema. Por serem periódicos, nota-se que existe um intervalo de tempo durante o qual o sistema pode estar indisponível sem que a outra máquina o perceba.

Failover

O processo no qual uma máquina assume os serviços de outra, quando esta última apresenta falha, é chamado failover.
O failover pode ser automático ou manual, sendo o automático o que normalmente se espera de uma solução de Alta Disponibilidade.
Ainda assim, algumas aplicações não críticas podem suportar um tempo maior até a recuperação do serviço, e portanto podem utilizar failover manual

Além do tempo entre a falha e a sua detecção, existe também o tempo entre a detecção e o restabelecimento do serviço. As grandes bases de dados, podem exigir um considerável período de tempo até que indexem as suas tabelas, e durante este tempo o serviço ainda estará indisponível.

Para se executar o failover de um serviço, é necessário que as duas máquinas envolvidas possuam recursos equivalentes.
Um recurso pode ser uma placa de rede, um disco rígido, ainda mais importante, os dados neste disco, e todo e qualquer elemento necessário à prestação de um determinado serviço.
É vital que uma solução de Alta Disponibilidade mantenha recursos redundantes com o mesmo estado, de forma que o serviço possa ser retomado sem perdas.

Dependendo da natureza do serviço, executar um failover significa interromper as transacções a decorrer, perdendo-as, sendo necessário reiniciá-las após o failover.
Noutros casos, significa apenas um retardamento até que o serviço esteja novamente disponível. Nota-se que o failover pode ou não ser um processo transparente, dependendo da aplicação envolvida

Failback Ao ser percebida a falha de um servidor, além do failover é obviamente necessário que se faça manutenção no servidor que falhou.
Ao ser recuperado de uma falha, este servidor será recolocado em serviço, e então existe a opção de realizar o processo inverso do failover, que se chama failback.

O failback é portanto o processo de retorno de um determinado serviço de uma outra máquina para sua máquina de origem.
Também pode ser automático, manual ou até mesmo acontecer aleatóriamente.
Missão

Quando se calcula a disponibilidade de um sistema, é importante que se tenha em conta o conceito de missão.
Missão de um sistema é o período de tempo no qual ele deve desempenhar suas funções sem interrupção.
Exemplo: uma farmácia, que funcione das 8h às 20h, não pode ter seu sistema fora do ar durante este período de tempo. Se este sistema vier a apresentar defeitos fora deste período, ainda que indesejados, estes defeitos não atrapalham em nada o andamento correcto do sistema quando ele é necessário.
Uma farmácia de serviço 24h obviamente tem uma missão contínua, de forma que qualquer tipo de paragem deve ser mascarada.

A Alta Disponibilidade visa eliminar as paragens não planeadas.
Porém, no caso da primeira farmácia, as paragens planeadas não devem acontecer dentro do período de missão.
Paragens não planeadas decorrem de defeitos, e paragens planeadas são aquelas que são necessárias para actualizações, manutenção preventiva e actividades correlativas.
Desta forma, toda a paragem dentro do período de missão pode ser considerada uma falha no cálculo da disponibilidade.

Uma aplicação de Alta Disponibilidade pode ser projectada inclusivamente para suportar paragens planeadas, o que pode ser importante, por exemplo, para permitir a actualização de programas por problemas de segurança, sem que o serviço deixe de ser prestado.

Heartbeat - Sinal de Vida Heartbeat - Sinal de Vida - onde reside a configuração dos serviços e do 'ip de serviço'.
É o heartbeat o reponsável pela reconfiguração automatizada na ocorrência de problemas.
Cada máquina possui seu ip próprio, válido ou não, mas o conjunto é identificado por um ip de serviço, que é mantido pela máquina primária no par.
Ao acontecer uma paragem no sistema, o heartbeat de um lado activa os serviços e ips, e do outro assume
O software do heartbeat pode ser encontrado em http://linux-ha.org/download/

O HeartBeat tem como objectivo criar um backup de um servidor, tendo como base o Load Balancer que é o ponto mais frágil de um cluster.
Com um backup do load balancer, o heartbeat pode monitorar via cabo ethernet ou serial o servidor original e quando verificar que o serviço LVS  caiu no load balancer, ele automaticamente activa o backup, que assume o lugar do load balancer até que um administrador possa corrigir o problema no servidor original.
thread(Multi) Threads - Multithreaded quer dizer que cada vez que alguém estabelece uma ligação com o server , o programa no server cria um thread ou processo para responder aos pedidos dos clientes .
É isto que faz um servidor ser rápido .
Cada cliente que se liga a um servidor base de dados Mysql ele actua na sua própria thread.
Detecção de Falhas e Diagnóstico de Falhas (Failure Detection and Fault Diagnosis) O objectivo básico de diagnósticos de falhas é identificar as unidades defeituosas num sistema.
Instâncias num cluster detecta falhas nas instâncias  dos seus servidores peer, monitorizando ligações por Socket a um servidor peer ou por mensagens regulares do heartbeat
Ler mais...

Providenciado por Communicator 2.0.0

Inserir Empresa no Graal


Subscreva a nossa Newsletter










Últimas Entradas do Graal

Últimos Empregos

Vendedor de E-Sistemas de Gestão
Category: Computadores/TICs
Posted: May 13 13, 2009

Contador de Amigos

mod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_counter
mod_vvisit_counterhoje109
mod_vvisit_counterontem157
mod_vvisit_counteresta semana656
mod_vvisit_counterúltima semana749
mod_vvisit_countereste mês1074
mod_vvisit_counterúltimo mês3610
mod_vvisit_countertodos43396

Online (20 minutos atrás): 4
O teu IP: 38.107.191.116
,
Agora: 2010-09-09 17:45

Novidades Flash

H+ Magazine

Na tradição da revista futurista Mondo 2000 dos anos 80 e 90 , chega agora pelas mãos do mesmo editor a revista H+ (Humanization - Humanização ) - cobrindo áreas do conhecimento tecnológico, científico, mudanças culturais , nanotecnologia, extensão da vida e das capacidades humanas, novas tecnologias de materiais, robótica etc

Em lingua inglesa

Faça download do Nº 2 - Primavera 2009 em http://hplusmagazine.com/

Editora : Humanity Plus
Editor-Chefe: RU Sirius
Director Artístico DC Spensley