Tag Archives: Database

Oracle In-Memory Undo

今天在无聊的售前演示中看完了一篇技术文档 All About Oracle’s In-Memory Undo,关于 Oracle 的 In-Memory Undo (IMU),记得几年前讨论过,大部分基于猜测,这算是看到的第一篇比较细致的东西。

Oracle 公司在 10g 推出 IMU 这个特性(已经申请了专利)。Undo 作为最重要的组成部分之一,其高效与否直接关系到整个 DB 的能力。Undo 旧有的基于 Block 的段(Segment,指存储层的概念)管理模式方式,UNDO 本身的变化要记录到 Redo Log Buffer 里,而 IMU 避免了这个操作(因为是内存而不是存储),从而减小了生成的 Redo 量。

另外,因为读一致性开销直接到了内存里而不再依赖存储段, 整体也大大降低,CPU 的负荷也会有效降低。其应用模式应该说是适合一致读的需求量比较大的 OLTP。

Oracle 10g 默认是使用 IMU 这个特性的。通过隐含参数 _in_memory_undo 可以关闭这个特性。因为是隐含参数,也侧面反映出该特性并非那么成熟。搜索一下 Metalink,有不少关于 IMU 的 Bug,而 UNOD 的 Bug 一旦遇到,不停 DB 恐怕都很难解决。所以,对于可用性要求比较高的系统,现在起用该特性还是需要三思。

附: 全部机制在专利全文里。谁有兴趣仔细读一下吧.

EOF

Oracle 10g PatchSet 10.2.0.4

Laurent Schneider 的 Blog 看到信息,Oracle 10gR2 的第三个 PatchSet 10.2.0.4 已经出来了。虽然还没有正式宣布,但是在 Metalink 上已经能够看到 Linux 平台的了。PatchSet 号码为:6810189 。

现在 Oracle 的 PatchSet 出来的顺序基本上还是 Linux 是第一个,也反应了某种趋势。若干年前都是 Solaris 平台 上最早出来的,现在都变成 Linux 了,操作系统的流行变迁可见一斑。原来传言说 2007 年年底会发布的 ,还是拖到了现在才看到,难道 Oracle 的开发力量都投入 11g 上面去了?

有意思的是,10.2.0.4 Patch Set – List of Bug Fixes by Problem Type 这个列表下仍然写着 “Please note that 10.2.0.4 has not been released on any platform , and does not have release dates available” 。可见 Oracle 内部对文档的更新也是比较乱的。

期待这个版本在修复众多 Bug 的同时不要引入新的 Bug 了,Oracle 10g 在稳定性上还是不能让人放心,淘宝的兄弟们最近就因为 ASM 的 Bug 而折腾了一回。。11g 会好一些么?

对于 DBA ,尤其是 Oracle DBA 来说,厂商发布一个新的 PatchSet 要比发布一个新的版本来的更为实惠一些,因为前者面向解决现有存在的 Bug 问题。新的版本只会引入更多的问题。

EOF

书评《构建 Oracle 高可用环境》

Building_Oracle_HA.jpg

前几天在 Blog 里提到答应了 Piner(陈吉平) 要给他的新书《构建 Oracle 高可用环境–企业级高可用数据库架构、实战与经验总结》写篇书评。书是拿到了多日了,断断续续再看,一直没看完。

首先恭喜一下 Piner 的新书终于顺利出版,写一部书本是一件不容易的事情,也一本有质量的书就更难上加难了。也恭喜一下博文视点顺利拿下这本书,装帧质量的确不错,相信读者也会对此满意。记得好几年前 Piner 最早在 CSDN 论坛数据库版灌水,签名经常写着”弱水三千,只取一瓢饮”,灌水地移师 ITPub 后没多久我就注意到了这个家伙。那个时候他就经常发一些总结的很好的技术文档(可见写作能力早早就开始培养了),新书的出版也是他厚积薄发的体现。

DBA 久了,有时也难免动一动写书的念头,可面对 Thomas Kyte 、Lewis 这些大师的书,真有些”眼前有书写不得,大师图书在上头”的感觉。但是《构建 Oracle 高可用环境》没有作无意义的重复,就内容上,可以说是独辟蹊径。有些章节堪称填补了 Oracle 技术图书的空白,比如第 10 章的 “高可用环境下数据迁移” 与第 16 章的”高可用环境监控架构设计” 都是前人所未能阐述的东西,对很多 DBA 来说,似乎是隔了一层窗户纸,可实际上,能够有功力捅破窗户纸可不是容易的事情,没有足够的经验写不出来,只有经验而没有总览全局怕是也写不出来。

身为国内最大电子商务网站的首席 DBA,”经验总结” 毫无疑问会让无数 DBA 心痒,到底淘宝的数据库是怎么维护的? (我就时不时的去偷师借鉴经验)。不只是 DBA 应该看这本书,架构师、技术经理都应该是这本书的读者。通过本书由点及面的阐述,能够树立一个以 DB 为核心的架构观,进一步理解企业信息技术体系,增强实践技能。

我会向 DBA 推荐本书(建议春节期间就买本回家看)。《构建 Oracle 高可用环境》将会是 2008 年中文图书市场比较重要的一本数据库类图书。

(最后挑个小毛病:建议批量数据更新的处理策略能够用 “Bulk Collect”方法,Piner 似乎一直不喜欢这么用。)

EOF

MapReduce 与 Database 的乌龙战

有句俗话说的好,”当你手里拿着锤子的时候,整个世界都成了钉子“,数据库理论专家 David DeWitt 也闹这毛病,他的这篇 MapReduce: A major step backwards 差不多快成最近几天技术圈子的一个笑料了,连久不更新的汪海都来了兴致写了一篇评论

有的时候我怀疑是不是国外这些学院派的教授也和国内这些老学究差不多,固步自封? 估计 David DeWitt 被一群实践派的后生小子当作笑话消遣肯定很恼火,期待他后续的回击。其实话说回来,RDBMS 理论这么多年来基本上也就是搞些”老树成精”的研究,真正转入实际应用的理论怕是真不多,VLDB、BI 方面貌似繁荣,其实也就那么回事。就拿 Oracle 来说(汪海说了:千万不要对自己不熟悉的东西妄加评论),在这几年的 VLDB Endowment 上,发布的论文寥寥。实际在产品中起用的技术就更少了。

我这次到发现一个现象:Google 的牛人列表里好像还真没有数据库方面的理论大师…

EOF