数据库与用户体验

简要概括一下在 2010 数据库技术大会 上分享的这个关于”数据库与用户体验”的话题。

关于数据库与用户体验,在这个分享中我谈到了如下三点:

  • 响应速度(Response Time)
  • 可用性(Usability and Availability)
  • 数据交互策略(Data Interactive Policy)

其中响应速度(或者是响应时间,英文用了Time)这一部分,首先强调了一下面向最终用户的响应时间对用户体验的重要性。”慢”终归不是好事情。建议技术人员应该了解 Web 架构中各个组件之间的性能数据,并且能够建立端到端的性能数据分析。额外强调了一下延迟(Latency)的意义以及对于用户体验和架构扩展的重要性。这一部分最后提出了三个问题,意在希望能建立起一个具备基本性能度量能力的Web环境,我真的不知道有多少人仔细考虑过这样的问题。

对于可用性,用 PPT 中的这三句话即可概括:

  • 不具备可用性则没有意义
  • 好的可用性 != 好的用户体验
  • 差的可用性 =糟糕的用户体验

这里有必要再次强调一下第一句,很多 DBA 认为只看好自己的一亩三分地即可,对系统中的其它环节采取旁观态度,窃认为这是不可取的。补充一句:产品设计者实际上也应该注意过度设计带来的可用性风险。

第三部分看似篇幅挺大,但除了分析一个具体的案例之外,其实没说什么有价值的东西。至于 BASE 、CAP 这些内容,其实都是老生常谈的内容。费了不少口舌,如果要提炼出几个词的话,可能就是”权衡”与”取舍”,当然,这个要建立在一定的实践之上的。

必须要承认,这个话题因为比较跨界,也有我偏颇或考虑不够周详的地方。希望以后在能有更多的朋友加入到这一话题的讨论中来,我更想听听大家的看法。用户体验是个大话题,我这样的门外汉也来掺和似乎有些过分啊…

(现场用的 PPT 有几页展示效果不够好,在 Web 上看应该还成)

EOF

Red Hat 企业版 Linux 的一些改进

Red Hat 正式发布了企业版 Linux 5.5 版本。原以为这个版本发布不会有太多新鲜的内容,读了一下 Release Notes,还是有不少值得关注的地方。

注意其中有一句话,一定要关注一下,每个逻辑 CPU 推荐至少需要 1GB 的内存。为什么?

这一版本对于虚拟化环境中使用 HugePages 有所改进。系统设定使用 HugePages 之后,Libvirt(虚拟化 API) 针对 Virtual Guest Memory 自动使用 HugePages 。需要技术人员考虑这对虚拟化环境中的 DB 有什么影响?

改进了 Completely Fair Queuing (CFQ) I/O 调度器在某些应用场景下的性能。很多 Linux 用户都不太注意默认调度器的问题。性能上其实还是会有很大差异的。知其所以然才好。

关于 SystemTapValgrind 的引入对于系统管理员来说,是个好消息。前者有助于性能调查,后者有助于内存泄漏分析。

阅读 Release Notes 是个很有趣的事情,技术人针对自己感兴趣的领域可以多关注一些类似产品的特性,用其所长,技术选型上应该采取主动一点的态度。

EOF

数据库技术大会以及我的演讲主题

今天晚上和几个同事飞赴北京,参加明天开始的 2010 数据库技术大会

在明天(4月2号)下午我将做一个演讲,题目有点偏,关于”数据库与用户体验“。我相信在此之前,没有谁会做这样的话题,所以这个话题在做数据库的技术人员眼里有点陌生或是有点忽悠。我的出发点是这样的:可能绝大多数 DBA 都会认为自己的工作和用户体验(User Experience) 是风马牛不相及的事情。实际情况并非如此,DBA 很多关键的工作都会和用户体验相关联,理解到其中的细微之处,能让 DBA 在技术团队发挥更大的作用,创造更大的价值。希望我的演讲到时候会对一些有困惑的朋友真的有帮助。

应主办方要求,演讲时间将控制在 45 分钟左右,所用的 PPT 几经修改已经定稿。在会后我将尽快分享到 SlideShare 上,并将做一个简洁一点的描述,核心的内容可能用较短的篇幅即可说清。

这次会议,阿里巴巴集团旗下各家子公司去了不少同事,当然,都是带着演讲主题去的,我对他们即将分享的技术话题也很期待。

另外,支付宝当前的 DB 团队仍然需要资深 DBA。如果有哪位朋友有意向来杭州发展,在会场我们不妨沟通一下。

EOF

最近事情比较多,这里更新较少。再过一段时间,我会有机会做更多的总结,与朋友们分享一些心得。

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

PC 服务器的 RAS 能力

曾经被问过很多次这样的问题:PC 服务器的可靠性到底是怎样的? 能否给出一个可用率数值?

这问题说来话长,而且也算不上是什么好问题,当然这里面有非常值得琢磨的地方,那就是 PC 服务器的 RAS 能力到底如何? 只有弄清楚这一点,才会明白在 PC 服务器计算能力已经如此强大的今天,为什么昂贵的小型机依然有市场。在服务器选型的时候才不会拍脑袋做决策。

我们说到 RAS ,也就是 Reliability 、Availability 以及 Serviceability,实际上很多人会认为前两者是一回事,至少提问的时候可能同时说的是这两者。对于多数 PC 服务器厂商来说,宣传页面上也只会写 Availability 的一些指标,对另外两点则选择性的回避? 为什么? 因为做不到高端服务器的 RAS 能力,而 RAS 能力实际上是需要成本的(硬件冗余成本、专有技术的成本),但这个问题似乎是很多用户选型的时候忽略的一点,很多人更愿意看重性能、性价比之类的指标,当然这也没错。

现在 PC 服务器宣称的卖点主要集中在内存上,比如内存的 ECC 特性(最基本的),Spare Row、ChipKill、Single Device Data Correction (SDDC)等,其中 ChipKill 是 IBM 的专利技术,主要用在高端服务器上。根据 Google 与一些机构的合作研究表明,内存错误率其实比想象中的要高(refer),这是个很有参考价值的信息。实际上,尽管有的 PC 服务器可能提供了很多内存相关的特性,但默认未必是激活的,这一点要注意。

高端设备的 RAS 能力比较,至少要看看 System 级别的 RAS 特性、CPU RAS 特性、内存 RAS 特性、I/O RAS 特性 等方面,如果有虚拟化的需求,还要关注一下 Application/Partition RAS 特性(refer)。这些都是卖点,当然,很少有销售人员懂得如何向用户宣传这一点。

即使是有了最好的设备,如果不能充分利用,其实也和普通 PC 服务器没啥区别。而对于绝大多数互联网应用来说,高端服务器也是高射炮打蚊子。

最后补充一点,充分利用带外管理能力是运维人员应该具备的基本意识。什么是”带外管理”请使用避难到香港的 Google 来搜索。

EOF

附:Dell PowerEdge 服务器激活内存 RAS 特性的指导文档

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