专栏名称: 运维帮
互联网技术分享平台,分享的力量。帮主一直坚信技术可以改变世界,从毕业到现在干了15年运维,有许多话要和你说。
目录
相关文章推荐
51好读  ›  专栏  ›  运维帮

AliCloudDB--双11商家后台数据库的基石

运维帮  · 公众号  · 运维  · 2017-01-16 08:04

正文

请到「今天看啥」查看全文


因此,访问链路最佳实践可以总结为以下几点:

  1. 建议使用高安全访问模式,特别是短连接应用,高安全访问模式具有缓冲短连接对数据库冲击的效果。

  2. 在标准访问链路切换到高安全访问链路时,切换过程最多会有 30 秒不可访问。

  3. 如果 ECS 使用VPC ,那么数据库只能选择高安全访问链路。

  4. 访问链路上需要注意应用不要使用 IP 来访问数据库,避免由于 IP 变化导致故障。


3、架构设计

架构设计就像我们修建一幢坚固的房子一样,需要有整体的布局设计,同时在细节上材料的选择以及施工质量的保障也同样重要。在历年的双11中,由于业务流量的突增,那些平时没有暴露出来的问题往往在这个时候爆发出来,所以我们要把数据库这块地基打好,细节上做好,架构设计就需要我们在这些上下功夫。



读写分离是常见的架构设计手段。RDS支持只读节点,主库主要承担写和实时性要求高操作,一些复杂的分析计算业务操作最好不要放在主库上执行,而是选择放在只读节点运算。使用读写分离架构时,首先数据库版本需要升级到MySQL5.6版本;同时目前RDS最多只支持五个只读节点。在读写分离时,延时是我们必须关注的重点,目前RDS上通过源码改进并行复制,提升复制性能,降低了主库与备库之间数据同步的延迟。



正如上图的压测结果显示,5.6版本较5.5版本,在性能上有很大的提升。目前,RDS只有5.6版本支持只读实例,应用可以做读写分离;支持在线添加字段、索引和重建数据表,应用不再被阻塞。



引擎选择是数据库设计中很基础的一点,这里重点介绍下Tokudb引擎。日志型应用的特性是:写操作很高、读操作相对较少。Tokudb引擎压缩比Innodb引擎高出5~7倍,适合写多读少的应用;同时,Tokudb引擎online ddl速度较快,适合表很大需要经常DDL操作的应用。同样,Tokudb引擎缺点也十分明显,它会增加响应时间;同时online ddl对大字段不适用。

这里需要注意一点的是:在5.5版本以后innodb 引擎已经是MySQL的默认引擎,建议将Myisam引擎转换为innodb引擎,会避免很多问题的发生。



对于大字段,数据库的更新写入压力过大, update 、insert、delete 会导致 binlog 日志急剧增加,导致实例磁盘报警。因此在数据库设计时,要注意规避大字段引起的问题。常见的大字段有 varchar 8000 )、 text blob clob sqlserver/mysql ),使用时建议将大字段拆分出主表或者存入到其他存储系统中。









请到「今天看啥」查看全文