Saltar al contenido

Una introducción a las bases de datos Blockchain + NoSQL

13 de diciembre de 2020
Foto de perfil del autor

@1tylermitchellTyler Mitchell

Escritor de tecnología de datos, geogeek, gestión de productos y marketing. #nosql #bigdata #analítica #geoespacial

Tanto las bases de datos NoSQL como los modernos libros de contabilidad Blockchain se benefician de un conjunto de principios comunes. Cuando ambos se implementan para una aplicación, se puede lograr mucho ya que las plataformas pueden complementarse entre sí.

En este artículo, revisamos dos superposiciones sinérgicas que miran cómo la plataforma NoSQL de Couchbase podría soportar su próxima aplicación de libro mayor distribuido de la empresa, por ejemplo, basado en Hyperledger. Este tema es muy profundo, pero sólo toco dos ideas superficiales para ayudar a trazar los puntos en común y las oportunidades: la informática distribuida, y el estado mundial.

Para más información sobre Blockchain en general recomiendo las páginas de la academia en ledger.comLa vista previa se muestra a continuación.

Confianza || inmutabilidad – todos los componentes de Blockchain Ledgers

https://www.ledger.com/academy/blockchain/what-is-blockchain/

Computación distribuida

Las arquitecturas empresariales modernas se basan en la informática distribuida en su núcleo, ya sea en entornos de CPU/GPU de procesamiento paralelo, clusters de bases de datos de múltiples nodos o centros de datos globales con clusters sincronizados en diferentes lugares.

Al aprovechar la velocidad de procesamiento distribuido, la capacidad de recuperación y la escalabilidad de estas arquitecturas (¡un tema en sí mismo!) los desarrolladores de aplicaciones son capaces de centrarse en la construcción de la experiencia de usuario deseada y dejar que los sistemas de datos del backend hagan el trabajo pesado.

¿Qué significa ser distribuido? En su forma más básica, significa tener más de un servidor que se gestiona como parte de un grupo de nodos. Idealmente, no hay un único punto de fallo o control centralizado en los sistemas distribuidos.

Además, supone que los elementos de la carga de trabajo se rompen en trozos que son digeribles por los procesadores atómicos subyacentes, por ejemplo, distribuyendo el trabajo en múltiples nodos.

Otros nombres para este tipo de sistemas incluyen las redes entre pares, la computación en clúster, el procesamiento paralelo, etc. Wikipedia tiene una gran lista de los tipos de sistemas que existen hoy en día.

Blockchain es el epítome de Distributed

A pesar de los beneficios, la informática distribuida no es generalizada; incluso dentro de las empresas modernas la centralización de muchos sistemas sigue siendo bastante común. Esto incluye a las industrias que se esperaría que fueran diseñadas con más resistencia en mente, como los sistemas financieros globales o la gestión de la cadena de suministro que han tendido a estar más centralizados en torno a la computación de la computadora central.

Por cierto, siempre se puede saber cuando hay un sistema centralizado porque cuando falla, ¡falla absolutamente! Cuando todos los datos o servicios están corriendo en una sola máquina es bastante fácil saber cuando se cae porque todo se detiene completamente.

Recomendado:  Anyscale presenta Ray 2.0 y Anyscale Innovations en Ray Summit 2022

Puede ser porque lleva tiempo poner en marcha una máquina de reemplazo, o toma tiempo notar una falla antes de redirigir a los usuarios o una miríada de otras razones de ingeniería devastadoras. Un sistema centralizado es lo opuesto a las redes peer-to-peer a las que aspiramos.

Sin embargo, con la introducción de plataformas como Bitcoin, la próxima generación de moneda digital y «libros de contabilidad» se están probando lentamente. Ahora hay miles de criptodivisas diferentes y docenas de backends Blockchain que están aprovechando la tecnología descentralizada.

Como un aparte, nótese que «libro mayor distribuido» no equivale a los escenarios de prueba de trabajo que utilizan muchas criptolendas. En cambio, piense en los libros mayores como si ya se confiara en una aplicación que está haciendo actualizaciones y no tuviera que emprender ninguna tarea particular para añadir a la cadena. De la misma manera, los sistemas de prueba de trabajo están menos enfocados en ser altamente eficientes, lo cual es necesario en última instancia para llevar las aplicaciones de la cadena de bloques a la corriente principal.

NoSQL distribuido

Asimismo, las empresas están buscando formas de aprovechar enfoques más distribuidos para sus sistemas internos a fin de reducir el tiempo de inactividad. Si se trata de un sistema basado en un libro de contabilidad, hay varios enfoques disponibles ahora. Si va a ser una base de datos de uso general, también hay opciones, especialmente para la gestión de datos.

En las empresas en las que hay algunos sistemas distribuidos en juego, es probable que la mayor parte de la tecnología se encuentre en las bases de datos, en particular en las plataformas NoSQL. Uno de los pilares de Couchbase ha sido esta naturaleza distribuida desde el primer día, llenando un vacío crítico que las bases de datos heredadas no estaban llenando eficazmente.

Couchbase introduce la idea de la escalada multidimensional – la capacidad de escalar aplicaciones y servicios a través de muchos nodos, o a través de múltiples clusters.

Introducir otro almacén de documentos JSON no habría sido especial si sólo funcionara en un único nodo. Del mismo modo, otra tecnología de Blockchain no sería nada notable si no se distribuyera también en un grupo de máquinas.

Si está centralizado, entonces sería un único punto de fallo y control, derrotando la confianza del sistema general. Afortunadamente, tanto Couchbase, Blockchain, y las tecnologías relacionadas están adelantando la necesidad y el valor de los sistemas distribuidos.

Componentes de Hyperledger

Otro punto en común entre los libros de contabilidad distribuidos por Blockchain, como Hyperledger y Couchbase, es el caso de uso de presentar una única visión «actual» de los activos que se gestionan.

En el Hyperledger Fabric speak (una implementación específica de libro mayor distribuido), hay dos tipos de componentes de manejo de datos en juego en su sistema.

Recomendado:  PERFIL: Casey King del Instituto Jackson habla sobre IA, Big Data y humanidad

Transacciones operacionales son el núcleo de cualquier libro de contabilidad – verifica, crea y registra todas las transacciones en el libro. Hyperledger Fabric maneja todos los permisos incorporados para reconocer quién puede iniciar las transacciones y también los almacena en una variedad de tecnologías de backends.

El estado mundial es el otro componente primario, otra vista de datos que mantiene los valores de la cuenta corriente, no todas las transacciones operacionales individuales. Cuando se realiza una transacción de una entidad a otra, el estado mundial también recibe una actualización para que los nuevos valores se mantengan actualizados. Las transacciones anteriores no se almacenan en el estado mundial.

Cada cuenta en el sistema de estados del mundo tendrá un único valor, pero el sistema de transacciones almacena el historial general con un detalle preciso.

NoSQL Fuente de la Verdad

Los dos componentes anteriores podrían implementarse con una base de datos Couchbase NoSQL como backend. Couchbase maneja transacciones operacionales de alto rendimiento en muchos casos de uso diferentes, finanzas, detección de fraude, IO, etc. También son posibles las transacciones ACID distribuidas, lo cual es un tema en sí mismo (más en un futuro post).

Si Couchbase se sienta como la base de datos principal de un sistema Blockchain, puede facilitar tanto la operacional y el estado mundial almacenamiento y recuperación de datos.

Couchbase se utiliza a menudo para almacenar un conjunto de datos de múltiples bases de datos diferentes, proporcionando lo que se conoce como un Fuente de la verdad. Esto puede ser análogo al estado del mundo, almacenando la imagen materializada de los datos actuales de interés.

Esto hace que Couchbase sea una buena opción para los desarrolladores de aplicaciones que necesitan almacenar perfiles de usuario para una aplicación. Por ejemplo, otros sistemas de backend pueden mantener actualizados los datos individuales, pero cuando el usuario se conecta, el perfil de usuario está disponible inmediatamente en un solo documento JSON.

El beneficio final de usar Couchbase en este contexto es tener todas las ventajas incorporadas para los desarrolladores. Una vez que los datos se dejan caer en la base de datos, se tiene acceso sin fricciones a poderosas herramientas de consulta basadas en SQL, búsqueda de texto completo usando lenguaje natural, análisis de datos masivos de gran tamaño para conjuntos de datos enormes, y más. Esto permite a los desarrolladores centrarse en el producto y en el usuario mientras dejan que los sistemas de fondo mantengan las cosas administradas y sincronizadas.

¿Por qué NoSQL + Blockchain?

En lugar de simplemente comparar estas dos tecnologías, también quiero animar a los desarrolladores y arquitectos a que miren cómo se pueden utilizar ambas conjuntamente. Aquí hay una forma.

Couchbase puede servir como la capa de desarrollo de aplicaciones sobre cualquier tecnología distribuida de ledger o Blockchain, tanto como la operacional componente de la base de datos o el estado mundial. La base de datos de los estados del mundo es un gran caso de primer uso para investigar si se está construyendo una solución empresarial y se necesita sacar a la luz los detalles de las cuentas de forma rápida y fácil para los usuarios finales.

Recomendado:  ¿Realmente vale la pena invertir o simplemente exagerar?

Por ejemplo, cuando se producen transacciones en Blockchain y se actualiza el estado mundial, la misma actualización podría enviarse a Couchbase y ponerse a disposición de los usuarios. Debido a que Couchbase tiene un SDK móvil, así como un completo soporte analítico SQL, y mucho más, proporciona una interfaz de datos más robusta que la que viene con los sistemas Blockchain de fábrica.

Esto es particularmente importante cuando se quiere que los usuarios tengan un acceso rápido a la información más actualizada.

Mientras que los sistemas Blockchain tardan en propagar la información, Couchbase utiliza protocolos avanzados para hacerlo mucho más rápido – se pueden construir vistas de los datos a medida que se producen los cambios. Y debido a que Couchbase corre en un ambiente multi-cluster, la estabilidad y resistencia de la plataforma puede mantenerse al ritmo de demandas similares del sistema Blockchain.

Integración

Aunque no existe una integración de Couchbase con Hyperledger, el SDK de Couchbase soporta todos los principales lenguajes de programación. Cualquiera que construya un ledger basado en Blockchain puede empezar a enviar actualizaciones del estado actual del mundo a la base de datos NoSQL a través de JSON, usando tanto el API de Blockchain como el API de Couchbase.

Si estás interesado en construir este tipo de integración, comprueba los actuales proveedores de backend en Hyperledger Fabric y adapta uno de ellos para Couchbase Server.

Además, puede ser posible implementar esta funcionalidad directamente en el chaincode enviado durante las actualizaciones de la aplicación de contratos inteligentes en un libro de contabilidad. Sólo estoy empezando a entender este lado del sistema, pero en otro post, podríamos comparar/contrastar la base de datos de funciones definidas por el usuario (UDFs) y el código de cadena Blockchain para darte más referencias.

Hay mucho más en Blockchain en lo que podemos sumergirnos, pero espero que este vistazo a las similitudes y superposiciones ayude a hacer fluir sus jugos cognitivos.

Si este tema o la idea de la integración le interesa, conectémonos y discutamos en Twitter o LinkedIn o a través de este artículo en Medium.

También publicado en https://medium.com/couchbase/the-synergy-of-blockchain-and-nosql-databases-f8409dd10ae9

Foto de perfil del autor

Lea mis historias

Escritor de tecnología de datos, geogeek, gestión de productos y marketing. #nosql #bigdata #analítica #geoespacial

Etiquetas

Únete a Hacker Noon

Crea tu cuenta gratuita para desbloquear tu experiencia de lectura personalizada.

Top Big Data