全部博文(2065)
分类: 数据库开发技术
2010-06-19 16:21:05
陈吉平_高可用数据库分布式应用实践
陈吉平
介绍作者:
陈吉平淘宝网首席DBA,研究员。ACE
什么是更好的?
1、 低成本
PC服务器便宜
本地存储
定制化
2、 弹性、可扩展、最好是动态可扩展
支持分布式技术、甚至支持远程分布
动态平衡如(一致性Hash)
3、 高可靠,高可用性
容错,健壮性
冗余,永不失败
•
PC Server的快速发展
– 多核技术的发展,处理速度越来越快
– 大众化,熟悉的人很多
– 开放,开源技术的支持,如Linux,Jboss,Mysql等
•
存在的风险
– 硬件本身可靠性不佳,要靠应用的冗余性来保证整体的高可用
– 对应用与构架的技术要求相对比较高
服务器型号 |
cpu个数 |
cpu主频 |
cpu型号 |
内存 |
事务处理数 |
单核CPU事务处理数 |
IBM P550 |
4 |
|
power 5 |
|
294 |
73.5 |
IBM P590 |
8 |
|
power 5 |
|
656 |
82 |
IBM P590 |
16 |
|
power 5 |
|
1200 |
75 |
intel nehalem样机 |
2 |
|
X5560 |
|
1107 |
138 |
IBM P550 |
4 |
|
power 6 |
|
421 |
105 |
IBM P570 |
14 |
|
power 6 |
|
1735.49 |
124 |
hp rx8640 |
12 |
|
Itanium 2 9100 |
|
1206 |
50 |
PS:太牛了,居然跑到14路CPU了内存
分布式方案1-读写分离
•
水平扩展构架体系
– Scale out的解决方案
– 缓解主库的压力
– 独特的消息中间件同步方式(Notify)
•
主库可以是小型机,读库是PC Server
– 读库可扩展
– 坏掉任何一个读库,不影响整体业务
– 容许了PC Server本身的不稳定性
分布式方案2-共享存储
•
采用PC Server+集中存储
– 降低主机成本,解决主机瓶颈问题
– 存储可扩展,解决主机难扩展的问题
•
实现高可用的思路
– 主机用来确保数据库的可扩展问题,实现水平分布式
– 存储本身通过SAN网络实现可扩展,以及SAN环境下的冗余
– 有点类似RAC,但是主要是结合应用,实现高可用
分布式方案3-完全拆分
•
全部采用PC Server
– 成本最低
– 扩展方便,但是单点可靠性并不强
– Shared nothing
•
可靠性需要应用的保证
– 构架支持,坏掉任何一个主库,不影响业务,或者只影响当前库的业务
– 如果多主结构,可以避免单个主机故障
分布式构架关键技术-TDDL
分布式多机房技术
•
高可靠与高成本的冲突,硬件解决方案还是应用构架解决方案
•
好的数据库构架,离不开好的应用的构架
•
任何一个好的构架,都有其生命周期
•
分布式技术没有最好,只有最合适
• 选择自己最合适的分布式技术,不要盲从