作者文章: Fenng

SSD 趋势小窥

Image representing Andy Bechtolsheim as depict...

Image by idg.com.au via CrunchBase

来自 Sun 的大牛 Andy Bechtolsheim (Sun创始人之一)在 HPTS 2009 上做了题为 Memory Technologies for Data Intensive Computing 的演讲。其中对硬件趋势的演绎很有参考价值。

摩尔定律在未来十年内仍然有效。但是对物理磁盘来说某些方面是需要修改的–速度得不到质上的飞跃了 :)

传统 2.5 寸物理磁盘,能够提供 180 个写 IOPS,320 个读 IOPS,平均一个 IOPS 的价格是 $1(这里指价格处以 IOPS 的平均值,不是累积)。而现在主流 SSD 能够提供 8000 个写 IOPS ,3.5万个读 IOPS,每个IOPS 的成本大约是 $0.1。从性价比上看,SSD 的优势逐渐明显。根据来自 NetApp 的信息,SSD 目前一 GB 大约 $3,而磁盘则为 $ 0.10

而实际上,要想达到百万级别的 IOPS 并非易事,I/O 控制器的处理能力毕竟还有限。SSD 写能力仍然是目前的一大问题,随着时间而写能力下降,”均匀磨损算法”(Wear leveling algorithms)目前也不够完美。

密度每年翻倍,内部延时在未来几年将以每年 50% 的速度减小(现在小于100 usec,磁盘则是大于 5000 usec),而传输能力将每年翻倍。成本也将每年减少 50%。这些都是好事情。未来几年,是 SSD 的天下。而传统物理磁盘将成为磁带,SSD 将成为磁盘。(Disk is Tape,Flash is Disk。这话不是我说的,这是 Jim Gray 的名言)

Tape is Dead
Disk is Tape
Flash is Disk
RAM Locality is King
--Jim Gray 2006

EOF
延伸观看:MySQLConf 09: Andreas von Bechtolsheim, “The Solid State Storage Revolution”

Instrumentation 与 Profiling

看到有反馈说到《Oracle性能诊断艺术》中对于 Instrumentation 这个词的翻译问题。说实话,对这个词的处理当初挺让我头疼,这是个可以意会但很难用一个中文词汇对应的术语,一些翻译词典或是已有的翻译作品对这个词的处理也是五花八门。在图灵著译俱乐部里面提问得到很多回答(这里要致谢!)。权衡再三,最后根据整个章节的重点以及上下文选择用 “性能测量”。

我不喜欢用有些人说的测试领域内所用的术语”插桩”,实在是有点诡异。当然,如果这个词不翻译的话,或许更好。其实很多计算机术语容易受到早期译者的影响,比如关系数据库的 “Lock” 这个词 ,动词的时候,很多译者喜欢翻译成 “封锁”,个人觉得实在是累赘,就是锁就行了嘛,为什么非要”封”呢?

另一个比较难以处理的就是 “Profiling” ,根据维基百科的解释 ,这个词指”动态程序分析的一种形式…根据程序执行收集到的信息调查程序的运行行为,通常用来查找程序中的瓶颈”。最后我用了”剖析”。(Updated: 中文是 “性能分析“。不过我觉得似乎有点容易混淆。)

这两个词很有趣,任何一个程序或者软件项目构建的初期,如果没有考虑 Instrumentation ,在程序或项目交付后,又不能做 Profiling ,那么这个程序或者项目肯定会是灾难。所以,能对 DBA 着重强调一下这一点或许要比看更多的同质化内容更有价值。

在这本书的最后定稿的时候,编辑来信要求确认术语的统一,对于 “Hash” 这个词,要求用统一的术语”散列”,最后我们几位编辑极力坚持用”哈希”这个词(当然,最后用了”哈希”)。大部分的数据库图书,尤其是 Oracle 相关的图书,这个词已经是约定俗成的了。所以,说起术语标准化,个人看法也是术语对应列表用来做指导而不是生搬硬套。

翻译需要技术,更需要艺术。这活儿,真的不好干。

EOF

更新:Twitter联合创始人 Nick Bilton 说过这样一句话”Early on our biggest problem was that we didn’t have any gauges into the system and we didn’t have metrics, so we were kind of flying blind. The way we got around it was to instrument the entire system so we could see what was going on” (refer)。可见缺少 Instrumentation 会带来多么严重的问题。

《Oracle性能诊断艺术》出版了

几周前,《Oracle性能诊断艺术》(Troubleshooting Oracle Performance 的中文版)终于面市,现在线下的实体书店应该也可以买到了。这半年来一直有朋友在问什么时候能够出版,现在总算有个交代了。

关于中文版书名,图灵出版社编辑们费了不少心思,尽管最后敲定的书名中”艺术”两个字似乎有点托大,不过我个人觉得也还算好,恳请读者把重点放到内容的汲取上而不是和书名较劲。

TOP_Chinese.jpg

这本书从接手到现在也快一年的时间了,整个过程尽管有辛苦,也已经成为过去式。这或许是我最后一本翻译的图书–除非以后出版自己写作的东西(如果内容还能过得去的话)。

如果朋友们针对书中内容有任何问题,可以访问 支持页面留言反馈或者发邮件给几位译者。相信译文中仍有欠妥的地方,译者将尽量提供技术支持以及延伸内容。

EOF

感谢这本书翻译过程中给予我们帮助的所有朋友们,有你们的支持,是几位译者的幸运。

此文作者:, 位于 Database 分类 标签: on .
转载须以超链接形式标明文章原始出处和作者信息及版权声明.

DRBD 与 Pacemaker

如果有人问你一台 PC 服务器是否可以达到 99.99% 的高可用,该如何回答呢? 或许没有一台机器能”确保”达到这样的可用率,当然在某个时间段或许不会出问题,但这个肯定是看运气,而高可用基本上是没办法通过一台来达到目标的,我们更多的时候是设计方案确保在出问题的时候尽快接管故障机器,当然这要付出更大的成本。

对于 Oracle 的高可用方案可以参考 Maximum Availability Architecture (MAA) 白皮书,不过 Oracle 并不推崇操作系统级别的解决方案。MySQL 的指导策略倒是更为灵活一些,DRBD® (Distributed Replicated Block Device) 就是个可以考虑的选择。以前关注过这东西,但是据我了解,好像国内实现的案例不多,不知道是不是处于对网卡同步速度的限制考虑。现在这个有了新的转机,在 8.3 版本上已经能够支持 InfiniBand 。而原来通过网卡同步数据块的方式毕竟受网卡延时和带宽的限制,InfiniBand 的支持的实现相信能赢得一部分企业用户的信赖。

DRBD_overview.jpg

Linux Kernel Summit 2009 上这次有对 DRBD 的介绍(注意对数据一致性的介绍),这意味着能正式进入 Kernel 么?

相对专有的集群管理工具,也有开源的集群管理工具 Pacemaker (支持 HeartbeatOpenAIS 标准)可供配套使用。Pacemaker 能够较为灵活的实现主备、N+1 、N-N 等多种模式。感人感觉会比较有生命力。

Pacemaker.jpg

好的开源解决方案就是设计活动木板房,廉价灵活环保,当然,牢固肯定是第一目标。

补充:

根据 MySQLPerformanceBlog 的说法,MySQL 几种高可用解决方案能达到的可用性如下:

HA_ratio.png
EOF