分类归档: Database

MySQL 大企业级应用可行性分析(之四)

如果你觉得 MySQL 不够好,那是因为你不会用。

这是以前开了头的一个话题,现在有了一点新的想法和变化,倒是可以记录一下和大家分享。

数据仓库解决方案

一般来说,一个企业随着不断快速发展,或许在数据库上的投入到后期反而不如数据仓库、商业智能上面的投入。在数据仓库解决方案上,MySQL + InfoBright (参考)是个不错的解决方案。在数据仓库亦或是海量数据处理方面,倒是有几个基于 PostgreSQL 的解决方案,其中之一就是 GreenPlum ,最近一段时间受到很多人的关注。但是总体来说,这些方案的成熟度还有待于时间的考验。

站内数据搜索友好–全文搜索引擎

这里的站内搜索友好是说数据库是否更利于技术人员开发站内搜索技术。MySQL 在这个方面还是可圈可点,因为借助于 Sphinx 之类的开源全文搜索引擎,很方便的就能搭建一个可用的站内搜索引擎,多快好省。对于 Oracle 或是 DB2 这样的产品来说,似乎没有特别好的搜索引擎。至少 Oracle 的全文搜索基本上没法开放给前台用户使用的。

MySQL 前途曲折

前两天,Oracle 面对漫天谣言悍然宣布将对 SPARC 平台和 Solaris 投入重金研发,但只字未提 MySQL ,这无疑会让人怀疑 MySQL 在 Oracle 内部是不受待见的。Oracle 会把 MySQL 剥离出去么?让其变成自己的敌人? 唯一能让我放心的是 MySQL 不会死去,毕竟有那么多的克隆已经在蓬勃发展了。

这个系列的话题,我只提供陈述,选择由你来决定。

EOF

Jonathan Lewis 对 TOP 一书的推荐序

Jonathan Lewis 是 Oracle RDBMS 领域的技术 Guru。
下文是他为 Troubleshooting Oracle Performance 一书所做的推荐序。提前贴出来分享一下。
这本书的中文翻译版(名字定为《Oracle性能诊断艺术》)已经排版结束,即将进入印刷厂。敬请期待。

大约在20年前我开始使用Oracle关系数据库,花费了大约3年时间我发现问题排查和优化以接近神秘莫测而著称。

有一个开发者的查询语句跑得不是很好,因此把它发送给DBA组。我在检查了执行计划、数据样本后指出可以通过对其中一个表添加一个索引而消除大多数开销。开发者的反应却是:”这是个小表,不需要索引。”(这种事情发生在使用Oracle RDBMS 6.0.36版本的那个时代,顺便提一下,那时候”短”表意味着不超过四个数据块长。)不管怎样,我还是创建了索引,查询快了30倍—-接下来的解释环节当然必不可少了。

性能排查并不需要魔法、魔术或是神话,而是依赖于理解、观察与解释。理查德•费曼曾说过,”理论再完美也没用,也和你多聪明无关。如果理论与实践不符,就是错的。”关于 Oracle 性能有太多的”理论”是错的,早就应该从你的大脑清除出去了—-Christian Antognini 就是帮你做这个事情的人。

在本书的开始,Christian Antognini描述了事物运行机制,该观察什么类型的症状,这些症状代表的含义。尤其是,他还鼓励你在观察与分析的时候要有条理并坚持相关的细节。只要采纳了这些建议,在性能问题出现的时候,你应该能够识别真正的问题,并用最合适的方式解决问题。

虽然这本书的每一页都值得仔细阅读,我还是认为不同的读者会以不同的方式从中受益。有些读者可能通过时时翻阅而获取某些特别的洞察力。比如我多年来一直试图就等高直方图这样的命名找出一个直接明确的原因,而当我读到第4章解释等高直方图的时侯,Christian的描述让我豁然开朗。

有些读者能找到某些特性的简短描述,这有助于他们理解Oracle实现该特性的缘由,并有助于推断在特定应用程序中的应用场景。第5章中的”安全视图融合(Secure View Merging)”即为一例。

其他读者可能会反复阅读本书的某一章节,以便透彻理解他们正在使用的一些特别重要的特性。我相信第9章关于分区的讨论扩展会让很多人读而再读。

这本书很有料,很值得阅读。谢谢你,Christian。

Jonathan Lewis

Jonathan Lewis 著有 Cost-based Oracle: Fundamentals,同样由Apress出版社出版。在他的Blog上http://jonathanlewis.wordpress.com 能找到更多的工作案例。

EOF

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

Oracle 11gR2 几个值得关注的新特性

读了一下 Oracle 11gR2 的新特性列表,发现几个新特性是值得关注的。
Support 4 KB Sector Disk Drives

为了更充分的利用容量,新一代的磁盘扇区趋向于用 4KB 的扇区而不是旧有的 512 byte 。如果就兼容模式,无疑会影响 I/O 性能。Oracle 11gR2 对 4KB 扇区的支持在 I/O 上是个很好的改进。以前的版本中,都是操作系统默认的大小(512 byte)。这个改进收益最大的可能就是 Redo Log 文件了,要知道 Redo 文件的写速度一直是一个潜在的 DB 瓶颈,现在终于可以指定 4K 而不是默认的 512 byte 了(通过指定 BLOCKSIZE 来替代操作系统依赖的扇区尺寸)。相信写入速度会好很多。

这个 4K ,真是个有趣的话题,还记得以前的 4K 偏移量的问题么?

ASM Cluster File System (ACFS)

Oracle 自己推 ASM 集群文件系统了。

Oracle Automatic Storage Management Storage Layers.gif

看看示意图就知道第三方的集群文件(比如Veritas)系统要受到影响.

Enable Sampling for Active Data Guard

本来 Active Data Guard 就是个很好的东西–在这一点上 Oracle 终于能做到和 MySQL 差不多了。现在 Active Data Guard 上支持了 ASH 性能采样。调查性能问题的时候,基本上不影响主生产库了。

Oracle_Active_Data_Guard.jpg
Data Pump

对于 Data Pump ,可能做数据仓库的同学要注意了。现在Data Pump可以指定分区导出。而 Worker 进程也可以跨多个节点进行了。

另外对于 Flush Cache 的特性,我觉得成本太高了。开源的方案更靠谱一些。

走马观花了一下新特性,感觉有一些亮点,不过光有亮点如果用户不接受的话也没有用,谁让 Oracle 所有的新版本都是一堆 Bug 呢?

EOF

补充一个刚看到的:

IGNORE_ROW_ON_DUPKEY_INDEX Hint for INSERT Statement

这个也是 MySQL 之前有的功能…

TOP 作者Christian Antognini寄语中文读者

感谢 Troubleshooting Oracle Performance 作者 Christian Antognini 给中文读者的寄语。现在此书译稿已经进入排版阶段。期待能早日面市。

下面是 Chris 的邮件内容:

I still remember when I saw for the first time part of my book translated in Chinese. I was looking at the news provided to me by Google Alerts when, among the other links, there was a link related to “Troubleshooting Oracle Performance” (this is one of the terms I monitor through Google Alerts) pointing to a Chinese page. I opened the referenced page and, it goes without saying, I was not able to read it. I just recognized the cover of my book and its name. So, I put the first part of the text in yet another Google application to let translate it to English. Then I understood what it was all about. It was part of chapter 1 of my book. Amazing!

If you have a copy of the Chinese edition in your hand, it means that the translators managed to finish their work. I know for sure that it was a huge undertaking and, therefore, I would like to thank David Feng、Jame Tong、Yiwen Hu and Yi Zhu for doing it. I know that they spent a considerable amount of their valuable time to translate the text. Thanks to them, more people will be able to learn something about Oracle Database, how to use it efficiently and how to approach performance problems. And that is something that makes me proud. I hope you will be one of them.

Christian Antognini
August 14, 2009


TOPcovers.jpg我还记得当我第一次看到这本书的部分内容翻译成中文的那一刻。当时我在查看Google Alerts服务提供给我的新闻,在这些链接中,有一条和”Troubleshooting Oracle Performance”(这是我通过Google Alerts服务监控的关键词之一)相关的链接指向一个中文页面,我打开该页面,不用说,我看不太明白。我只是知道和我的书有关。所以,我把第一部分内容用Google的另一个应用(Google翻译)译成英文。然后我明白这是怎么回事了。这是我的书中第一章的部分内容。令人惊讶!

如果有一本中文版在你手里,这意味着译者已经完成他们的工作。我确信那是一项艰巨之事,所以,我要感谢冯大辉、童家旺、胡怡文以及朱一等几位译者的工作。我知道他们花费了大量宝贵时间进行翻译。感谢他们,更多人可以学习关于Oracle数据库的知识、如何高效使用以及如何解决性能问题。这让我感到自豪,我希望你也是从中获益的读者一员。

Christian Antognini
August 14, 2009

(邮件内容翻译的比较匆忙,见谅)

EOF

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