Agora você pode negociar XRP na MODIAX Saiba mais arrow_forward
Blockchain

Qual a diferença entre as bases de dados centralizadas, descentralizadas e distribuídas?

dezembro 18, 2018

Qual a diferença entre as bases de dados centralizadas, descentralizadas e distribuídas?

O blockchain, que tornou possível a existência de uma moeda totalmente digital, é uma base de dados distribuída. Mas será que você sabe exatamente o que isso significa?

Antes de mais nada, uma base de dados é uma coletânea organizada de informações que são geralmente armazenadas e acessadas eletronicamente. Elas podem ser classificadas em três tipos:

Ilustração de uma rede distribuída, uma descentralizada e de uma centralizada

Centralizada: os dados são armazenados em um único computador chamado de servidor, ao qual você precisa se conectar para acessar as informações.

Descentralizada: não há um ponto central e os dados são armazenados em vários servidores conectados entre si que podem estar em um mesmo local físico ou dispersos. Para ter acesso aos dados, é preciso se conectar a um desses servidores.

Distribuída: cada computador (nó) da rede possui uma cópia de todos os dados, tendo, portanto, igual importância e acesso às informações. Esses nós podem estar dispersos geograficamente.

Cada modelo tem determinadas implicações, as quais trataremos a seguir com mais detalhes.

Bases de dados centralizadas

Como o próprio nome já diz, esse modelo oferece ao detentor do servidor onde são mantidos e processados os dados um grande domínio sobre as informações registradas, por isso é necessário ter muita confiança nessa entidade responsável. Ele também oferece uma forma eficaz de armazenar as informações e controlar sua acessibilidade, além de reduzir a redundância dos dados.

Os modelos centralizados são relativamente simples de serem criados e mantidos. Eles foram e ainda são largamente utilizados, porém, dada a enorme quantidade de dados produzida e armazenada atualmente, outros modelos vêm ganhando espaço em razão dos problemas apresentados pela centralização. Vejamos alguns:

Escalabilidade: bases centralizadas possuem recursos finitos, consequentemente a capacidade de armazenamento e de tráfego é limitada, o que restringe sua expansão.

Resiliência: os pedidos de acesso recaem sobre um único servidor, logo uma grande quantidade de pedidos pode sobrecarregá-lo e fazer com que ele deixe de responder, tornando os dados temporariamente inacessíveis.

Segurança: há um único ponto de vulnerabilidade, o que facilita ataques de hackers maliciosos. Caso a base de dados seja perdida por algum motivo, não há nenhuma cópia para recuperar as informações. Ademais, qualquer um com acesso ao servidor central pode adicionar, remover ou alterar qualquer dado.

Acessibilidade: se o acesso aos dados for requisitado de uma localização distante, um outro país por exemplo, a conexão pode se tornar um problema, aumentando o tempo de espera para o acesso. Além disso, se o armazenamento central tiver problemas, você não poderá obter suas informações a menos que eles sejam resolvidos.

Para facilitar sua compreensão, pense na base de dados centralizada como a única biblioteca do mundo. Além do espaço ser limitado, restringindo a quantidade de livros disponíveis (escalabilidade), se todo mundo resolvesse pegar um livro emprestado no mesmo momento, haveria fila e provavelmente falta de disponibilidade do título (resiliência). Quem quisesse ler precisaria ir até o local (acessibilidade) e caso houvesse um incêndio, não seria possível recuperar os livros queimados (segurança).

Bases de dados descentralizadas

O objetivo de um modelo descentralizado é otimizar o processamento de dados, dividindo-o entre os diversos servidores conectados entre si, o que possibilita o compartilhamento dos recursos e torna o acesso mais eficiente. Comparando-o com o modelo centralizado temos:

Escalabilidade: com mais servidores, há um aumento dos recursos e da capacidade total, consequentemente há um limite bem maior de armazenamento e tráfego.

Resiliência: todos os pedidos de edição, exclusão ou adição de dados são divididos entre os diversos servidores da rede, o que significa que qualquer quantidade de solicitações pode ser tratada a qualquer momento, diminuindo muito a possibilidade de uma sobrecarga.

Segurança: é mais seguro, pois não depende de um único servidor. Ataques hacker à bases descentralizadas precisam ser mais complexos e são mais caros. Um ataque de negação de serviço (Distributed Denial of Service – DDoS), por exemplo, só seria possível caso sua capacidade fosse muito maior que a da rede.

Além disso, caso algum nó seja desativado por algum motivo ou seja feita alguma alteração acidental, os dados podem ser recuperados, pois há cópias dessas informações em outros servidores.

Acessibilidade: para ter acesso aos dados é preciso se conectar a um dos servidores da rede, normalmente àqueles mais próximos para agilizar o acesso. Ademais, se algo acontecer a algum servidor, os outros podem ajudar fornecendo aos usuários os dados que eles precisam, enquanto o dano é consertado.

Considerando novamente o exemplo da biblioteca, seria como se houvesse várias bibliotecas espalhadas pelo mundo. Comparando-se ao modelo centralizado e à existência de uma única biblioteca, ainda haveria um limite de espaço para os livros, embora fosse maior (escalabilidade). Se todo mundo resolvesse pegar um livro emprestado no mesmo momento, poderia ter uma fila, mas seria menor (resiliência). Quem quisesse ler precisaria ir até uma das bibliotecas (acessibilidade) e, caso houvesse um incêndio, como haveria cópia dos livros em outras bibliotecas, as obras não seriam perdidas (segurança).

Bases de dados distribuídas

Pode-se dizer que o modelo distribuído é o modelo descentralizado levado ao seu limite. Ele exige maiores esforços na construção e na atualização da base. Comparando-se com o modelo centralizado e descentralizado temos:

Escalabilidade: há um aumento ainda maior dos recursos e da capacidade total, tornando-a quase ilimitada.

Resiliência: cada um pode acessar a própria cópia, portanto não existe problema de sobrecarga.

Segurança: os ataques hacker a bases distribuídas precisam ser mais complexos e são mais caros. Para destruir toda a base de dados, por exemplo, seria necessário atacar todos os nós da rede de uma vez, algo quase impossível. Se um deles for desativado por algum motivo, os outros também possuem uma cópia de toda a base, portantos as informações registradas não serão afetadas.

Acessibilidade: cada um pode acessar a própria cópia da base de dados.

Voltando mais uma vez ao exemplo da biblioteca, imagine que existam apenas 50 livros no mundo e que cada pessoa possua uma cópia de cada título, portanto, cada uma tem cada um desses 50 livros em sua própria casa. De certa forma, não há mais a necessidade de existirem bibliotecas, pois cada um tem a própria biblioteca em casa. Não há problemas de acessibilidade e rede é mais segura e resiliente.

O que isso tem a ver com blockchain?

O blockchain é uma base de dados distribuída. Cada computador tem uma cópia de todos os dados, portanto tem acesso a todas as informações e pode interagir com elas diretamente. A manutenção e sincronização são feitas por um algoritmo de consenso, que requer um acordo entre todos os participantes da rede para a tomada de decisões, algo que consome mais recursos e esforços.

A confiança deixa de ser depositada em um único ator, como é nos modelos centralizados, e passa a ser distribuída entre todos os nós do sistema de forma tão igual, que acaba tornando-se desnecessária. Os nós agem com integridade, porque há muitos incentivos para sua contribuição e desincentivos à condutas maliciosas.