云数据库Redis
云数据库、非关系性数据库Redis架构介绍、热Key问题解决及两个应用实践
非关系型数据库介绍
NoSQL,泛指非关系型的数据库,区别于关系型数据库,NoSQL不保证ACID特性(易扩展、大数据量、灵活数据模型、高可用)
非关系性数据库分类:
1)键值(key-value)存储数据库
2)列存储数据库
3)文档型数据库
4)图形数据库
Redis介绍
Redis:remote dictionary server,远程字典服务,是开源使用ansi c语言编写、支持网络、可基于内存或持久化的日志型、key-value数据库。
1)支持数据持久化,周期性的把内存中更新的数据写入磁盘或把修改操作写入追加的记录文件,重启的时候可以再次加载
2)redis可以支持key-value、list、set、zset、hash等数据结构存储
3)redis支持数据备份,即master-slave模式的数据备份。
Redis使用场景
云数据库Redis介绍
云数据库Redis支持主从、集群和读写分离架构。
三种部署架构:
1)标准架构:主从(master-slave)双副本架构,由主节点提供日常服务,备节点提供高可用。当主节点发生故障,系统会自动在30s内切换至备节点。
2)集群架构:由代理节点、数据分片和配置服务器组成,可通过增加数据分片实现横向扩展。每个数据分片均为双副本(分别部署在不同的机器上)高可用架构,主节点故障后,系统自动进行主备切换。
3)读写分离架构:由代理节点、主从节点和只读节点构成。只读节点采用链式复制架构,扩展只读节点个数可使整体实例性能呈线性增长。
标准版-双副本
标准版-单副本
集群版-双副本
集群版-单副本
读写分离版
云数据库Redis的三种容灾方案
云数据库Redis企业版(Tair)
云数据库Redis最佳实践
Redis的性能边界
1)计算资源的性能边界
使用通配符、lua并发、1对过pubsub、热点key等会大量消耗计算资源,集群架构下还会导致访问倾斜,无法有效利用所有数据分片
2)存储资源的性能边界
streamin慢消费、大key等会占用大量存储资源,集群架构下还会导致数据倾斜,无法有效利用所有数据分片
3)网络资源的性能边界
扫描全库(key命令)、大value、大key的范围查询等会消耗大量的网络资源,且极易引发线程阻噻
排查Redis实例CPU异常的问题
通过proxy query cache优化热key问题
热key发起的大量读请求导致的访问倾斜,云数据库redis新增代理查询缓存功能,通过此功能,代理节点会缓存热点key对应的请求和查询结果,当在有效时间内收到同样请求可直接返回结果到客户端,无需再和后端数据分片交互。
云数据库Redis应用实践
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)