分类归档: Database

DRBD 提升了 MySQL 的集群能力

前几天 MySQL 站点上有个为期 12 天以 Scale-Out 为主题的活动,列举了不少成功的案例,每个页面有下方的这个图很引人注意:

scaleout_diagram_sm.png

注意到主备服务器之间的 HA 是通过 DRBD(Distributed Replicated Block Device)做到的。DRBD 号称是 “网络 RAID”,开源软件,由 LINBIT 公司开发,MySQL 与 LINBIT 达成了合作关系,大张旗鼓的搞了这个 “12 天 Scale-Out” 活动也是这个商业合作驱动的吧。DRBD 助力 MySQL, 号称可以得到四个 9 的可靠性,这不低于任何一款商业数据库软件了。

DRBD 的出现的确对 MySQL 集群的可用性有很大提高。而且,有独到的特点,非常适合面向互联网的应用。因为是在存储层的数据块同步,很容易的做到应用层的 IO 负载均衡(备机承担一定的读压力),不但支持数据库失败接管,还能做到 IP 失败接管,接管时间小于 30 秒,真是穷人的绝佳集群解决方案(相比 Oracle 下的一些方案,比如 eBay 采用的方案,性价比还是不错的)。国外已经有很多成功的实现案例,国内的 Web 2.0 站点不知道是否已经有人在用,在这里推荐一下。更为有趣的是,已经有人通过 DRBD 来实现 Oracle 的另类集群。

怪不得前一阵子已经有开源爱好者开始宣称类似 “RAID即将成为过去式” 的激进言论。

EOF

eBay 的数据库分布扩展架构

在过去的 Blog 中, 我(插一嘴:这里的”我” 如果替换成 “Fenng” 似乎有些自恋, 也不是我喜欢的行文语气, 可发现转贴不留名的行为太多了,他大爷的)曾经介绍过 《eBay 的应用服务器规模》 , 也介绍过 《eBay 的数据量》,在这篇文章中提到过 “eBay 购买了 Quest Share Plex 全球 Licence 用于数据复制”,这个地方其实没有说开来。

对于 eBay 这样超大规模的站点来说,瓶颈往往最容易在数据库服务器上产生,必定有一部分数据(比如交易记录这样不容易水平分割的数据)容易带来大量的读操作,而不管用什么存储,能承担的 IO 能力是有限的。所以,如果有效的分散 IO 的承载能力就是一个很有意义的事情。

经过互联网考古学不断挖掘,路路续续又现了一些蛛丝马迹能够多少说明一些问题。客观事实加上主观想象,简单的描述一下。见下图:

ebay_shareplex_F5.jpg

通过 Quest 公司的 Share Plex 近乎实时的复制数据到其他数据库节点,F5 通过特定的模块检查数据库状态,并进行负载均衡,IO 成功的做到了分布,读写分离,而且极大的提高了可用性。F5 真是一家很有创新性的公司,虽然从这个案例来说,技术并无高深之处,但方法巧妙,整个方案浑然一体。

F5公司专门为Oracle 9i 数据库开发了专用的健康检查模块,通过调用F5专有的扩展应用校验(EAV)进程,F5能够随时得到Oracle 9i数据库的应用层服务能力而不是其他的负载均衡设备所采用的 ICMP/TCP 层进行健康检查。

这个图来自一篇《F5助力eBay数据库服务器负载均衡》的软文,真是一篇很好的软文,国外恐怕不会出现这样”含金量”极高的东西。

当然,这个技术架构可不算便宜。Quest 的 Share Plex License 很贵,而且,对于每个结点来说,都需要数据库 License 与硬件费用。但优点也很多:节省了维护成本; 数据库层面的访问也能做到 SOA; 高可用性。

国内的一些厂商比较喜欢给客户推存储级别的解决方案。通过存储底层复制来解决数据分布以及灾备问题。这个思路似乎太传统了,对于互联网企业来说多少有点过时。

BTW: 对 Amazon 的存储架构非常感兴趣,谁/哪里能提供点线索呢?

EOF

Oracle 11g 的两个特性

Oracle 11g 快发布了,相关特性的介绍断断续续可以看到,有些特性与其说是锦上添花,还不如说是”雾件”,实用性不大。不过今天了解到的两个新特性,倒是令我比较感兴趣。

归档日志压缩

其中一个是归档日志压缩的功能。通过设置初始化参数 log_archive_dest_n 中 compression 选项,可以对归档文件进行压缩生成。对于网络传输比较吃紧的环境,这个功能会很有价值。

物理 Standby 可以联机查询

11g 据说也可以对物理的 Standby 进行联机查询,前提条件是激活 Redo Apply 。10g 之前,物理 Standby 都是要么恢复状态,要么 Read Only 状态。如果能够边恢复边查询的话,那么简直是一个比较完美的 IO 分布的技术方案了。SharePlex 之类的产品市场会又小不少。

还没有看到最终的官方文档说明,这些特性具体还有哪些限制不得而知。不管千变万化,11g 如果能够提供 9iR2 的稳定程度就是万幸了。10g 是一个比较失败的版本,如果不算失败,就算是过渡版本好了。

EOF

给 Larry Ellison 的公开信,事关 AWR 与 ASH

Automated Workload Repository (AWR) 与 Active Session History (ASH) 是随着 Oracle 10g 的两个关键功能,可以说是性能优化的一个很大的进步,但是,用户使用这两个特性是要单独收取 License 费用的(Oracle 企业管理器Diagnostic Pack,价格不菲)。Pythian Group 的 Mark Brinsmead 日前发布了一篇 An Open Letter to Larry Ellison on AWR and ASH Licensing,阐述了 “这样收取 License 的方式导致用户接受 Oracle 优秀特性更慢”的观点。后面附有准备发给 Oracle CEO Larry Ellison 的公开信,正在倡议 DBA 签名。

当然,公开信的要求不是很过分的,仅仅是希望 Oracle 能够重新考虑修改 License 方式或者允许用户能够访问 底层视图以及 AWR 与 ASH 的 API 即可。国外 DBA 的这份较真的劲儿值得学习。虽然,技术圈子里的这类公开信总有些自我炒作的嫌疑。

在过几天, 7 月 11 日, Oracle 11g 就要正式发布了,期待这封公开信能起到一定的效果。

EOF