关闭

数据库高可用架构(MySQL、Oracle、MongoDB、Redis)

2180人阅读 评论(0) 收藏 举报
分类:
一、MySQL
MySQL小型高可用架构
方案:MySQL双主、主从 + Keepalived主从自动切换
服务器资源:两台PC Server
优点:架构简单,节省资源
缺点:无法线性扩展,主从失败之后需要手动恢复主从架构
MySQL中型高可用架构
方案:MMM + MySQL双主 + 多从高可用方案
服务器资源:
1、至少五台PC Server,2台MySQL主库,2台MySQL从库,1台MMM Monitor;
2、1台MMM Monitor选择低配;
3、如果不采用F5作为从库的负载均衡器,可用2台PC SERVER部署LVS或HAProxy+Keepalived组合来代替;
优点:双主热备模式,读写分离,SLAVE集群可线性扩展
缺点:读写分离需要在程序端解决,Master大批量写操作时会产生主从延时
MySQL大型高可用架构
主要思路:中间件+MySQL Sharding
如方案:Cobar等中间件+MySQL技术
图片略。
另外,还分享些MySQL一些主流的高可用架构
1、MySQL双主 + Keepalived主备自动切换方案(上面已有)
2、MySQL主从 + Keepalived主从自动切换方案(上面已有)
3、MMM+MySQL双主 + 多从高可用方案(上面已有)
4、MySQL + Pecemaker(Heartbeat) + DRBD高可用
5、MySQL + RHCS 高可用方案
6、MySQL + Cluser 集群架构
7、Percona Xtradb Cluster 集群高可用性解决方案
8、中间件 + MySQL 大型集群解决方案(上面已提到)
MySQL + Pecemaker(Heartbeat) + DRBD高可用 && MySQL + RHCS 高可用方案
Percona Xtradb Cluster 集群高可用性解决方案
MySQL多机房部署架构参考
二、Oracle
1、Oracle ActiveDataGuard
服务器资源:2台PC Server
1、Oracle自己的容灾系统,数据库完全冗余保护,可跨IDC部署;
2、Oracle 11g 以上版本Standby可Redo模式打开,可作为数据仓库使用,也可以作为备份数据库;
3、可切换,一般会采用手动切换方式。
2、Oracle RAC
服务器资源:至少两台PC Server作为RAC节点,SAN存储一台,
其他资源:光纤网络环境
RAC的特性:
1、高可用性:保证只要有一个存活的节点,就不会断业务,保持业务连续性
2、双机双工:RAC是并行模式工作的,节点间关系是Active对Active,每个节点都能为客户端提供服务
3、易伸缩:RAC的增加、删除节点非常方便
4、高吞吐量:节点数量和吞吐量是正比关系
3、Oracle MAA
方案:RAC+ASM+Standby(RAC)部署
服务器资源:RAC所需要资源*2
其他资源:异地机房
备注:MAA实质上就是RAC+DataGuard的结合体。
Oracle还有很多其他高可用架构,比如结合Oracle Golden Gate做复制等等……
三、MongoDB
MongoDB高可用架构
方案:MongoDB复制集+Sharding分片
服务器资源:
1、9台:6台PC Server作为shared节点,3台作为仲裁节点,三个Mongos和Config各部署在三个Shared节点上,如上图;
2、横向扩展分片,一组分片由3台PC Server构成;
3、仲裁节点服务器不存储实际数据,因此低配即可。
备注:
1、考虑到高可扩展问题,放弃MongoDB主从复制方案;
2、对数据安全要求非常高的业务,每组分片可由5台PC Server构成;
3、建议开发人员结合业务选出最合适的片键。
四、Redis
Redis小型高可用架构
方案:Redis主从复制+Keepalived实现Failover
服务器资源:两台PC Server
优点:架构简单,节省资源
缺点:主从切换有间隔,这期间客户端将收到错误
方案:Redis Sentinel实现Failover
服务器资源:
1、两台PC Server部署Redis,一台Redis Sentinel;
2、Redis可选择一主多从架构;
3、一台Redis Sentinel选择低配。
优点:Redis官方自带HA方案,Redis作者所编写,具备
缺点:发生Failover之后,客户端需要手动更正地址
Redis中型高可用架构
方案:Redis主从+Haproxy负载均衡
服务器资源:至少3台PC Server部署Redis主从,两台PC Server部署Haproxy
优点:读写分离,横向扩展Slave
缺点:Master为单点
Redis大型高可用架构
方案:Twemproxy实现Redis存储分片
服务器资源:至少6台PC Server部署Redis主从,至少3台PC Server部署Twemproxy,2台PC Server部署HAProxy
优点:分片,负载均衡,Redis和Twemproxy都可以横向扩展
缺点:Twemproxy所存在的缺点:
1、Twemproxy节点扩展,原来的数据需要重新处理分布,避免出现找不到key值;
2、扩展Redis节点,数据不会自动均匀分布,而需人工处理。
1
0
查看评论

数据库笔记——Mysql、Oracle、Sqlserver || Redis、Memcached、mongoDB环境搭建

个人数据库基础笔记,将各类数据库从环境搭建到使用简单回忆整理,方便自己回顾知识点,也同大家分享下: 关系型数据库(一般基于Jdbc和Sql语法):Mysql   、Oracle 、SqlServer 非关系型数据库(基于结构):Redis 、Memcached 、mongoDB 相...
  • Zyp689
  • Zyp689
  • 2017-06-21 19:32
  • 475

数据库高可用架构(MySQL、Oracle、MongoDB、Redis)

一、MySQL MySQL小型高可用架构 方案:MySQL双主、主从 + Keepalived主从自动切换 服务器资源:两台PC Server 优点:架构简单,节省资源 缺点:无法线性扩展,主从失败之后需要手动恢复主从架构 MySQL中型高可用架构 方案:MMM + MySQL双主...
  • Stubborn_Cow
  • Stubborn_Cow
  • 2015-12-10 15:16
  • 644

HBase vs. MongoDB vs. MySQL vs. Oracle vs. Redis,三大主流开源 NoSQL 数据库的 PK 两大主流传统 SQL 数据库

HBase vs. MongoDB vs. Redis,三大主流开源 NoSQL 数据库的 PK 两大主流传统 SQL 数据库类别HBaseMongoDBMySQLOracleRedis描述基于 Apache Hadoop 并提供 BigTable 能力的列存储最受欢迎的文档存储数据库之一广泛使用的...
  • defonds
  • defonds
  • 2015-09-15 18:33
  • 18537

HBase、MongoDB、MySQL、Oracle、Redis--nosql数据库与关系数据库对比

HBase vs. MongoDB vs. MySQL vs. Oracle vs. Redis,三大主流开源 NoSQL 数据库的 PK 两大主流传统 SQL 数据库 类别 HBase MongoDB MySQL Oracle Redis ...
  • u010022051
  • u010022051
  • 2015-09-18 10:17
  • 1095

mongodb,redis,mysql 对比

本篇内容大部分不是原创,转载的会贴有链接。 准备学习下数据库,想对目前的主流数据库做一个简单的了解分析,就搜集了资料整理到了一块。 当下主流的要数NoSql数据库了,拥有强大的高并发能力。 mongodb: 它是一个内存数据库,数据都是放在内存里面的。 对数据的操作大部分都在内存中,但mo...
  • mao834099514
  • mao834099514
  • 2016-12-27 17:00
  • 2330

mysql,redis,mongodb的使用场景及区别

所以总结一下,MongoDB 的适用场景为:数据不是特别重要(例如通知,推送这些),数据表结构变化较为频繁,数据量特别大,数据的并发性特别高,数据结构比较特别(例如地图的位置坐标),这些情况下用 MongoDB , 其他情况就还是用 MySQL ,这样组合使用就可以达到最大的效率。 Mon...
  • qq_38234594
  • qq_38234594
  • 2017-11-29 10:53
  • 462

基于Redis+MySQL+MongoDB存储架构应用

摘  要: Redis+MySQL+MongoDB技术架构实现了本项目中大数据存储和实时云计算的需求。使用MongoDB切片的水平动态添加,可在不中断平台业务系统的同时保障扩容后的查询速度和云计算效能;依据切片键索引分片,位于各切片独立进行计算,使大数据下的实时分析成为现实。对于...
  • younger_z
  • younger_z
  • 2017-01-18 13:49
  • 6719

mysql,redis,mongodb应用场景

mysql:常规关系型数据库; redis:注重高性能,适用于即时性要求高的业务,比如说秒杀、库存; mongodb:注重大数量,适用于插入大量低价值业务数据的场景,比如说日志系统;
  • mecho
  • mecho
  • 2014-12-15 12:24
  • 2381

MySQL、Redis、MongoDB对比

特点: 1-1 MySQL: 1. 使用c和c++编写,并使用了多种编译器进行测试,保证源代码的可移植性 2. 支持多种操作系统 3. 为多种编程语言提供可API 4. 支持多线程,充分利用CPU资源 优化的SQL查询算法,有效的提高查询速度 5. 提供多语言支持,常见的编码如:GB2...
  • szm1234560
  • szm1234560
  • 2018-01-06 21:06
  • 61

MySQL vs ElasticSearch vs MongoDB

Anfang des Jahres habe ich mySQL und MongoDB aus Sicht der Daten verglichen, jetzt geht es um Leistung. Neu im Bunde ist dieses Mal Elasti...
  • wang_zhenwei
  • wang_zhenwei
  • 2015-09-21 15:10
  • 3099
    个人资料
    • 访问:117220次
    • 积分:2284
    • 等级:
    • 排名:第19376名
    • 原创:104篇
    • 转载:91篇
    • 译文:0篇
    • 评论:4条
    最新评论