本站点使用Cookies,继续浏览表示您同意我们使用Cookies。Cookies和隐私政策>

搜索

分布式数据库如何“减负”?

2021-12-16
1893
0

互联网时代的蓬勃发展,催生了众多新技术的诞生,分布式数据库就是其中重要一员,创新的架构组合吹响了数据库变革的号角,成功应对互联网场景浪涌处理、高并发和灵活扩展需求的它风头正盛,但面向未来爆发的数据量和越来越复杂的业务,该如何应数据的存取结构复杂、数据的安全可靠性不够等问题,本文带来为分布式数据库“减负”的答案!

数据库是存储上面最重要的一个应用,数据库有很多种,现在主要讲述的是交易型数据库,交易型数据库主要用于企业里面关键的结构化数据的管理和组织上的数据,比如银行的交易数据、运营商的计费数据、还有就是生产企业的一些ERP数据,这些数据可以说在企业中是最关键、最重要的。

客户的需求,代表存储架构未来的演进方向,数据库是诞生于几十年前的一个技术,比如交易型数据库,它就是由IBM的一些研究员,提出来的关系数据、关系代数理论演变出来的一个系统,一直发展到八九十年代的时候,就形成了比较稳定的IOE架构,它是由IBM的大型机或小型机Oracle提供数据库,EMC或者HDS这类的存储厂商,他们形成了一个稳定的分层的架构。

分布式数据库的诞生

2000年以后,互联网交易业务快速增长,它的数据量及处理能力有快速的增加,比如网购或者双11这种业务,包括支付宝等互联网交易型业务,如果用之前的解决方案不一定能满足新客户的新诉求,新应用场景的需求,因此分布式数据库的诞生极有可能是在这种情况下。

分布式数据库解决快速响应的业务,以及对浪涌的处理

普通的服务器并没有专业的存储,但加上开源软件,然后通过分布式的算法,就能构建一个逻辑上很大的数据库集群,能为客户提供优质的服务且工作得很好,更能适应一部分互联网应用的场景。但它作为一个通用的解决方案,有一些问题有待解决,比如它没有一个共享的存储,它必须在数据库层多做一个副本的逻辑,这样的话会导致每一笔交易的数据,它会执行很多遍,数据也会被保存多份,对于存储空间、资源的消耗,它也是成倍的增加。

举个例子:有一个客户他原来使用的是IOE架构,是一个比较经济节能的架构,现在客户要将分布式数据库迁移到这种场景中,他就发现有一个问题,就是需要的服务器数量、机架数变多了,需要的能耗变高了,而原来传统的机房里,给它预留的位置就这么多,包括空间、供电、散热的能力,所以如果他要迁移的数据库,不但要把应用迁移过来,还要重新建一个数据中心,可以看出要替代老的数据库,他可能需要更多的存储资源、计算资源和服务器。

第二点,传统IT是一个分工协作的架构,所以它对数据,包括数据库,有一个很完备的备份跟容灾解决方案,分布式数据库要依赖上层的应用,上层的应用需要自己去解决数据容灾跟备份,实际上就是在数据库层以及下面的存储层,因为逻辑考虑得相对比较简单,所以导致它的安全可靠性能被限制!

依赖上层应用来解决容灾跟备份,并对每个应用去考虑数据层的复杂逻辑,那这种开发成本是比较高的,然后导致做出来的东西就没有数据厂商或存储厂商的专业。

因此,提出分布式数据库这个理念,是一个非常正确的方向,是一个重大的革新,但要做到数据的大集中,需要把数据存储部分进行统筹再重新分开,把它分离出来,然后重新定义跟数据库的边界,分布式数据库加专业的存储,是未来的演进方向。

分布式数据库的几大价值

从数据库的视角来看,分布式数据库的价值有两个,第一它能提供更加弹性的伸缩架构;第二它能理解上层应用更多的语义。这些是数据库最重要的演进方向,而不是说把精力放在怎么去管理介质,怎么去做备份跟容灾,这些事情完全可以由现在已经成熟、专业的存储系统来做,比如把存储集中处理了,就不需要数据库层去处理数据复制、数据多副本的问题,那么在存储层就可以使用更加经济、可靠的单副本,或者下面存储层面做RAID或者EC的方式,来解决数据存放的问题。

第二点,当数据库把每个节点的数据集中出来后,对于上面的应用来讲,它是轻度更少,所有的节点都会共享,然后看到一个全局的数据,对于应用来讲,就不用去考虑数据分布和切分的问题,这些就是分库分表的问题,因为在这种数据库分离的架构下可能做得更好。另外一点,就是安全可靠的问题,如果数据库里使用分离式架构,还能极大的提升性能和处理能力。

分布式数据库的数据存储能力,它的这部分功能把它往下沉,把数据存储层这些设备去下沉,然后它能更多的去理解上层的应用,比如说 Google的Spanner的数据库,它上面的数据库层主不需要去管理存储,而是由存储层去负责对数据的复制、保护、处理,现在包括华为云的数据库、GaussDB(for MySQL)或者是一系列的GaussDB的数据库,也在做类似的事情(数据库存储能力下沉)。

开源数据库跟存储的关系,不是替代关系

开源数据库跟存储的关系,它不是一个替代的关系,是一个更加紧密结合的关系,未来开源的数据库,无论是哪种类型的数据库,比如刚刚讲到的 OLTP、或者说的MySQL、以及其他的(开源数据库),它们加上专业的存储能力,就能够达到绿色节能、安全可靠的目的。

从能力上来讲,以及技术人员的判断,未来它会不断的超越传统的IOE架构,也能在经典的分布式数据库上,更往前走一步。

将数据灾备保护和数据处理切分等功能,下沉到专用的存储设备,能更加安全可靠、节省成本的同时,也让宝贵的数据库资源得以释放,去做更多理解上层业务等工作。

其实不管是集中式数据库还是分布式数据库,在未来与存储都应该是紧密结合的关系,更好的服务于业务,一同完成智能时代的技术革新!

免责声明:文章内容和观点仅代表作者本人观点,供读者思想碰撞与技术交流参考,不作为华为公司产品与技术的官方依据。如需了解华为公司产品与技术详情,请访问产品与技术介绍页面或咨询华为公司人员。

TOP