一、前言
比特币第一笔交易发生在2009年1月4日2点15分5秒。到今天,超过10年了。在这10多年的过程中,比特币网络上发生的所!有!交易,全都完整地保存了下来。任何人都可以下载查阅比特币所!有!的历史交易。更牛X的是,比特币网络还没有专门的人去维护,没有专门的法规去约束谁要保存这些交易。它就这样稳定安全地保存了10年的交易数据。
区块链或许命中注定承担保存那些需要长期、安全、稳定、数量庞大的数据。
区块链数据库,这个名字听起来太拗口,很难理解。遇到这个名词,我脑子里一直无法想象出一个对应的“视觉化图景”。说数据库,我们能想象出一张表;说区块链,我们能想象出一个一个区块首尾相连。但区块链数据库是个什么玩意?
二、区块链数据库
数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增、截取、更新、删除等 *** 作。所谓 “数据库” 系以一定方式储存在一起、能予多个用户共享、具有尽可能小的传统数据库是用来存储信息的数据结构。这包含能够用来制作支持各类商业,金融和管理决定的报告,所需要的数据。政府也会使用数据库来存储大型数据,可以会有几百万个记录。数据库从文件分级系统开始,提供了最基本的信息获取和存储功能。然后,数据库使用相关的模型,通过将多个数据库进行相关,可以有更多复杂的方式来获得数据。存储在数据库中的信息可以使用管理系统来进行管理。简单的数据库被存储在数据行列中,被称为表格。表格中包含不同领域,用来定义不同记录的种类,存储数据被称为属性。每个领域包含列和航,代表存储的记录。冗余度、与应用程序彼此独立的数据集合。
数据库是被管理员可以修改,管理和控制的。数据库总是会有管理员,并且可以完全控制数据库。他们可以创建,删除,修改数据库中的任何记录。他们能优化数据库的性能和大小。越大的数据库就会有更慢的性能,所以管理员可以使用方法来优化。管理员也可以把这个身份转给别人。例如,管理员可以把身份转给另外的用户,让他们来进行数据库备份。但是,问题也会有,例如服务器跨了,唯一的方法就是从备份恢复。数据库也是递归的,也就是说你可以回去重复某个任务,或者说删除任务。如果信息已经备份,那么管理员就会删除之前的记录和其他过期信息。比如你在现在数据库写入了“John Smith”,现在需要更新住址。但是现在已经有“John Smith”的备份了,所以你可以通过现有数据库的新地址进行更新。
数据库可以通过服务器架构来实现。这是因为计算机需要连接服务器,它们管理数据库,从而可以获得信息和存储的数据。最初地时候,数据库客户端使用ODBC连接,这是由管理员设定的,然后连接到数据库。这个客户端软件然后就会运行,来完成加密连接,但是必须要有权限才能进入。这个权限能够被管理员设置,或者用户通过密码也可以进入。这就是为什么用户账号会被创造,可以让认证的用户进入,同时拒绝那些没有认证的。现在大多数系统,都会使用网页接口。但是对于私人信息,还是需要认证,但是公开数据库就可以很容易地通过网页进入。
我们可以看出,数据库需要足够的控制,这会让它高度中心化。同时,这也是需要允许的,也就是说需要管理员来设定如何让用户进入。在生产环境下,DB管理员需要设定只读权限,他们也需要给用户设定更新和写入的权限。传统数据库的中心化会保证系统的安全和信任。很多数据库都会在私人网络下运行,同时背后是大公司的防火墙。其他也有数据库是基于云服务器。但是他们仍然是需要管理员来控制他们。
第一,不管是 RDBMS、NoSQL 还是 NewSQL,都会提供一个 接口,供用户进行数据的存取。也就是说数据是可以篡改的,这跟区块链不可篡改的思想相悖。
第二,传统企业或者互联网企业之所以选择数据库,因为这些 数据是私有的,数据就是价值,数据就是竞争力。 企业数据库存储的数据是绝不会公开的,跟区块链所倡导的公开思想完全背离。比如你在知乎提问、答题,这些数据都会给知乎带来最大的价值,而不是给你带来最大价值。因为这些数据是存在知乎的数据库里,只有具有相关权限的人才会接触到。他们会拿这些数据做什么呢?出电子书、出实体书、出周边、大数据分析等等,而这几乎与你无关。也就是说,传统数据库是为企业最大化服务的,而不是用户。
第三,传统数据库都是应用在 中心化 的公司或者机构,与区块链去中心化的思想相悖。中心化意味着作恶的概率、被攻击的可能性极高。
第四,部分传统数据库开源,还有相当大比例的数据库都是闭源的。没有开源的数据库是由中心化的组织来维护代码,安全性和稳定性也是中心化组织来维护。这跟区块链所倡导的开源思想相悖。一个开源的系统自然会存在问题,但是社区会以最快的速度进行修复。
第五,除了分布式数据库有共识机制,其他的数据库没有完整的分布式协议应用,而分布式协议可以理解成区块链里的共识机制。大多数数据库不具备共识机制。
第六,区块链目前暂时没有达到大规模应用的要求,目前也是区块链技术的瓶颈,而数据库目前完全可以支撑大规模高并发的场景。区块链由于是一个分布式系统,想要实现高并发,关键点在于共识机制。
所以,传统数据库无法改造成区块链。
三、区块链分布式数据库
分布式数据库从2005年左右开始,首先是NoSQL这波浪潮。这些数据库解决的首要问题是单机上无法保存全部数据,如HBase/Cassadra/MongoDB等。紧接着是RDMS的救赎,除了NoSQL之外,RDMS系统也做了不少努力来适应业务的变化,也就是关系型数据库的中间件和分库分表方案。然后是NewSQL的发展,2012~2013年Google 相继发表了Spanner和F1两套系统的论文,让业界第一次看到了关系模型和NoSQL的扩展性在一个大规模生产系统上融合的可能性。
区块链技术也被称为分布式账本技术,我认为他和传统分布式数据库的主要区别是“”“信任”,区块链是去中心化的,任何节点都不是leader,都不被充分信任(trustless),区块链内的任何节点都可以修改数据,修改完数据会向整个链内进行广播,其它节点接受到广播并不是立马同步修改记录数据,会对修改的数据保持怀疑,会根据共识机制,密码算法去验证这个数据的修改是否是合法的,如果不合法就丢弃掉,如果合法就记录下来,而一般传统的分布式数据库节点之间是相互信任的,数据复制(数据的修改同步)没有类似区块链的一套验证,讲究实时同步,所以类似银行,支付宝转账基本都是瞬间到账,而如比特币的买卖到账时间都不是实时的,区块链这套机制本质上是牺牲了一定的效率而换取了安全性。
扯些题外话,目前来看区块链技术的发展还处于早期,目前主要的应用场景就是各种发币,币圈也是越来越热,现在各国政府对区块链都是拥抱的态度,但是对比特币等数字火币应该还是没有想清楚如何应对和监管,各国对数字火币的态度也不尽相同。
另外一点,关于区块链去中心化这个事情,目前已经被很多人当成政治正确,一直被强调,我个人并不是很赞同。
去中心化看似是一个公平,普世的东西,但是在实际 *** 作层面会有很多问题,比如在金融行业,金融体系对一个国家来说是命脉所在,去中心化如何监管,仅仅靠区块链的共识机制,制度设计是不是就不会出现问题?
这些都是需要回答的问题,尤其在当前的中国,中国改革开放40年来取得的经济奇迹和国家的体制有密切的关系,我们是民主集中式领导,强调中心,核心,从哲学思想上说,完全的去中心化在中国更难获得成功。总之个人认为去中心化和中心化需要有个最佳的妥协才能在现实世界发挥价值,任何技术和理念必须产生实际价值才有意义。
四、分布式数据库核心产品
DRDS:Distributed RelaTIonal Database Service,是阿里巴巴致力于解决单机数据库服务瓶颈问题而自主研发推出的分布式数据库产品。DRDS 高度兼容 MySQL 协议和语法,支持自动化水平拆分、在线平滑扩缩容、d性扩展、透明读写分离,具备数据库全生命周期运维管控能力。详细的DRDS介绍请参考DRDS概述章节。
RDS:RelaTIonal Database Service,是一种稳定可靠、可d性伸缩的在线数据库服务。基于阿里云分布式文件系统和SSD盘高性能存储,并且提供了公共云数据库的容灾、备份、恢复、监控、迁移等方面的全套解决方案。详细的RDS介绍请参考什么是RDS章节。
HDM:Hybrid Cloud Database Management,是混合云数据库管理平台,帮助企业打通混合云数据库架构,提供多环境统一管理、快速d性、容灾切换的能力。对于混合云灾备场景下,使用阿里云HDM可便捷、快速的将本地IDC的数据同步至云上,并进行容灾切换演练,故障发生时可通过HDM进行容灾切换,保障数据库的可用性。详细的HDM介绍请参考混合云数据管理章节。
DTS:Data Transmission Service,是阿里云提供的一种支持多种数据源之间数据交互的数据流服务。它提供了数据迁移、实时数据订阅及数据实时同步等多种数据传输能力。在数据库灾备解决方案中,使用阿里云DTS可实现各数据库间的数据迁移与实时同步,从而为数据库灾备打好最重要的基础。DTS的数据迁移、数据同步详细架构设计及原理请参见产品架构章节。
DMS:Data Management,支持MySQL、SQL Server、PostgreSQL、MongoDB、Redis等关系型数据库和NoSQL的数据库管理,同时还支持Linux服务器管理。它是一种集数据管理、结构管理、访问安全、BI图表、数据趋势、数据轨迹、性能与优化和服务器管理于一体的数据管理服务。详细的DMS介绍请参考数据管理章节。
CloudDBA:CloudDBA是监控和管理RDS实例性能及运行状况的服务,在RDS控制台的实例管理页面,目前只适用于智汇返佣http://www.kaifx.cn/broker/thinkmarkets.html类型的实例。针对SQL语句的性能、CPU使用率、IOPS使用率、内存使用率、磁盘空间使用率、连接数、锁信息、热点表等,CloudDBA提供了智能的诊断及优化功能,能最大限度发现数据库存在的或潜在的健康问题。CloudDBA的诊断基于单个实例,该诊断会提供问题详情及相应的解决方案,可为您管理实例运行状况带来极大的便利。详细的CloudDBA的介绍请参考CloudDBA简介章节。
五、总结
从2008年的比特币开始,区块链经历了可编程货币、可编程金融与可编程社会三大应用时代,其应用范围逐步扩展到社会生活的方方面面。从需求端来看,金融、医疗、公证、通信、供应链、域名、投票等领域都开始意识到区块链的重要性并开始尝试将技术与现实社会对接。
从投资端来看,区块链的投资资金供给逐步上升,风头的投资热情也不断高涨,投资密度也越来越大,供给端的资金有望助推技术的进一步发展。从市场应用来看,区块链将促使公司现有业务模式重心的转移,有望加速公司的发展。
从投资端来看,区块链的投资资金供给逐步上升,风头的投资热情也不断高涨,投资密度也越来越大,供给端的资金有望助推技术的进一步发展。从市场应用来看,区块链将促使公司现有业务模式重心的转移,有望加速公司的发展。
责任编辑:ct
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)