Je lisais cet article de BBC News et l'extrait suivant a attiré mon attention. Cela ressemble à des groupes de disponibilité Always On ou à une mise en miroir haute disponibilité, avec peut - être une sécurité automatiquement incluse.
La blockchain est-elle une solution de base de données potentiellement viable pour les applications modernes à volume de transaction élevé?
Il est assez facile de voir sa valeur pour les transactions à faible volume comme les dossiers médicaux personnels, mais qu'en est-il des bases de données à volume élevé?
Qu'est-ce que la blockchain?
Les blockchains s'appuient sur la cryptographie pour permettre à un ensemble d'ordinateurs d'apporter des modifications à un enregistrement global sans avoir besoin d'un acteur central.
La suppression de l'intermédiaire réduit les coûts dans presque tous les secteurs.
La blockchain est un registre qui enregistre tout ce qui arrive à une collection de données connue sous le nom de "bloc" dans un ordre chronologique ou "chaîne".
En tant que devise, c'est une fonctionnalité importante car elle permet aux utilisateurs de s'assurer que leur argent numérique est unique, de la même manière que chaque note de votre portefeuille est unique.
«La technologie Blockchain sera la façon dont nous créerons des actifs, car elle vous permet de transférer des informations numériques sans copier», explique Adam Ludwin, directeur général de Chain.com, qui construit des réseaux de blockchain.
La blockchain peut être utilisée pour suivre l'historique de toutes sortes d'informations et maintenir sa valeur.Par exemple, les médecins peuvent l'utiliser pour mettre à jour les dossiers médicaux.
Étant donné que chaque modification d'une blockchain est effectuée simultanément sur l'ensemble du réseau, aucune information n'est perdue et, comme les modifications ne peuvent pas être annulées, le système conserve sa transparence. Une clé spéciale est nécessaire pour apporter des modifications à chaque bloc, afin que les individus puissent protéger leurs enregistrements en protégeant cette clé.
la source
Je connais très bien la crypto-monnaie et les bases de données, et je peux vous dire que ce n'est pas du tout un excellent moteur de base de données.
Utiliser la blockchain comme base de données live:
Considérez-le comme une première forme normalisée sans vraiment de capacité de recherche intégrée ni d'indexation en ce qui concerne la chaîne de blocs. Fondamentalement, une feuille Excel sans aucune capacité de calcul qui vous donne simplement des capacités de lecture / écriture avec beaucoup de vérification et de validation. Une blockchain est un excellent moyen de valider vos données est aseptisée et correcte avant de les mettre dans une base de données qui vous permet de l'interroger différemment, de l'indexer, etc.
Avantages de la blockchain:
La blockchain dans ce cas est purement un grand livre et une API pour les requêtes PUT et GET. C'est à peu près ça. La blockchain est intéressante car vous avez besoin d'une majorité de nœuds pour passer la transaction comme valide et il n'y a pas de restauration, une fois qu'elle est validée, elle est validée. Ainsi, si quelqu'un essaie de faire une fausse transaction, il sera pris à moins que la personne qui le fait ait un pool qui a une forte majorité. Ils peuvent ensuite le valider dans leur pool avant que quelqu'un ne puisse le rejeter. C'est le point fort de la blockchain. Vérification de l'exactitude des données. Il est également généralement assez lent. Vous regardez environ 10 minutes sous charge normale pour qu'il soit validé. Sous forte charge, le temps passe un peu.
Après avoir vérifié que les transactions sont valides et non frauduleuses à l'aide de la blockchain, vous pouvez ensuite importer ces données dans une base de données et travailler avec comme bon vous semble. J'ai une certaine expérience avec cela, mais notez que chaque transaction sur l'architecture bitcoin actuelle sera enregistrée, donc elle a des informations intéressantes à analyser.
Interroger des données hors du schéma de la chaîne de blocs dans un SGBD:
Voici le diagramme bitcoin que vous pouvez utiliser pour créer le schéma dans PostgreSQL. En utilisant cela, vous pouvez ensuite le mettre dans un SGBD relationnel: https://bitcointalk.org/index.php?topic=38246
Ce dépôt de code est également utile si vous souhaitez importer les données dans un vrai SGBDR: https://github.com/bitcoin-abe/bitcoin-abe
En ce qui concerne le SGBD dans lequel vous devez le placer, cela dépend de votre cas d'utilisation. Si vous souhaitez analyser les transactions / ID de portefeuille pour voir certains modèles ou faire du travail BI, je recommanderais une base de données relationnelle. Si vous souhaitez configurer une ingestion en direct avec plusieurs cryptocoins, je recommanderais quelque chose qui n'a pas besoin du journal des transactions, donc une solution MongoDB serait bonne. Je ne pense pas que vous ayez à vous soucier d'Elastic Search, sauf si vous voulez commencer à enregistrer en direct toutes les cryptocoins en même temps et l'utiliser pour faire du trading automatique ou quelque chose de tout aussi fou. :)
la source
En 2014, nous avons construit ascribe.io avec pour prémisse l'utilisation de Bitcoin comme base de données pour les revendications de propriété intellectuelle. À la sortie, nous avons branché le réseau car il ne pouvait pas gérer le débit, la latence était d'au moins 10 minutes et nous étions limités par ce que nous pouvions mettre dans l'OP_RETURN, nous forçant à stocker le fichier numérique réel relatif à la réclamation dans Amazon S3 . Nous avons réalisé que Bitcoin sous sa forme actuelle ne pourrait jamais être une base de données de transactions élevée.
Mais l'idée de savoir si nous pourrions avoir une base de données de style blockchain - contrôle décentralisé, immuabilité (inviolabilité) et actifs en direct sur le réseau est restée avec nous. Donc à la mi-2014, nous avons commencé à travailler sur BigchainDB
Pour faire court - nous pouvons traiter 100 000 tps avec une latence de 100 ms et avoir des pétaoctets de capacité. Le code est notre BigchainDB Github, la documentation technique ici et la pensée fondamentale dans notre livre blanc .
Si vous avez un cas d'utilisation pour une base de données décentralisée à transactions élevées - nous avons construit BigchainDB exactement pour cela.
la source
La blockchain dérivée de Bitcoin est lente et coûteuse; la quantité de données qui peut être stockée dans un bloc est très modeste. Les mécanismes derrière les chaînes de blocs (registres de distribution) sont destinés à fournir un magasin de données incorruptible et hautement répliqué; le pair à pair est moins une caractéristique essentielle qu'une «exigence politique» pour éviter l'apparition d'un contrôle central. Je travaille depuis environ 18 mois pour produire un grand livre distribué de haute performance (voir metrognomo.com pour une instanciation) qui prend aussi peu de Bitcoin que possible. En fin de compte, un registre distribué ressemble à peu près à un fichier séquentiel qui peut être ajouté mais non modifié après l'ajout. C'est une chose précieuse pour certaines applications, mais pas ce que la plupart des gens considèrent comme une base de données.
la source