存算分离与存算一体的优缺点比较 转载 2021-11-02 10:05:43.0 阅读(6036)次 #### 分布式数据库是时代的选择 从1970年IBM的E.F Codd在论文《A Ralational Model of Data for Large Shared Data Banks》中提出的数据库系统关系模型,开创了数据库关系方法和关系数据理论的研究,为数据库技术奠定了理论基础,到1977年 Oracle数据库发布,开启了IBM DB2和Oracle等大型商业公司垄断数据库市场二十年。 直到90年代中期,随着互联网时代的来临,开源数据库MySQL,PostgreSQL的出现,这种垄断现象才被打破,以MySQL为代表的开源数据库开始迅速发展。 21世纪10年代,数据的井喷式增长,对数据库提出了水平扩展,大集群规模,高并发等新诉求,紧接着随着公有云的蓬勃发展,以云为载体兼具高可扩展性、高并发性、高可用性的分布式数据库,如谷歌Spanner,Snowflake,AWS Aurora等逐渐走进我们的视野。 至此我们可以看到分布式数据库的诞生是顺应时代的发展,是时代的选择。 #### 分布式数据库改造,存算一体部署之殇 分布式数据库最成功的应用场景就是支撑了早期电商业务的快速发展,然而随着企业数字化转型的深入,数据总量和形式呈现指数级的增长,数据库要应对的是不断飙升的业务下高性能、高可靠的挑战;与此同时,不断飙升的业务高峰还要求数据库有极好的弹性伸缩能力、持续服务能力和合理的成本。 #### 而原有的分布式数据库“存算一体”,采用服务器本地盘的部署方式就越发显得力不从心。 例如,由于计算、存储资源捆绑,在应对如双11这类突发资源高峰时,无法只对计算资源进行快速扩容,分布式改造后无法支持单独弹性扩展,有悖分布式改造的初衷。同时亚马逊、阿里等厂家在自身和云客户的使用中也发现以服务器本地盘的方式部署,在存储可靠性、爆炸半径、综合成本等方面存在难以解决的问题。 以某运营商为例,在基于MySQL开源软件自研的数据库使用服务器本地盘部署的模式下,计算资源(CPU和内存)与存储资源(SSD磁盘)存在着不可调和的冲突(使用不均衡、扩容受限、运管困难等),并带来成本的增加。 #### 而这类问题在互联网、金融、运营商一些云转型企业中尤为突出: 可靠性低:“服务器可靠性低,出问题数据无法访问甚至就都丢了,必须用多从同步来补可靠性的缺口”,“服务器网络抖动或磁盘亚健康问题很难监控处理,影响系统稳定性”,“服务器故障修复需要比较长时间,不能放太多实例”。 运维困难:“更换设备或扩容需要搬迁数据库,全量同步数据很慢”,“以前数据库数量小,现单库拆分成数10个实例,未来全网整改后,预计上千个实例,运维太复杂”,“原来只有两台小型机,现在需要20多台机器,4、5个机柜,机房和电都不够了”。 成本高:“存算绑定,无法弹性扩容”,“资源闲置,CPU利用率低”,“为保证可靠性增加副本数,现有架构成本是原来的1.5倍”。 怎么去解决分布式数据库架构上服务器本地盘部署这一系列问题呢?业界一直在不停的探索,2014年AWS首次推出了Aurora,阿里在2017年推出了PolarDB,华为云在2020年推出了GaussDB for MySQL,华为存储也在2021年针对企业自建数据中心,推出OceanData分布式数据库存算分离方案,希望基于成熟的基础设施“云”化技术,解决分布式数据库架构上的短板。 [](https://pics7.baidu.com/feed/37d12f2eb9389b50af3b5906fc797ad5e6116e77.png?token=f00b828543916ef14b294eefc800af88) 业界云原生实践:“存算分离”,共享存储是分布式数据库的最优选择 没有一个概念和架构是无缘无故凭空冒出来的,存算分离也是业界基于当前分布式改造的现状和本地盘部署的弊端不断探索出来的,更是互联网,数字化转型企业的共同选择。 #### 存算分离带来的四大价值: 可靠性提升:外置共享存储可靠性结合云原生故障隔离和迁移能力,解决一体化方案可靠性短板,并为降低资源冗余提供基础; 资源优化:解决数据快速移动,实现计算、存储弹性扩展,按需分配,减少因可靠性、运维能力不足造成的硬件冗余; 能力复用:使用共享存储成熟的备份恢复、SSD介质延寿、亚健康等能力,快速提升数据库整体解决方案能力,节约开发成本; 架构先进:基于开放生态存储底座,可快速实现云原生数据库能力,不影响上层应用,实现平滑演进。 各行业在数字化转型中都面临着业务量爆炸性增长,业务互联网化等挑战。为了在新形势下提升服务体验,国内某运营商联合华为开展创新和应用实践,采用分布式数据库存算分离方案构建高效BSS系统,实现了计算、存储资源在线弹性扩容,整体资源利用率从10%提升到50%;数据重建恢复全自动化,恢复时间从3小时缩短至5分钟;共享存储带来设备级6个9高可靠。 #### 总结 随着5G、分布式技术、云计算技术的不断发展,及各行业数字化转型的不断深入,数据库云化、数据库云原生架构已成为趋势,计算、存储分离,采用共享存储的方式是数字化转型的企业共同的选择。 转自:https://baijiahao.baidu.com/s?id=1701966013704187349 大数据分析 架构 数据库 分布式 上一篇:LOG_PATH_IS_UNDEFINED/info.log (No such file or directory) 下一篇:java表达式运算性能比较:Jep与QLExpress
相关文章 hadoop运行mapreduce报错Error: Could not find or load main class org.apache.hadoop.mapreduce.v2.app.MRAppMaster(3035) 安装Hadoop伪分布式模式教程,版本为Hadoop3.1.4(1343) postgresql数据库表分区字段有必要创建索引么?(2223) postgresql主从复制时报错:no pg_hba.conf entry for replication connection from host "192.168.15.131", user "replicator", SSL off(7315) Parameter index out of range (1 > number of parameters, which is 0(1864) 修改seata server启动服务端口(9633) spring cloud集成分布式事务中间件seata报错 not support register type: null(9326) spring cloud+feign+mybatis中使用seata0.9实现分布式事务(7371) 调用别人的接口或第三方接口怎么做熔断(二)(1674) 调用别人的接口或第三方接口怎么做熔断(3175) 推荐文章 spring cloud+feign+mybatis中使用seata0.9实现分布式事务(7) spring cloud gateway报错Only one connection receive subscriber allowed(82) spring cloud中Feign调用诡异报错MethodNotAllowed: status 405 reading(116) elasticsearch7.1保存时报错: Validation Failed: 1: type is missing;(7) 聊聊数据保存到MySQL后数据乱码的问题(1) 使用spring4实现websocket连接(1) jquery对象与dom对象互转(1) linux使用epel源yum安装iftop、nload、nginx等(2) linux下nginx安装其他模块(1) solr时区设置解决时间多8小时问题(1) 热门文章 存算分离与存算一体的优缺点比较(5799) hadoop运行mapreduce报错Error: Could not find or load main class org.apache.hadoop.mapreduce.v2.app.MRAppMaster(2903) 安装Hadoop伪分布式模式教程,版本为Hadoop3.1.4(1222) java stream去重的几种方式(40819) clickhouse如何删除数据(40016) clickhouse清空删除表数据(18228) the dependencies of some of the beans in the application context form a cycle(16324) redis报错远程主机强迫关闭了一个现有的连接以及超时问题(16275) clickhouse执行查询内存超出限制问题:Memory limit (total) exceeded(14617) CF由于网络原因连接服务器失败请重试 1033_10136(13887) 标签列表 java java java java java java java基础 微服务 异常处理 mysql clickhouse clickhouse clickhouse clickhouse clickhouse spring cloud spring boot linux elasticsearch feign jdbc spring js docker postgresql solr seata nginx maven gateway hsqldb 数据库 架构 大数据分析 分布式事务 redis canal dubbo hadoop 消息队列 win10 websocket springmvc git html select2 mybatis jenkins rocketmq quartz activemq 数据库集群 ajax bat 电脑 笔记 eclipse 设计模式 阿里云 github freemarker jvm jquery javamail redission redission对象 hystrix http hibernate springmail svn ubuntu ueditor xheditor zookeeper 分布式 小程序 开发工具 gitlab