OK, então você deve ter notado a palavra “distribuído” em nosso local na rede Internet. Você provavelmente está pensando: 'Espere um minuto, isso significa que o Hive é um descentralizado nuvem? '.
Bem, é o seguinte. Os termos “descentralizado” e “distribuído” são frequentemente usados de forma intercambiável, mas não é o caso de potay-to, potah-to. As duas palavras são dois conceitos separados. Vamos falar sobre como eles são diferentes, seus prós e contras e os benefícios de uma nuvem distribuída.
Respire fundo. Vamos começar, colmeia mente!
Web2 é dominado pela Big Tech. Você sabe quem eles são. Os Googles, os Metas, os Apples. Eles exercem controle total sobre a funcionalidade de seus serviços e sobre os dados dos usuários. Isso é o que chamamos de sistemas centralizados. Agora, tire esse proprietário central do sistema. O que você ganha? Um sistema descentralizado. É um sistema no qual não há autoridade central ou componente centralizado que tenha controle sobre todo o sistema. Em vez disso, o controle é distribuído entre os vários componentes do sistema.
TL; DR: os sistemas centralizados têm um, digamos, soberano. Os sistemas descentralizados oferecem energia para muitos, não apenas para poucos.
Um sistema distribuído consiste em componentes fisicamente separados. Eles se comunicam entre si por meio de uma rede. Isso permite que os recursos sejam compartilhados e as cargas de trabalho sejam distribuídas em várias máquinas, geralmente melhorando a eficiência e o desempenho. Mas um sistema distribuído ainda pode ter uma autoridade central que coordena e controla os vários componentes.
TL; DR: ao aproveitar a potência de muitos componentes separados, os sistemas distribuídos podem permitir o compartilhamento de recursos e melhorar a eficiência e o desempenho. Esses sistemas podem funcionar com ou sem uma autoridade central.
Então... quais são as diferenças entre os dois sistemas? Em um sistema descentralizado, o controle é distribuído entre os componentes do sistema, enquanto em um sistema distribuído, os componentes são separados fisicamente e se comunicam por uma rede. Ambos os tipos de sistemas podem ser usados para permitir o compartilhamento de recursos e cargas de trabalho. Eles diferem na forma como o controle é gerenciado no sistema.
Como com qualquer outra coisa, há vantagens e desvantagens em ambos. E, como com qualquer outra coisa, talvez uma lista de prós e contras possa ajudá-lo a entender melhor o debate descentralizado versus distribuído.
Também é importante entender que as possíveis desvantagens não são exclusivas dos sistemas descentralizados. Os sistemas centralizados também podem ter problemas com complexidade, falta de transparência e escalabilidade, entre outras coisas. Em última análise, a escolha entre um sistema descentralizado e um centralizado dependerá das necessidades e metas específicas de uma organização ou aplicativo.
Se a história recente serve de referência, a tecnologia evolui e torna as coisas melhores. Enquanto os sistemas centralizados permitiram que as primeiras redes crescessem, o pensamento por trás delas evoluiu, dando lugar aos sistemas descentralizados. E então, ao distribuir recursos e direitos em redes inteiras, os sistemas distribuídos estão se mostrando tolerantes a falhas, mais seguros e mais transparentes. À medida que o clamor por sistemas distribuídos cresce, seus custos de implantação e manutenção cairão. Podemos ser tendenciosos aqui, mas acreditamos que os sistemas distribuídos são o futuro 😉.
Agora que você sabe a diferença entre os dois Ds, podemos dizer que o Hive é um sistema de armazenamento distribuído. Está hospedado no computador de todos. O Hive também conta com uma camada de troca de dados descentralizada. Assim, um Hiver sempre poderá recuperar seus dados diretamente dos colegas, sem interagir com uma autoridade central. Mas, assim como os “blockchains autorizados”, alguns de nossos serviços avançados dependerão da camada de controle do Hive.
Espere, você tem mais perguntas?
OK, o Dropbox e o Google Drive são dois exemplos de sistemas centralizados.
Um exemplo de sistema descentralizado é uma rede peer-to-peer, como a usada pelo BitTorrent. Em uma rede peer-to-peer, não há um servidor central que controle o fluxo de informações. Em vez disso, cada participante da rede atua como cliente e servidor, compartilhando recursos e cargas de trabalho com outros participantes.
Um exemplo de sistema distribuído é um cluster de computadores usado para realizar uma tarefa específica, como renderizar uma animação 3D. Nesse caso, os computadores no cluster são conectados a um servidor central que coordena seus esforços e distribui a carga de trabalho entre eles.
Boa pergunta. O Hive divide seus arquivos armazenados em fragmentos de dados espalhados por sua rede P2P. Fragmentos adicionais são criados para contabilizar o desaparecimento de colegas do Hive ou a destruição de conteúdo por falhas de hardware. Por exemplo, vamos supor que 100 fragmentos criptografados sejam gerados a partir do seu arquivo e enviados para 100 pares. Eles são gerados de forma que apenas 70 sejam necessários para reconstruir o arquivo original. Os fragmentos perdidos são regenerados assim que descobrimos que colegas estão saindo. Com apenas 30% de sobrecarga, a probabilidade de não conseguir acessar o conteúdo é, então, várias ordens de magnitude menor em comparação com a estratégia de replicação simples. Você pode ler mais sobre isso aqui.
Confira nosso artigos para mais. É uma colmeia absoluta de conhecimento.
Os sistemas centralizados, descentralizados e distribuídos variam em sua arquitetura e mecanismos de controle. Sistemas centralizados, exemplificados por plataformas como Dropbox e Google Drive, têm uma única autoridade central controlando o fluxo de dados. Sistemas descentralizados, como redes peer-to-peer como BitTorrent, distribuem o controle entre os participantes da rede. Sistemas distribuídos, como clusters usados para renderizar animações 3D, envolvem componentes fisicamente separados que se comunicam por uma rede. Exemplos reais ilustram como cada tipo de sistema opera e suas implicações para o gerenciamento e controle de dados.
O Hive opera como um sistema de armazenamento distribuído, distribuindo arquivos em fragmentos em sua rede ponto a ponto. Essa arquitetura garante a disponibilidade e a resiliência dos dados ao gerar fragmentos adicionais para compensar a saída de colegas da rede ou falhas de hardware. Por exemplo, se 100 fragmentos criptografados forem criados a partir de um arquivo e distribuídos para 100 pares, somente 70 fragmentos serão necessários para reconstruir o arquivo original. Os fragmentos perdidos são regenerados imediatamente após a detecção de saídas de colegas. Com uma sobrecarga mínima, o Hive reduz significativamente o risco de perda de dados em comparação com as estratégias tradicionais de replicação, fornecendo acessibilidade e integridade robustas de dados em sua estrutura distribuída.
A transição de arquiteturas centralizadas ou descentralizadas para sistemas distribuídos como o Hive pode representar desafios para as organizações. Esses desafios podem incluir adaptar a infraestrutura existente, garantir a compatibilidade com sistemas legados e gerenciar as complexidades associadas a ambientes distribuídos. Além disso, as organizações podem encontrar dificuldades em lidar com questões de segurança, manter a consistência dos dados e gerenciar a escalabilidade da rede. No entanto, esses desafios podem ser enfrentados por meio de planejamento abrangente, alocação estratégica de recursos e aproveitamento da experiência em design e implementação de sistemas distribuídos. Os esforços colaborativos entre as partes interessadas, juntamente com estratégias completas de avaliação e mitigação de riscos, podem facilitar uma transição suave para arquiteturas distribuídas e, ao mesmo tempo, maximizar os benefícios de maior resiliência, escalabilidade e disponibilidade de dados.