Maison / Technologie / Les bases de données relationnelles, NoSQL et Ledger fonctionnent, mais pas les chaînes de blocs autorisées.

Les bases de données relationnelles, NoSQL et Ledger fonctionnent, mais pas les chaînes de blocs autorisées.

Le postulat de mon article est de plonger dans l'architecture des bases de données et de comprendre pourquoi cela a bien fonctionné pour les entreprises. Tout en comparant la résilience des bases de données avec la proposition de valeur des chaînes autorisées. Enfin, vous pouvez voir comment la base de données du grand livre, si l’architecture est correctement réalisée, pourrait surfer sur la prochaine vague d’innovations. Jon Choi s'est disputé que nous devrions retirer le mot blockchain et utiliser le terme «réseaux ouverts». La conclusion de l’article de Jon est que les réseaux de cryptographie ouverts «sont des réseaux qui partagent des ressources et des responsabilités avec leurs participants». En établissant le terme, cela permettrait à la communauté d'évoluer et de se développer indépendamment des autres communautés. Je dirais que les entreprises devraient supprimer le mot blockchain et adopter le terme «bases de données de grand livre».

Le dilemme

Il y a un coût de développement des ressources, de conception du cadre, de gouvernance et de démonstration du concept. Par exemple, IBM et Maersk (société de transport) a établi un consortium pour permettre aux sociétés de transport d’automatiser le dédouanement, le financement du commerce et les transferts de documents au sein d’un consortium de transport établi. Quelques mois après son lancement, Maersk a eu du mal à intégrer les compagnies de navigation parce qu'elles se sentaient menacées par le consortium opérant par Maersk.

Ce n'est qu'un exemple d'un projet d'entreprise qui a perdu de la vitesse au cours des douze derniers mois. Dans un article récent de Coindesk, Jerry Cuomo d'IBM a déclaré, «Si vous commencez petit et centralisé, le défi consistera à obtenir les prochaines grandes ancres de confiance. D'autre part, avec l'approche décentralisée, vous pouvez avoir plusieurs concurrents et leurs avocats qui posent tous des questions, ce qui prendra du temps. Tu dois choisir ton poison, "

Cycle de battage

Les bases de données existent depuis les années 70 et peuvent gérer des millions de transactions par seconde. Des milliers de développeurs, d'architectes et de gestionnaires ont construit des infrastructures de base de données et vivent depuis des décennies. Pourquoi changeraient-ils et apprendraient-ils quelque chose de nouveau alors que la plupart des solutions fonctionnent bien aujourd'hui? Les Blockchains promettent la capacité de décentraliser la confiance, la confidentialité et de stocker des données inviolables tout en créant de nouveaux flux de travail rentables. Malheureusement, cette promesse et la combinaison du battage médiatique ont propulsé cette technologie comme une technologie incontournable. La question est de savoir si la blockchain est prête ou non pour une adoption massive. Gartner a rapporté que nous sommes toujours au sommet des attentes exagérées de la technologie ou de ce que nous appelons battage publicitaire. (Rappelez-vous VR il y a vingt ans?)

La plupart des cas d'utilisation d'entreprise ont entre 5 et 10 ans. Dans certains cas, 10 ans et plus.

Je comparerais l'euphorie de la blockchain semblable à celle de Samuel Brannan de l'époque de la ruée vers l'or, mais avec une torsion. Samuel Brannan entendu parler de gisements d’or à Coloma en 1847. Après avoir confirmé ces rumeurs, il se rendit en ville et cria: «Gold! Or! Gold! ». Au cours des prochains mois, les trois quarts de la population masculine se sont dirigés vers les mines. Samuel a entre-temps créé une richesse incroyable en vendant du matériel minier à ces mineurs. Les mineurs ont acheté l'équipement à Samuel et ce battage publicitaire leur a permis de récupérer de l'or et de le vendre. Les entreprises se trouvent dans une situation similaire mais l’équipement n’est pas encore prêt à être utilisé.

Dans les quatre prochaines sections, je passerai en revue l'architecture et les cas d'utilisation des bases de données relationnelles, des bases de données non relationnelles, des chaînes autorisées et des bases de données de grand livre. Pour les lecteurs déjà familiarisés avec les techniques, vous pouvez accéder directement au résumé technique et à la conclusion.

Bases de données relationnelles

Il y a quatre façons de stocker des données dans un Système de gestion de base de données; Hiérarchique, réseau, relationnel et orienté objet. Le moyen le plus utilisé pour stocker des données dans Enterprise est Relational. Le modèle relationnel a été proposé par E.F Codd dans les années 1970. Il a fondamentalement jeté les bases de la structuration des données à l'aide de relations. Par exemple, toutes les données doivent être stockées dans des tables comportant des lignes et des colonnes. Une relation entre une ligne et une colonne serait un identifiant unique appelé tuple. Enfin, les relations avec d'autres tables avec des identificateurs uniques sont appelées clés.

Une table de base de données relationnelle

Le système de gestion de bases de données relationnelles (SGBDR) fonctionne bien lorsque les données que vous stockez sont structurées de manière à incorporer une table avec des noms de lignes, de colonnes et de champs. Par exemple, une table doit avoir un type d’information spécifique tel que nom, numéro de téléphone et autres libellés. Pour concevoir une base de données relationnelle, les architectes de base de données utilisent un langage de programmation standard appelé Langage d'interrogation structuré ou SQL. SQL permettrait aux architectes et aux programmeurs d’interroger, d’insérer, de mettre à jour et de modifier des données. La plupart des SGBDR utilisent SQL comme langage standard dans toutes les bases de données relationnelles telles que MySQL, Oracle, MS SQL Server et Azure.

Transactions et consensus
UNE transaction est une unité logique de travail qui prend des tâches écrites SQL dans un flux de travail. Le résultat de toutes les instructions ou transactions SQL peut être validé (ajouté) ou annulé (soustrait). Par exemple, prenons un employé de banque qui transfère 500 $ d’un compte d’épargne à un compte courant.

Gestion des transactions

Supposons maintenant que vous avez plusieurs nœuds à travers le monde qui doivent valider la transaction ci-dessus dans une base de données. Comment pouvez-vous vous assurer que tous les nœuds communiquent et engagent la transaction finale? Plus important encore, comment les nœuds traversent-ils les échecs? Comment une base de données garantit-elle la validité d'une transaction?

La réponse est XA Standard, ACID et le protocole 2PC.

Le groupe ouvert a proposé XA Standard qui est une norme qui unifie les transactions de plusieurs nœuds et assure qu’ils respectent la validité en utilisant les propriétés ACID. ACID fait référence à Atomicity, Consistency, Isolation, Durability et est un ensemble de propriétés garantissant la validité ou non de la transaction.

L'atomicité– Tout ou rien

Cohérence – Les résultats corrects sont engagés

Isolement – les événements dans une transaction sont cachés

Durabilité – Les résultats engagés doivent être garantis.

L'hôte fournit un gestionnaire de transactions responsable de la création, de la gestion et de l'application des transactions à l'aide d'ACID. Pour que les nœuds communiquent et acceptent de traiter la transaction, le Protocole 2PC est un algorithme de consensus qui permet aux nœuds de valider la transaction ou d'abandonner en raison d'une défaillance de nœud. En règle générale, les nœuds peuvent s’engager sur une courte période allant de quelques millisecondes à quelques minutes.

Protocole 2PC

Dans le protocole 2PC, le coordinateur est le nœud maître qui garantit la synchronisation de tous les nœuds lors de la validation d'une tâche dans le journal des transactions. Le protocole 2PC suppose automatiquement que la confiance entre les nœuds est plus facile à valider.

La manière dont une transaction est validée est la suivante:

Étape 1:Chaque serveur participant à une transaction s'engage à participer à une transaction. Cela donne au coordinateur une idée de tous les participants à cette transaction.

Étape 2:Une fois que le coordinateur a compris qui sont les participants, il envoie ensuite un signal à chaque participant avec des instructions pour s’engager. Après avoir validé, chaque participant doit écrire sur le journal et confirmer avec le coordinateur. Si un participant échoue, le serveur de coordination envoie un message à tous les participants pour annuler la transaction. Une fois les participants rétrogradés, ils envoient un dernier message au coordinateur qui a été confirmé.

Base de données non relationnelle (NoSQL)

La base de données non relationnelle fonctionne différemment. Les systèmes de gestion de base de données sont beaucoup plus intelligents, il n’est pas nécessaire de disposer d’un schéma pour stocker les données. Si vous examinez l'image ci-dessous, les données du SGBDR devront être structurées dans un format de tableau avec des attributs connus, afin que le système de base de données puisse comprendre et lier les données. Avec une base de données non relationnelle, vous pouvez stocker des données dans un seul fichier document. Ce type de base de données est idéal pour stocker de grandes données non structurées à l'aide d'outils tels que Hadoop.

Diagramme de la façon dont les données sont stockées. Relationnel vs non-relationnel

Des bases de données non relationnelles ont été développées pour pallier le manque d'évolutivité des bases de données non relationnelles dans les domaines du stockage, du traitement et de l'analyse. Pour que ces fonctionnalités fonctionnent correctement, les propriétés ACID doivent être assouplies. Certains domaines d’amélioration par rapport au SGBDR sont les suivants: conception plus simple, coût de déploiement, mise à l’échelle horizontale plus facile, contrôles plus précis de la disponibilité des données et rapidité. Les bases de données non relationnelles sont principalement utilisées dans les applications Web ou les projets Big Data en raison de la quantité de données non structurées qu'elles stockent. Les bases de données non relationnelles facilitent la tâche des entreprises qui recherchent une évolutivité sans rechercher la cohérence de ces données. Ainsi, la plupart des bases de données non relationnelles n'adhéreront pas au modèle ACID et ne prendront en charge en grande partie les applications Web.

La modularité
Un certain nombre de bases de données NoSQL, telles que Cosmos DB, Apache Cassandra, le système de fichiers distribués Hadoop, LevelDB, Couchbase et Datomic, offrent ou pourraient proposer des magasins de données immuables, comportant uniquement des ajouts, en tant qu'offre d'entreprise. D'autre part, MongoDB 4.0offre une base de données distribuée avec un protocole de consensus. Il prend également en charge les transactions conformes à ACID. Ce qui signifie que l'intégrité de ces données est conforme mais pas toujours aussi robuste qu'une base de données non relationnelle. Cependant, Mongo DB 4.0 a été annoncé à la fin de 2018 si curieux de voir l'adoption de l'entreprise.

Blockchain autorisée

La différence entre une blockchain autorisée et une blockchain sans autorisation réside dans la couche d'accès de contrôle. La couche d'accès au contrôle permet aux entreprises de contrôler la décentralisation, l'anonymat et la gouvernance. Il existe de nombreuses implémentations de chaînes de blocs autorisées, telles que Corda, Hyperledger Fabric et Quorum, qui pourraient offrir sécurité, immuabilité et confiance aux participants du réseau. Sur la base de l'activité de GitHub, je discuterai de Hyperledger Fabric.

Tissu hyperledger
Un déploiement typique d'un Système Hyperledger Fabric consistera en des nœuds, un contrat intelligent (Chaincode) qui exécute la logique métier et un grand livre qui conserve le journal des transactions et le monde Etat. World State est une base de données non relationnelle qui permet de suivre et de mettre à jour les dernières modifications apportées à la blockchain afin que les grandes organisations puissent interroger des informations sans avoir à consulter le journal des transactions. La blockchain elle-même est un journal immuable, seul ajout, qui enregistre toutes les transactions par blocs. Contrairement à l'état mondial, la chaîne de blocs ne peut pas mettre à jour, éditer, modifier ou annuler des transactions. Plus précisément, l'État mondial est mis en œuvre sous la forme d'une base de données qui offre aux entreprises un moyen familier d'interroger, d'agréger ou de parcourir de grandes quantités de données. Le tissu Hyperledger est compatible avec CouchDB et LevelDB, qui sont des bases de données NoSQL.

Le grand livre comprend la blockchain et une base de données traditionnelle

La blockchain de Hyperledger Fabric ressemble à une blockchain traditionnelle, elle contient une séquence de transactions liées pour la continuité. Les en-têtes de bloc eux-mêmes incluent des hachages des transactions de blocs. Cela maintient les blocs inviolables et sécurisés. Ainsi, si un nœud agit, les autres nœuds auront la même copie. La structure de données de la blockchain serait stockée en tant que document et non en tant que schéma de base de données.

Transactions et consensus
Les chaînes de blocs autorisées ne doivent pas nécessairement utiliser l’extraction minière informatique pour parvenir à un consensus, car les nœuds sont connu entités. Ils peuvent utiliser des algorithmes de consensus tels que Paxos, RAFT ou d’autres PBFT qui pourraient atteindre un consensus et être déterministes. Hyperledger Smart Contract est écrit en chaîne de code, un programme écrit en Go, Node.Js ou Java. Chaincode s'exécute indépendamment des homologues endosseurs afin d'améliorer le débit des transactions et d'offrir des contrôles granulaires dans la confidentialité.

Consensus de tissu Hyperledger

Les nœuds de réseau fonctionnent par ceux qui sont invités dans le réseau privé et se composent de nœuds clients, homologues et donneurs d'ordre. Les nœuds de commande sont contrôlés par un algorithme de consensus enfichable qui permettrait à l'organisation de choisir un certain nombre d'algorithmes qui fonctionneraient bien pour son organisation. Cette modularité pourrait incorporer à la fois l'algorithme de tolérance aux pannes byzantine et le protocole de consensus tolérant les pannes.

Le consensus dans Hyperledger Fabric est finalement réalisé en 4 phases:

  • Approbation : Les noeuds homologues gèrent le grand livre et agissent en tant qu'endosseurs lors de la validation d'une transaction. Les nœuds homologues sont régis par une stratégie prédéfinie qui s'exécuterait.
  • Commande : Une fois qu'une transaction est approuvée, elle acquiert une signature numérique. Le nœud de commande communique ensuite entre le client et le nœud homologue. Ainsi, lorsqu'un client lance une demande de transaction, le message est envoyé à tous les nœuds homologues.
  • Validation : Une fois la signature numérique reçue, le client diffuse le message à tous les noeuds homologues.
  • S'engager:Une fois le message reçu, les nœuds homologues et l'état du monde vont valider la transaction.

Grand livre

Microsoft et Amazon offrent une solution blockchain entièrement gérée aux entreprises souhaitant déployer des réseaux Ethereum, Hyperledger Fabric. Ils offrent un système entièrement géré qui élimine le besoin de configurer manuellement le matériel, les logiciels et la sécurité continue. La base de données Quantum Ledger (QLDB) a été récemment annoncée et adopte une approche unique en combinant la familiarité d'une base de données tout en implémentant des fonctionnalités telles que la chaîne de blocs, comme l'immutabilité.

Base de données Quantum Ledger
QLDB est une base de données non relationnelle qui a résumé les caractéristiques importantes d’une blockchain s. La plupart des entreprises argueront du fait que la nouvelle architecture d'une base de données relationnelle à des fins d'auditability / immutability est inefficace et complexe. La proposition de valeur de QLDB pour les entreprises est d’éliminer les complexités de la gestion de réseaux blockchain et de minimiser les coûts d’infrastructure, les délais de finalité et la propagation des données. Enfin, comme la plupart des entreprises utilisent déjà AWS ou Azure, un produit doit offrir un moyen facile d’intégration à l’infrastructure actuelle.

Alors, qu'est-ce que QLDB exactement? QLDB est une base de données de grand livre entièrement gérée qui fournit un journal des transactions transparent, immuable et vérifiable par cryptographie, appartenant à une autorité centrale de confiance. QLDB suit chaque changement de données d'application et conserve un historique complet et vérifiable des changements au fil du temps. ”

Base de données Quantum Ledger

L'architecture de QLDB est un journal contenant uniquement des annexes qui stocke toutes les données dans un ordre séquentiel et ne peut pas être modifié. Il offre également la possibilité de voir toutes les modifications historiques apportées dans la base de données, comme un journal des transactions. Les modifications historiques sont sécurisées par cryptographie à l'aide de SHA256. Avec le support SQL, les entreprises peuvent utiliser les développeurs SQL actuels pour proposer des méthodes robustes d'interrogation et de gestion des données. Puisqu'il s'agit d'une base de données non relationnelle, elle peut stocker de grandes quantités de données semi-non structurées à l'aide d'un modèle de données orienté document. Enfin, du point de vue de l'évolutivité et de la cohérence, QLDB implémente les propriétés ACID afin que la transaction reste valide et sécurisée. Une fonctionnalité que la plate-forme QLDB n'offre pas est la possibilité de partager un consensus. Vous n'avez donc pas d'algorithme de consensus ni de processus de validation entre les nœuds.

Résumé

Bases de données relationnelles

Les bases de données relationnelles ont dominé les entreprises car elles étaient simples, robustes, performantes et flexibles. Les bases de données relationnelles évoluent bien sur un seul serveur, mais cela devient plus difficile lorsque vous le faites sur plusieurs serveurs. Les bases de données relationnelles ont été largement adoptées par les entreprises car elles adhèrent au modèle ACID, qui privilégie l'intégrité des données plutôt que leur évolutivité. Les bases de données relationnelles sont infaillibles et permettent une exécution extrêmement efficace des transactions. Comme tout modèle, si vous voulez l’évolutivité, vous devez sacrifier la disponibilité (voir théorème CAP)des données. Les bases de données relationnelles ne sont pas à la hauteur quand il s'agit de mettre à l'échelle des millions de lectures / écritures par seconde.

Le théorème CAP suggère que vous ne pouvez choisir qu'entre la disponibilité et la cohérence

Bases de données non relationnelles (NoSQL)

Les bases de données non relationnelles sont principalement utilisées dans les applications Web ou les projets Big Data en raison de la quantité de données non structurées qu'elles stockent. Les bases de données non relationnelles facilitent la tâche des entreprises qui recherchent une évolutivité sans chercher. consistance (voir théorème CAP)de ces données. Ainsi, la plupart des bases de données non relationnelles n'adhéreront pas au modèle ACID et ne prendront en charge en grande partie les applications Web. Les bases de données non relationnelles ne peuvent prendre en charge que certains types de transactions et ne sont pas aussi granulaires que les bases de données relationnelles. Avec la récente annonce de MongoDB 4.0, il offre une base de données distribuée avec un protocole de consensus également compatible ACID et sans serveur.

Chaînes autorisées

La Blockchain autorisée est un environnement contrôlé qui offre la possibilité de coordonner la confiance entre autres. Il possède une couche d'accès de contrôle qui désignerait les participants au réseau, la gouvernance et le modèle d'exploitation. Les chaînes autorisées peuvent être utiles pour les audits, car elles permettent de créer un modèle de gouvernance de confiance avec les concurrents et d'exécuter la logique métier. La chaîne de blocs autorisée propose des intégrations avec les bases de données NoSQL afin que les entreprises puissent utiliser SQL pour interroger des données. Les entreprises doivent gérer les complexités liées aux coûts, à la compréhension du consensus, à la confidentialité, à la bureaucratie et à l'établissement de relations de confiance avec des concurrents potentiels. Les entreprises pourraient être impliquées dans un projet pluriannuel qui pourrait inclure des armées d'avocats, des capitaux et un manque de confiance.

Base de données Quantum Ledger

La base de données Quantum Ledger (QLDB) est une base de données NoSQL qui fournit un journal de transactions immuable, transparent et cryptographiquement vérifiable, appartenant à une autorité centrale. QLDB a supprimé des fonctionnalités telles que les algorithmes de consensus, les réseaux blockchain et la sophistication du déploiement de réseaux sur plusieurs nœuds. Les entreprises attirées par la blockchain mais qui ne souhaitent pas gérer la gouvernance peuvent déployer et gérer facilement une base de données. Il prend également en charge SQL afin de permettre aux architectes, aux administrateurs de bases de données et à la plupart des entreprises de s’intégrer facilement dans leur propre infrastructure. La QLDB manque de décentralisation, une autorité centrale est donc nécessaire et ne peut pas inviter plusieurs parties à créer un consortium tel que des réseaux.

Conclusion

Les bases de données ont commencé avec le principe que les entreprises avaient besoin de la capacité de stocker de grandes quantités de données structurées. Cela a conduit à des bases de données relationnelles qui ont permis aux entreprises de mieux comprendre les données et de créer des informations. Avec l'essor d'Internet, les bases de données non relationnelles ont permis aux entreprises de collecter d'importantes données non structurées et d'essayer de prédire des idées à l'aide d'outils tels que l'apprentissage automatique et l'analyse prédictive. Les Blockchains autorisés permettent aux entreprises qui ne se font pas confiance de travailler ensemble, mais les données doivent être portables. L'écosystème de l'entreprise doit évoluer et comprendre que les nouveaux flux de travail nécessitent l'échange de données d'entreprise et la confiance. Couplé aux complexités des chaînes de blocs autorisées, le marché n'exige pas ce type de flux de travail aujourd'hui.

Gartner a réalisé un sondage en mars 2018 auprès de 300 entreprises.

Avec l'invention de QLDB et de MongoDB 4.0, je pense que nous sommes sur la bonne voie pour offrir aux entreprises un moyen de tirer parti de la technologie du grand livre sans les complexités. Je ne dénonce pas l'entreprise blockchain, mais suggère simplement une nouvelle voie à suivre. La communauté technologique dans son ensemble a qualifié la blockchain de technologie qui pourrait révolutionner les infrastructures à clé publique, les entreprises, les entreprises grand public et d’autres domaines. Malheureusement, en nous tenant derrière le mot blockchain, nous avons étouffé la croissance dans de nombreux domaines et dressé les communautés les unes contre les autres.

Au cours des prochaines années, les entreprises pourraient déployer des bases de données de grand livre partagées pouvant prendre en charge des réseaux ouverts tels que Ethereum, Bitcoin et autres. De plus, je pouvais voir des zk-snarks et des transactions confidentielles / protégées facilitant l’opération des entreprises sur le réseau ouvert. Fondamentalement, nous sommes encore incroyablement tôt dans l’espace et croyons que nous devons attendre que l’écosystème se développe.

Un merci spécial à Mohamad Fouda, Soona Amhaz et Mohamad El Seidy
Lien vers l'article quotidien de Token

Liens et ressources: Microsoft Azure, Blockchain à Berkley, IEEE, HBR Big Data, Cisco, Ycombinator, Nexthink, Blockgeeks, Décentraliser, Devteam, Techopedia, Oracle, Guide d'ACID, Guide SGBD, Université du Montana,Porte de la recherche, Bases de données et Blockchain, BlockchainHub, Forum de stockage d'entreprise, Les Blockchains Don't Suck, Débordement de stock, Quorum, Apache Cassandra, Altoros, Amazone, Porte de la recherche, Tutoriel sur le code de la chaîne, Hyperledge Consensus , Livre blanc Hyperledger, KAFKA, Coindesk: La foi perdue dans la chaîne privée Blockchain, Coindesk: IBM et Maersk, PBS Samuel Brannan, Coindesk: Amazon joue son propre jeu, Jamserra SGBDR vs NRDBMS


Les bases de données relationnelles, NoSQL et Ledger fonctionnent, mais pas les chaînes de blocs autorisées. a été publié à l'origine dans Hacker midi sur Medium, où les gens poursuivent la conversation en soulignant et en répondant à cette histoire.

Source

A propos newstrotteur-fr

Découvrez également

leonardo-dicaprio-to-star-in-guillermo-del-toros-nightmare-alley-social.jpg

Leonardo DiCaprio en vedette dans l’allée du cauchemar de Guillermo del Toro – Newstrotteur

Leonardo DiCaprio est en négociation pour jouer Guillermo del ToroProchain projet de film Allée de …

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *