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.
|
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 |
| 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. |
| 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 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. |
| 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 A instânciade uma base de dados não está sempre ligada á rede numa base contínua . |
| Transacção |
Transacção - Conjunto de procedimentos executados por um SGBD que é visto pelo utilizador como uma única acção. |
| 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 |
| 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. A Tolerância a Falhas visa exactamente acabar com as falhas, ou tratá-las enquanto ainda são erros. Para que uma máquina assuma o lugar de outra, é necessário que descubra de alguma forma que a outra falhou. |
| Failover |
O processo no qual uma máquina assume os serviços de outra, quando esta última apresenta falha, é chamado failover. Para se executar o failover de um serviço, é necessário que as duas máquinas envolvidas possuam recursos equivalentes. 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. |
| 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. A Alta Disponibilidade visa eliminar as paragens não planeadas. 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 |
| 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 |
Sistemas de exploração e integração de Bases de Dados - Processos e Estruturas

Click para ver em ponto maior
| < Anterior | Seguinte > |
|---|














