浅析分布式数据库中间件DDM-创新互联
前言
成都创新互联是一家专注于成都做网站、成都网站设计与策划设计,石柱土家族网站建设哪家好?成都创新互联做网站,专注于网站建设十载,网设计领域的专业建站公司;建站业务涵盖:石柱土家族等地区。石柱土家族做网站价格咨询:18982081108DDM是什么?这是华为云Paas推出的分布式数据库中间件,DDM(Distributed Database Middleware)是一个实现了Mysql协议栈的服务器,前端用户可以把它看做一个数据库代理,用Mysql客户端工具和命令行访问,而DDM后端连接一到多个Mysql Server。因此,DDM本身并不存储数据,数据是在后端连接的Mysql Server上存储的。简单来说,DDM就是Mysql的最佳伴侣,一定程度上让Mysql拥有了跟Oracle PK的能力。这样听起来DDM好像是Mysql的辅助大神,这里有必要对八卦下DDM发展背景,了解下DDM的前世历程。
NoSQL与SQL之争
目前,互联网常有海量数据高并发和存储的场景,对于数据的存储,目前有基于SQL (Structured Query Language)的关系型数据库和NoSQL(Not Only SQL)的非关系型数据库。SQL数据存在特定结构的表中;而NoSQL则更加灵活和可扩展,存储方式可以是JSON文档、哈希表或者其他方式,比如键值存储(redis,ROMA,Memcached)数据库应用在排行更新,会话保存,面向文档的数据库(mongoDB、couchDB)应用在日志记录,面向列的数据库(Cassandra、HBase)在博客中的应用。而且速度极高。
虽然在云计算时代,传统数据库存在着先天性的弊端,但是NoSQL数据库只能在特定场景下有奇效,只能作为传统数据的补充而不能将其替代。
关系型数据库性能瓶颈
目前绝大多数数据库不具备自动扩展,自动迁移的能力,对于单库单表性能瓶颈明显,当单表超过1000W数据量,性能会出现比较明显的下降。为了解决该难题,常见的做法就是进行分库分表来规避。
垂直分库:可按照业务模块进行划分,把数据分在不同的库中。
水平分库:我们发现某些表的数据量已经超过1000W,QPS显著下降,这里可以对这种表进行进一步水平拆分,做成多个分片表。大多数电商企业会按照日期分片,但又衍生出来一些问题,在固定时段中对某个分片压力很大,其他分片此时处于空闲状态,在电商企业高并发的场景下,会产生大量数据,此时又产生短时间内单库QPS瓶颈的问题。
拆分规则优化:可以根据拆分字段,进行取模的方式来做到数据大致平均分布到多个分片上。可以保证整体系统的QPS得到提升,但又衍生出来一些问题:分片数量不够需要扩容的问题,跨分片事务一致性无法保证的问题。
数据库中间件
为了减少对应用的侵入性,并且要将压力打在中间件上,该中间件负责和上层应用打交道,对应用可表现为一个独立的数据库,而屏蔽底层复杂的系统细节。分布式数据库中间件除了基本的分表分库功能,还可以丰富一下,比如讲读写分离或者水平扩容功能集成在一起,或者比如读写分离本身也可以作为一个独立的中间件。(DDM,Cobar,MyCAT, TDDL等)。
上述提到的分片数量不够的扩容以及分布式事务一致性的问题,在华为云的DDM已经得到解决,并且中间件的功能在不断丰富,已经成为高并发应用的绝对利器。
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
网页标题:浅析分布式数据库中间件DDM-创新互联
新闻来源:http://azwzsj.com/article/jpjhg.html