Vale, es posible que hayas notado la palabra «distribuido» en nuestro sitio web. Probablemente estés pensando: «Espera un momento, ¿eso significa que Hive es un descentralizado ¿nube? '.
Bueno, este es el tema. Los términos «descentralizado» y «distribuido» suelen usarse indistintamente, pero no es el caso de potay-to, potah-to. Las dos palabras son dos conceptos distintos. Vamos a hablar sobre en qué se diferencian, sus ventajas y desventajas y los beneficios de una nube distribuida.
Respira hondo. ¡Pongámonos manos a la obra, mente colmena!
Web 2 está dominado por las grandes tecnologías. Ya sabes quiénes son. Los Googles, los Meta, los Apples. Ejercen un control total sobre la funcionalidad de sus servicios y sobre los datos de los usuarios. Esto es lo que llamamos sistemas centralizados. Ahora, saque a ese propietario central del sistema. ¿Qué obtienes? Un sistema descentralizado. Es un sistema en el que no hay una autoridad central o un componente centralizado que tenga el control de todo el sistema. En cambio, el control se distribuye entre los distintos componentes del sistema.
TL; DR: los sistemas centralizados tienen, digamos, un señor supremo. Los sistemas descentralizados ofrecen energía a muchos, no solo a unos pocos.
Un sistema distribuido consta de componentes que están separados físicamente. Se comunican entre sí a través de una red. Esto permite compartir los recursos y distribuir las cargas de trabajo entre varias máquinas, lo que a menudo mejora la eficiencia y el rendimiento. Sin embargo, un sistema distribuido puede seguir teniendo una autoridad central que coordine y controle los distintos componentes.
TL; DR: al aprovechar la potencia de muchos componentes independientes, los sistemas distribuidos pueden permitir el intercambio de recursos y mejorar la eficiencia y el rendimiento. Estos sistemas pueden funcionar con o sin una autoridad central.
Entonces... ¿cuáles son las diferencias entre los dos sistemas? En un sistema descentralizado, el control se distribuye entre los componentes del sistema, mientras que en un sistema distribuido, los componentes están separados físicamente y se comunican a través de una red. Ambos tipos de sistemas se pueden usar para permitir el intercambio de recursos y cargas de trabajo. En lo que se diferencian es en la forma en que se gestiona el control dentro del sistema.
Como con cualquier otra cosa, hay ventajas y desventajas en ambos. Y como con cualquier otra cosa, tal vez una lista de pros y contras pueda ayudarlo a comprender mejor el debate entre lo descentralizado y lo distribuido.
También es importante entender que los posibles inconvenientes no son exclusivos de los sistemas descentralizados. Los sistemas centralizados también pueden tener problemas de complejidad, falta de transparencia y escalabilidad, entre otras cosas. En última instancia, la elección entre un sistema descentralizado y uno centralizado dependerá de las necesidades y objetivos específicos de una organización o aplicación.
Si nos guiamos por la historia reciente, la tecnología evoluciona y mejora las cosas. Si bien los sistemas centralizados permitieron el crecimiento de las primeras redes, las ideas en las que se basaban evolucionaron y dieron paso a los sistemas descentralizados. Y luego, al distribuir los recursos y los derechos en redes completas, los sistemas distribuidos están demostrando ser tolerantes a los fallos, más seguros y más transparentes. A medida que crezca la demanda de sistemas distribuidos, sus costos de implementación y mantenimiento caerán en picado. Puede que estemos sesgados en este sentido, pero creemos que los sistemas distribuidos son el futuro 😉.
Ahora que conoce la diferencia entre las dos D, podemos decirle que Hive es un sistema de almacenamiento distribuido. Está alojado en los ordenadores de todos. Hive también se basa en una capa de intercambio de datos descentralizada. Por lo tanto, un Hiver siempre podrá recuperar sus datos directamente de sus pares, sin interactuar con una autoridad central. Sin embargo, al igual que las «cadenas de bloques autorizadas», algunos de nuestros servicios avanzados se basarán en la capa de control de Hive.
Espera, ¿tienes más preguntas?
Vale, Dropbox y Google Drive son dos ejemplos de sistemas centralizados.
Un ejemplo de sistema descentralizado es una red punto a punto, como la que usa BitTorrent. En una red punto a punto, no hay un servidor central que controle el flujo de información. En cambio, cada participante de la red actúa como cliente y servidor, y comparte recursos y cargas de trabajo con otros participantes.
Un ejemplo de sistema distribuido es un grupo de ordenadores que se utilizan para realizar una tarea específica, como renderizar una animación 3D. En este caso, los ordenadores del clúster están conectados a un servidor central que coordina sus esfuerzos y distribuye la carga de trabajo entre ellos.
Buena pregunta. Hive divide los archivos almacenados en fragmentos de datos repartidos por su red P2P. Se crean fragmentos adicionales para tener en cuenta la desaparición de otros usuarios de Hive o el contenido destruido por fallos de hardware. Por ejemplo, supongamos que se generan 100 fragmentos cifrados a partir de tu archivo y se envían a 100 pares. Se generan de tal manera que solo se necesitan 70 para reconstruir el archivo original. Los fragmentos que faltan se regeneran tan pronto como descubramos que otros se han ido. Con solo un 30% de sobrecarga, la probabilidad de no poder acceder al contenido es, por lo tanto, varios órdenes de magnitud inferior en comparación con la estrategia de replicación simple. Puede obtener más información sobre esto aquí.
Eche un vistazo a nuestro artículos para obtener más información. Es una auténtica colmena de conocimiento.
Los sistemas centralizados, descentralizados y distribuidos varían en su arquitectura y mecanismos de control. Los sistemas centralizados, ejemplificados por plataformas como Dropbox y Google Drive, tienen una única autoridad central que controla el flujo de datos. Los sistemas descentralizados, como las redes punto a punto como BitTorrent, distribuyen el control entre los participantes de la red. Los sistemas distribuidos, como los clústeres que se utilizan para renderizar animaciones 3D, implican componentes separados físicamente que se comunican a través de una red. Los ejemplos del mundo real ilustran cómo funciona cada tipo de sistema y sus implicaciones para la gestión y el control de los datos.
Hive funciona como un sistema de almacenamiento distribuido que distribuye los archivos en fragmentos a través de su red punto a punto. Esta arquitectura garantiza la disponibilidad y la resiliencia de los datos mediante la generación de fragmentos adicionales para compensar los errores de hardware o que otros usuarios abandonen la red. Por ejemplo, si se crean 100 fragmentos cifrados a partir de un archivo y se distribuyen entre 100 pares, solo se necesitan 70 fragmentos para reconstruir el archivo original. Los fragmentos que faltan se regeneran rápidamente al detectar las desviaciones de otros usuarios. Con una sobrecarga mínima, Hive reduce significativamente el riesgo de pérdida de datos en comparación con las estrategias de replicación tradicionales, y proporciona una accesibilidad e integridad sólidas de los datos dentro de su marco distribuido.
La transición de arquitecturas centralizadas o descentralizadas a sistemas distribuidos como Hive puede plantear desafíos para las organizaciones. Estos desafíos podrían incluir la adaptación de la infraestructura existente, garantizar la compatibilidad con los sistemas heredados y gestionar las complejidades asociadas a los entornos distribuidos. Además, las organizaciones pueden tener dificultades para abordar los problemas de seguridad, mantener la coherencia de los datos y administrar la escalabilidad de la red. Sin embargo, estos desafíos pueden abordarse mediante una planificación integral, la asignación estratégica de recursos y el aprovechamiento de la experiencia en el diseño y la implementación de sistemas distribuidos. Los esfuerzos de colaboración entre las partes interesadas, junto con estrategias exhaustivas de evaluación y mitigación de riesgos, pueden facilitar una transición fluida a las arquitecturas distribuidas y, al mismo tiempo, maximizar los beneficios de una mayor resiliencia, escalabilidad y disponibilidad de datos.