返回信息流是酱,本来数据业务用的是Mysql做服务器后端的数据库;但是因为速度问题boss让我去调研一下Redis数据库;
boss想用Redis直接做后端的主数据库,替代掉Mysql。
虽然redis读写性能很高,并发性能也很好,但我想问一下直接用Redis有没有问题:
1. 原来Mysql中以表作为存储,有的表中会有外键,查询时会有一些小的联合查询;这种如果用redis存会有问题吗?
2. redis的持久化怎么样?能保证数据的安全吗?
3. 如果只用redis对后期数据库运维会不会很困难?
各位高手传授点姿势呀!
这是一条镜像帖。来源:北邮人论坛 / database / #10099同步于 2016/6/14
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Database机器人发帖
【用Redis替代Mysql?】
cocoray
2016/6/14镜像同步66 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
1.外键的数据可以合并存储,作为key的一个属性;
2.数据的安全性和你的持久化方式有关系,最安全的方式也最影响性能;
3.比较通用的方案是数据落地到mysql,用redis存储热数据提高性能。很多完全迁移到redis的公司最后还是又加了mysql,两者各司其职最好。
能说一下原因吗?完全用redis为啥不行
【 在 ymymrydzh 的大作中提到: 】
: 感觉还是不要完全抛弃吧,mongodb+MySql组合来用
那全部迁移到redis会有什么不好呢?对后期的运维是不是比较麻烦
【 在 liangpeili 的大作中提到: 】
: 1.外键的数据可以合并存储,作为key的一个属性;
: 2.数据的安全性和你的持久化方式有关系,最安全的方式也最影响性能;
: 3.比较通用的方案是数据落地到mysql,用redis存储热数据提高性能。很多完全迁移到redis的公司最后还是又加了mysql,两者各司其职最好。
redis是非关系的数据库,部分mysql上的操作比如sum avg弄起来比较费劲啊,LZ确定要在非关系数据库上实现关系型数据库的操作?LZ试试看SELECT DISTINCT(`data`) FROM table_a WHERE `id` >= 14 AND `id` <= 114 ORDER BY `time`这么简单一句sql可以完成的数据操作,用了redis之后需要做多少转换。
MySQL如果硬件条件好,是可以做到k级别的 qps 的,要是你有个96GB内存的服务器,还有SSD,把innodb_buffer_pool_size开到72G,那个速度我相信LZ也是满意的。
再者,如果读性能不理想,一主多从是能缓解的,至于老版本MySQL单线程主从同步可能带来大延迟的问题,上MySQL 5.7吧
关系表移植到redis 还是要从新设计下 外键很好解决 数据持久化也不是问题 可以异步存储到磁盘 后期运维不知道是什么意思 redis 也可以做分布式集群 性能没问题 迁移也不麻烦
发自「贵邮」
两年前这么组合用的,当时的原因是NoSQL产品并不成熟。坑还挺多,可以填,但是想填坑的话还要花不少人力。
【 在 cocoray 的大作中提到: 】
: 能说一下原因吗?完全用redis为啥不行
【 在 cocoray 的大作中提到: 】
: 那全部迁移到redis会有什么不好呢?对后期的运维是不是比较麻烦
单纯看运维的话,redis比mysql简单多了吧。如何redis和业务匹配很好,redis基本不需要啥运维。