Você está na página 1de 8

#PÚBLICA#

Jéssica Moura- Banco de dados distribuídos

BANCO DE DADOS DISTRIBUIDOS

CONFIABILIDADE E DISPONIBILIDADE

Confiabilidade é definida em termos gerais como a probabilidade de um sistema


estar funcionando em certo ponto no tempo, quanto a disponibilidade é a
probabilidade de que o sistema esteja continuamente disponível durante um
intervalo de tempo.

Podemos relacionar diretamente confiabilidade e disponibilidade do bando de


dados aos defeitos, erros e falhas associadas a ele. Uma falha pode ser descrita
como um desvio de um comportamento do sistema daquele especificado a fim
de garantir a execução correta das operações. Erros constituem o subconjunto
de estados do sistema que causam a falha. Defeito é a causa de um erro.

CONFIABILIDADE

A confiabilidade e disponibilidade dos bancos de dados distribuídos dependem


de vários fatores, como a arquitetura do sistema, o hardware e o software
utilizados, a redundância dos dados e a estratégia de recuperação de falhas.

A confiabilidade refere-se à capacidade do sistema de garantir a integridade, a


consistência e a precisão dos dados armazenados. Para garantir a
confiabilidade, os bancos de dados distribuídos geralmente utilizam técnicas
como a replicação de dados, que envolve manter várias cópias dos dados em
diferentes servidores para garantir que, se um servidor falhar, ainda haja outras
cópias disponíveis. Outras técnicas incluem a verificação de integridade dos
dados, o uso de transações e a aplicação de controles de acesso.

A tolerância a falhas em bancos de dados distribuídos envolve a capacidade do


sistema de continuar a operar corretamente, mesmo quando ocorrem falhas em
um ou mais nós do sistema. Isso é alcançado por meio de uma série de técnicas,
como a replicação de dados, em que os dados são armazenados em vários nós
do sistema, de modo que, se um nó falhar, os dados ainda estarão disponíveis
em outros nós. Além disso, a replicação também pode aumentar a
disponibilidade dos dados, permitindo que eles sejam acessados a partir de
múltiplos locais.

#PÚBLICA#
#PÚBLICA#

Jéssica Moura- Banco de dados distribuídos

DISPONIBILIDADE

Já a disponibilidade refere-se à capacidade do sistema de fornecer acesso aos


dados quando necessário. Para garantir a disponibilidade, os bancos de dados
distribuídos geralmente utilizam técnicas como o balanceamento de carga, que
envolve distribuir a carga de trabalho entre vários servidores para evitar
sobrecarga, e a replicação de dados, que permite que os usuários acessem
cópias dos dados em diferentes servidores.

O balanceamento de carga é um processo de distribuição de solicitações de


usuários entre os nós do sistema para evitar que um único nó fique
sobrecarregado e falhe.

Além disso, é importante ter um sistema de monitoramento em tempo real para


detectar falhas no sistema e permitir que ações corretivas sejam tomadas
rapidamente para minimizar o tempo de inatividade.

ESCALABILIDADE E TOLERANCIA À PARTIÇÃO

A escalabilidade determina a extensão à qual o sistema pode expandir sua


capacidade e continuar operando sem interrupção. Existem dois tipos de
escalabilidade:

Escalabilidade horizontal: refere-se à expansão do número de nós no


sistema distribuído. À medida que são acrescentados nós ao sistema,
deverá ser possível distribuir alguns dos dados e cargas de
processamento dos nós existentes para os novos nós.
Escalabilidade vertical: refere-se à expansão da capacidade dos nós
individuais no sistema, como a expansão da capacidade de
armazenamento ou do poder de processamento de um nó.

AUTONOMIA

A autonomia em bancos de dados distribuídos refere-se à capacidade de cada


nó do sistema de operar independentemente, sem depender de outros nós do
sistema. Isso significa que cada nó do sistema deve ser capaz de tomar decisões
independentes sobre o gerenciamento e acesso aos dados armazenados
localmente.

#PÚBLICA#
#PÚBLICA#

Jéssica Moura- Banco de dados distribuídos

A autonomia em bancos de dados distribuídos é importante porque permite que


cada nó seja responsável por uma parte específica do sistema, sem que haja um
único ponto de falha que possa afetar o sistema como um todo. Além disso, a
autonomia também permite que cada nó do sistema seja otimizado para tarefas
específicas, permitindo que o sistema como um todo funcione de maneira mais
eficiente.

Para garantir a autonomia em bancos de dados distribuídos, é importante ter


uma arquitetura distribuída bem definida e um conjunto de protocolos de
comunicação que permitam que os nós se comuniquem e coordenem suas
atividades de maneira eficiente. Além disso, é importante ter mecanismos de
segurança para garantir que cada nó do sistema seja protegido contra-ataques
e acesso não autorizados.

VANTAGENS DOS BANCO DE DADOS DISTRIBUIDOS

Maiores facilidade e flexibilidade de desenvolvimento da aplicação: o


desenvolvimento e a manutenção de aplicação em nós geograficamente
distribuídos de uma organização são facilitados pela transparência da
distribuição e controle de dados.
Maior disponibilidade: isso é obtido pelo isolamento da falha ao seu nó de
origem, sem afetar os outros bancos de dados conectados à rede. Quando os
dados e o software de SGBDD são distribuídos por vários nós, um deles pode
apresentar falha enquanto outro continuam a operar. Apenas os dados e o
software que existem no nó defeituoso não poderão ser acessados. Isso
melhora tanto a confiabilidade quanto a disponibilidade. Uma melhora ainda
maior é obtida pela devida replicação dos dados e software em mais de um
nó.
Melhor desempenho: um SGBD distribuído fragmenta o banco de dados ao
manter os dados mais próximos de onde são mais necessários. A localização
de dados reduz a disputa pela CPU e serviços de E/S e, ao mesmo tempo,
reduz os atrasos no acesso envolvidos nas redes remotas. Quando um banco
de dados grande é distribuído por vários nós, existem bancos menores em
cada nó.

#PÚBLICA#
#PÚBLICA#

Jéssica Moura- Banco de dados distribuídos

Facilidade de expansão por meio da escalabilidade: em um ambiente


distribuído, a expansão do sistema por meio da inclusão de mais dados,
aumento dos tamanhos do banco de dados ou inclusão de mais dados,
aumento dos tamanhos do banco de dados ou inclusão de mais nós é muito
mais fácil que nos sistemas centralizados.

TÉCNICAS DE FRAGMENTAÇÃO, REPLIC AÇÃO E ALOCAÇÃO DE DADOS PARA PROJETO DE


BANCO DE DADOS DISTRIBUÍDO

FRAGMENTAÇÃO DE DADOS E SHARDING

A fragmentação de dados e o sharding são técnicas utilizadas em bancos de


dados distribuídos para melhorar a escalabilidade e o desempenho do sistema.

A fragmentação de dados refere-se à divisão de uma tabela em várias partes


menores, que são distribuídas em diferentes nós de armazenamento. Existem
duas formas principais de fragmentação de dados: a fragmentação horizontal e
a fragmentação vertical, como explicado nas perguntas anteriores.

O sharding, por sua vez, é uma técnica de particionamento horizontal de dados


em que um conjunto de registros é dividido em várias partições menores,
chamadas de shards. Cada shard é armazenado em um nó de armazenamento
diferente, permitindo que o sistema distribuído lide com grandes volumes de
dados.

O sharding é geralmente usado em bancos de dados distribuídos em que os


dados são distribuídos em diferentes servidores ou data centers, e cada servidor
é responsável por um determinado conjunto de dados. Com o sharding, é
possível reduzir a sobrecarga de processamento em cada nó de
armazenamento, já que cada shard é processado independentemente.

No entanto, tanto a fragmentação de dados quanto o sharding podem aumentar


a complexidade do gerenciamento de dados e da recuperação de informações.
É importante escolher cuidadosamente como os dados serão fragmentados ou
particionados para evitar a sobrecarga de comunicação entre os nós de
armazenamento e garantir que as consultas possam ser executadas de forma
eficiente.

#PÚBLICA#
#PÚBLICA#

Jéssica Moura- Banco de dados distribuídos

FRAGMENTAÇÃO HORIZONTAL

A fragmentação horizontal em bancos de dados distribuídos ocorre quando as


linhas de uma tabela são divididas em diferentes nós de armazenamento. Isso
significa que cada nó de armazenamento contém apenas uma parte das linhas
da tabela original.

Essa técnica é usada em bancos de dados distribuídos para melhorar o


desempenho e a escalabilidade do sistema. Com a fragmentação horizontal, é
possível distribuir o processamento de consultas entre diferentes nós de
armazenamento e, assim, reduzir o tempo de resposta.

Por exemplo, considere uma tabela de vendas com as informações de vendas


de uma loja em diferentes dias. Com a fragmentação horizontal, cada nó de
armazenamento pode ser responsável pelas informações de vendas de um
determinado período, como um mês ou uma semana.

No entanto, a fragmentação horizontal também pode aumentar a complexidade


da recuperação de dados, pois pode ser necessário realizar uniões (unions)
entre diferentes nós de armazenamento para recuperar todas as informações
necessárias. Além disso, é importante escolher cuidadosamente como as linhas
serão fragmentadas para evitar a sobrecarga de comunicação entre os nós de
armazenamento.

FRAGMENTAÇÃO VERTICAL

A fragmentação vertical divide as colunas de uma tabela em partes, onde cada


fragmento contém um subconjunto das colunas da tabela original. Isso significa
que cada nó de armazenamento contém apenas uma parte das colunas da
tabela original.

Essa técnica é usada em bancos de dados distribuídos para melhorar o


desempenho e a escalabilidade do sistema. Com a fragmentação vertical, é
possível reduzir o tráfego de rede e melhorar a eficiência da consulta, já que
apenas as colunas necessárias para uma determinada consulta são acessadas.

Por exemplo, considere uma tabela de funcionários com as colunas "Nome",


"Salário", "Departamento" e "Endereço". Com a fragmentação vertical, o nó de
armazenamento responsável pelo departamento financeiro pode armazenar

#PÚBLICA#
#PÚBLICA#

Jéssica Moura- Banco de dados distribuídos

apenas as colunas "Nome", "Salário" e "Departamento", enquanto o nó de


armazenamento responsável pelo departamento de RH pode armazenar apenas
as colunas "Nome", "Departamento" e "Endereço".

No entanto, a fragmentação vertical também pode aumentar a complexidade da


recuperação de dados, pois pode ser necessário realizar junções (joins) entre
diferentes nós de armazenamento para recuperar todas as informações
necessárias. Além disso, é importante escolher cuidadosamente quais colunas
serão fragmentadas para evitar a sobrecarga de comunicação entre os nós de
armazenamento.

FRAGMENTAÇÃO MISTA

A fragmentação mista em bancos de dados distribuídos é uma combinação das


técnicas de fragmentação horizontal e vertical. Isso significa que a tabela é
dividida tanto em linhas quanto em colunas, e cada nó de armazenamento é
responsável por uma parte específica das linhas e colunas.

Essa técnica de fragmentação pode ser utilizada em bancos de dados


distribuídos em que as tabelas são muito grandes e as consultas são complexas
e requerem a recuperação de um grande número de colunas e linhas. Com a
fragmentação mista, é possível distribuir os dados de forma mais eficiente e
reduzir a sobrecarga de comunicação entre os nós de armazenamento.

Por exemplo, considere uma tabela de vendas com informações de vendas de


uma loja em diferentes dias e informações dos vendedores. Com a fragmentação
mista, cada nó de armazenamento pode ser responsável por um conjunto de
dados específicos, como as informações de vendas de um determinado período
para um determinado vendedor.

No entanto, a fragmentação mista pode aumentar a complexidade da


recuperação de dados, pois pode ser necessário realizar junções e uniões entre
diferentes nós de armazenamento para recuperar todas as informações
necessárias. Além disso, é importante escolher cuidadosamente como as linhas

#PÚBLICA#
#PÚBLICA#

Jéssica Moura- Banco de dados distribuídos

e colunas serão fragmentadas para garantir que as consultas possam ser


executadas de forma eficiente e evitar a sobrecarga de comunicação entre os
nós de armazenamento.

REPLICAÇÃO E ALOCAÇÃO DE DADOS

A replicação e a alocação de dados são conceitos importantes em bancos de


dados distribuídos, nos quais os dados são armazenados em vários nós ou
servidores. Esses bancos de dados são projetados para melhorar a
escalabilidade, desempenho e disponibilidade dos sistemas, permitindo que os
dados sejam distribuídos em vários locais geograficamente dispersos.

A replicação de dados é o processo de criar e manter cópias idênticas de dados


em diferentes nós do banco de dados distribuído. Essas cópias podem ser
armazenadas em diferentes servidores para melhorar o desempenho e a
disponibilidade do sistema. Quando uma alteração é feita em uma cópia de
dados, ela precisa ser propagada para as outras cópias para garantir a
consistência dos dados. Existem diferentes estratégias de replicação, como a
replicação síncrona e a replicação assíncrona, cada uma com suas vantagens e
desvantagens.

A desvantagem da replicação total é que ela pode atrasar bastante as operações


de atualização, já que uma única atualização local precisa ser realizada em cada
cópia do banco de dados, para manter as cópias consistentes. O outro extremo
da replicação total envolve não ter replicação, ou seja, casa fragmento é
armazenado em exatamente um nó. Nesse caso, todos os fragmentos precisam
ser disjuntos, exceto pela repetição das chaves primárias entre os fragmentos
verticais. Isso também é chamado de alocação não redundante.

Entre esses dois extremos, temos uma grande variedade de replicação parcial
dos dados, ou seja, alguns fragmentos do banco de dados podem ser replicados,
enquanto outros, não. O número de copias de cada fragmento pode variar de
uma até o total de nós no sistema distribuído.

Um caso especial de replicação parcial está ocorrendo bastante em aplicações


em que trabalhadores móveis, como o pessoal de vendas, planejadores
financeiros e consultores de seguros. Transportam bancos de dados

#PÚBLICA#
#PÚBLICA#

Jéssica Moura- Banco de dados distribuídos

parcialmente replicados com eles em laptops e PDAs e os sincronizam


periodicamente com banco de dados do servidor.

A alocação de dados refere-se à decisão de qual nó ou servidor no banco de


dados distribuído será responsável por armazenar os dados. A alocação pode
ser feita com base em diferentes critérios, como a carga de trabalho, a
localização geográfica dos usuários ou a distribuição equilibrada dos dados. A
alocação adequada dos dados pode melhorar o desempenho do sistema, reduzir
a latência de acesso aos dados e garantir uma distribuição equilibrada da carga
de trabalho entre os servidores.

#PÚBLICA#

Você também pode gostar