Lambda向大家分享了你们以为分片(Sharding)真的是什么新技术吗,其中包含分片,Sharding,分片技术等知识点,遇到此问题的同学们可以参考下
「性能」问题一直是区块链发展的瓶颈,以太坊每秒几十笔交易的速度,远远满足不了现实世界的需求。自从V神提出以分片技术(Sharding)来解决以太坊性能之后,分片技术逐渐被各个区块链项目引用,被誉为「解决性能的最佳方案」。
其实,分片技术并不是什么新概念,事实上在数据库领域,分片技术已经得到非常成熟的应用。本文尽量通俗的语言来讲解Sharding技术,让大家可以理解,为什么Sharding可以解决区块链的性能问题。
数据库分片技术
实质上分片的概念源自于数据库的分区表理念,我们首先简单介绍一下分区表:
在传统的IT架构中,数据库负责存储业务数据,比如我们打电话时,手机号、通话时长、话费余额等等信息数据,就存在IT架构的数据库中。因此,随着业务的不断发展,数据库随着访问压力逐渐加大,进而引发系统无法使用的问题。我在大学毕业后,一直从事于基础软件领域的研究和工作,已经有10多年的时间,其中一个很重要的职责就是保障数据库的稳定运行,当数据库不能工作时(宕机),无论前端的应用服务器有多少备份,系统整体上都是不可用状态的,所以数据库是IT系统的重中之重。
其实,分片技术并不是什么新概念,事实上在数据库领域,分片技术已经得到非常成熟的应用。本文尽量通俗的语言来讲解Sharding技术,让大家可以理解,为什么Sharding可以解决区块链的性能问题。
数据库分片技术
实质上分片的概念源自于数据库的分区表理念,我们首先简单介绍一下分区表:
在传统的IT架构中,数据库负责存储业务数据,比如我们打电话时,手机号、通话时长、话费余额等等信息数据,就存在IT架构的数据库中。因此,随着业务的不断发展,数据库随着访问压力逐渐加大,进而引发系统无法使用的问题。我在大学毕业后,一直从事于基础软件领域的研究和工作,已经有10多年的时间,其中一个很重要的职责就是保障数据库的稳定运行,当数据库不能工作时(宕机),无论前端的应用服务器有多少备份,系统整体上都是不可用状态的,所以数据库是IT系统的重中之重。
当然,出现问题的原因是非常复杂的,其中很重要的一个原因就是单个数据库表过热,我们可以举个例子来理解这个概念,比如超市购物结算时,结算台的数量是有限的,这个时候人多就要排队,就需要等待。数据库表就像超市的结算台,当业务高峰来临的时候,它就成为紧俏的资源,当访问表需要排队的时候,系统的就会缓慢。我们称这个现象为「热表」。
在超市中,管理员可以大喊一嗓子说,大家排一下队,慢慢来。但是在IT系统中,情况完全不同,访问网页或者打卡App多等待2秒,用户就会不耐烦,甚至直接离开,而解决这个问题的一个很重要的办法,就是分区表。