当前位置:操作系统 > Unix/Linux >>

CDB之我见

作者 ㊣富载朝野
 
 
 
CDB全称为cloud  database,中文叫做云量数据存储,是腾讯公司提供的分布式数据存储服务。CDB提供了高性能,高可靠的MySQL 集群服务,并且整合了备份,扩容,迁移等工具,适用于面向表结构的场景,适用MySQL的地方都可以使用CDB
 
相对于传统数据存储模式,CDB的优势主要包括以下几个方面:
 
 
 
1.相对于开发来说CDB的优点表现为:
 
a.社交游戏数据量大,访问量高,只要拆分大表及避免明显访问热点就可大大提供存储效率,其高性能及可靠性的MySQL集群大大降低服务器宕机的风险,加之冷热备份机制、监控机制及断点日志恢复在一定程度上可使应用表现为0宕机,改善用户体验
 
b.CDB可最大程度减少开发者在部署、监控、扩容和故障恢复等方面的投入,将开发人员从运营和维护中解脱出来,而更专注于应用本身的功能实现,扩展及用户体验的提升。
 
 
 
c. 即时申请即时使用,通过IP/Port直接访问MySQL 实例,开发者无需自行安装MySQL 实例和调整配置文件,最大限度的降低应用修改代码或者重启几率和风险
 
d. 通过MySQL 客户端和API直接访问和管理MySQL 实例,无需直接改造代码,进一步规避了因改善代码导致各类风险
 
 
 
2.相对于运营
 
a. 主从DB服务(master/slave)切换后访问MySQL的IP/Port不变,应用层无需修改配置。
 
 
b. 提供master-slave热备,自动定时冷备服务,减少开发者的维护投入。
 
 
c. 后期扩容时,其自带的应用“一键式”扩容,可以实现无人工参与。
 
 
 
例如:我们的应用从“内测区”升级到“腾讯朋友推荐列表”后,由于访问量剧增,DB层往往需要更换性能更好的设备以支持海量访问。通常的做法是开发者或者运维人员介入来完成MySQL实例的重新部署和数据迁移。使用CDB后,其所提供的“一键迁移/扩容”功能,可以完全自动化地完成这项工作
 
 
 
合理利用以下下CDB特点,可进一步保证服务的质量
 
 
 
1.不随意修改对应MySQL的原帐号信息和权限,这个操作可能会令部分集群服务失效;更不要随意变更或者停止master-slave关系,导致冷热备份失效
 
2. CDB默认存储引擎是Innodb,创建库和表时建议优先使用Innodb引擎,同时应尽量避免MySQL实例数据量过大及单个业务表数据过大(限额为5G,暂时够用),导致Innodbd的cache buffer负载过高,MySQL瓶颈转到IO上,导致访问吞吐量下降,以上实例能保证CDB在支持高访问的能力上有更好的表现
 
3. CDB在管理MySQL的连接实例上限为1000,应避免业务程序导致的空连接过多、前端过来的访问远远超出实例的处理能力及因某个连接执行太久而占用了MySQL的独占资源,导致大量的访问请求被阻塞。
 
 
 
 
4. 开发人员通过IP/Port的方式就可以完全控制和管理MySQL实例,不能登录到服务器进行操作,CDB统一管理MySQL实例的配置,不需要开发人员介入。
 
 
 
 
5. CDB运维系统对MySQL进行日常管理,日常的维护和调整,当MySQL出现异常时,运维系统会及时发现并通知运维人员处理,用户不需要做任何变更操作
 
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,