主页 > imtoken最新版官网 > 区块链和分布式数据库有什么区别

区块链和分布式数据库有什么区别

imtoken最新版官网 2023-08-24 05:09:10

Ultrain 联合创始人兼 CTO

一、区块链与分布式数据库的本质区别

1. 一致核心共识算法和冗余数据存储:一致核心共识算法和冗余数据存储是两者最相似的点。 即便如此,两者在技术目的上还是有本质区别的。 其中,区块链运用这些技术的核心目的是构建一个尽可能去中心化的世界,永久保护数据资产所有权和自由转移; 而分布式数据库的核心目的是尽可能构建一个逻辑中心,可以对外提供高性能、低成本和可扩展的服务。

2. 不可能三角:两者都需要面对不可能三角的挑战,但是他们需要面对的具体挑战是根本不同的:区块链面临的是安全性、去中心化和可扩展性; 而分布式数据库则面临着业务支撑、工程实现的复杂性和硬件需求。

区块链与比特币的关系_什么是比特币区块链_比特币与区块链的区别

3、一致性:一致性在区块链和分布式数据库中有不同的含义:区块链系统中的一致性是指多个节点共同维护数据状态的能力; 而在分布式数据库系统中,一致性是指多个副本所呈现的状态。

4. 共识算法 不同安全级别的不同区块链系统解决拜占庭错误。 主流算法包括POW/POS(概率算法)和PBFT(确定性算法)。 其中,POW/POS概率算法的共识结果是暂时的。 随着时间的推移或某种强化,共识结果被推翻的概率越来越小,最终成为事实结果。 拜占庭容错算法往往性能较差,不能容忍超过1/3的故障节点; 而PBFT确定性算法一旦达成共识就不可逆,即共识就是最终结果。 分布式数据库系统解决非拜占庭错误或故障错误。 主流算法包括 Paxos 和 Raft。 这种容错算法往往性能更好,处理速度更快,容忍不超过1/2的故障节点。

2. 从核心价值探索区块链和分布式数据库

什么是比特币区块链_区块链与比特币的关系_比特币与区块链的区别

区块链的核心价值

区块链的核心价值不是对外提供服务,而是构建自己的数据资产世界。 区块链世界更新状态并存储可追溯的日志。 主要的数据结构分为两类:交易和区块。 具体表现如下:交易用于外部世界驱动区块链世界状态的更新,包含两类数据:交易输入和交易输出。 交易输入表示交易数据资产的来源,交易输出表示数据资产的去向。 区块用于存储交易数据,主要由区块头和区块体组成。 区块头记录版本号、前一个区块的哈希地址、默克尔根、区块创建时间戳、区块工作量、难度目标和用于计算目标的参数值,区块体包含交易号和完成的交易数据。

分布式数据库的核心价值

什么是比特币区块链_区块链与比特币的关系_比特币与区块链的区别

分布式数据库的核心价值在于为业务系统提供数据访问服务。 业务数据库是面向运营的,主要服务于业务产品和开发; 数据仓库是面向分析的,主要为分析师服务。

3、从存储技术角度揭开区块链和分布式数据库的面纱

区块链

什么是比特币区块链_区块链与比特币的关系_比特币与区块链的区别

从比特币到2008年的区块链3.0,区块链最基础的存储技术并没有太大变化。 我举个比特币存储原理的例子。 Bitcoin/blocks/文件夹如图1中的blk00000.dat文件是一个块数据存储文件比特币与区块链的区别,每个文件大约128M,所有的块数据都存放在这个文件夹中。

比特币与区块链的区别_区块链与比特币的关系_什么是比特币区块链

所有区块的索引数据存储在Bitcoin/blocks/index/文件夹下,是一个leveldb格式的key/value对数据库。

区块链与比特币的关系_比特币与区块链的区别_什么是比特币区块链

区块链与比特币的关系_什么是比特币区块链_比特币与区块链的区别

每个块的最大大小为2M,块数据存储在块文件中(图1中的blk00000.dat),块之间用“幻数”分隔(图3中的0xF9BEB4D9),一个文件可以存储多个数据块,文件也有最大限制。 如果大于约 128M,将创建一个新文件(如 blk00001.dat)。

什么是比特币区块链_区块链与比特币的关系_比特币与区块链的区别

分布式数据库

分布式数据库始于 2005 年左右比特币与区块链的区别,首先是 NoSQL 浪潮。 这些数据库解决的首要问题是不能把所有的数据都保存在一台机器上,比如HBase/Cassadra/MongoDB等,接下来是RDMS的救赎。 除了NoSQL,RDMS系统在适应业务变化方面也做了很多努力,即关系数据库的中间件和分库分表的方案。 然后是NewSQL的开发。 2012年到2013年,谷歌先后发表了关于Spanner和F1两个系统的论文,让业界第一次看到了在大规模生产系统上整合关系模型和NoSQL的可扩展性的可能性。返回搜狐查看更多