随着电商业务的快速发展,应用软件用户数量的急剧增长及频繁的访问核心数据库,从而使得数据库负担过重,容易引起系统的性能瓶颈,为了提升系统的整体性能,使用分布式数据缓存将应用程序中经常访问到的静态热点数据缓存到内存,极大降低应用系统对于数据库的访问请求。
应用程序将频繁访问的数据缓存到内存从而提高应用响应效率,一般包括二种方案:
第一、采用数据库现有的数据缓存机制,将查询到的数据集缓存到内存,此种方式的缺点是扩容成本较高,可扩展能力差,无法实现水平式平滑扩展,且存在单点故障隐患,单机服务器内存消耗将影响整体数据库访问。
第二、采购服务器自行搭建数据缓存服务集群,需要专业的工程师运维管理,动辄几万的服务器需要商家付出不菲的服务器资源成本和运维成本。
聚石塔开放缓存服务( Open Cache Service简称:OCS)为在线缓存服务,实现热点数据的快速响应及数据的持久化保存;OCS支持Key-Value的数据结构,兼容memcached协议的客户端都可与服务端通信。OCS 支持即开即用的方式快速部署;对于动态Web、APP应用,当应用架构进行数据缓存设计,使用缓存将会极大降低应用对数据库的访问请求,良好的设计数据库结构和利用数据缓存,从而提升应用整体的响应速度。
相比其它开源的数据缓存产品,聚石塔OCS具有以下优势:
a) 弹性部署: 用户可根据需要在线购买OCS实例,并即时开通服务,无需购买硬件;当业务规模发生变化时,可在线实时弹性扩容满足业务所需.
b) 性能优越: 采用内存+SSD的部署方案,通过内存为用户提供数据访问,响应时间大为缩短.
c) 安全保障: OCS仅提供内网访问,为ECS和RDS的用户提供高速缓存服务,可以避免外部攻击.
d) 服务可靠: OCS无单点故障,当某台服务器宕机时,用户当前的客户端自动重连后即可恢复服务.
华北区域XXX服务商将部署在聚石塔内的ERP系统进行了saas化改造,过程融入了缓存技术的设计,按聚石塔规则除了使用了基础云虚拟机VM和云数据库RDS,同时将数据库热点数据进行了剥离,部署在聚石塔换缓存服务产品OCS上.
【用户登陆&订单实时查询 缓存逻辑图】
单条Sql执行速度提升
该服务商测试了不同业务场景中涉及到的sql语句,OCS与数据库执行效率进行了对比,每条数据执行的数据量一致(1000-10000条不等),OCS效率提升了5-10倍。下图提取了其中三条:
订单业务处理效率提升
分页查询同样订单量(2000w)的实时订单数据,单页响应速度提升了100倍。
成本降低
该服务商将原来一台大型的RDS(内存6G,QPS2500),替换成一台标准型RDS(内存1.2G,QPS500),缓存数据存放在一台中型OCS(内存6G,QPS2500),总的数据存储空间加大了(总内存7.2G,QPS3000),成本却从原来的1.29w减低到0.45w,成本约65%。