存档

文章标签 ‘Exadata’

这是我在第一届AskHelloDBA数据库技术论坛上的主题演讲:Exadata那点事,讲述你所不知道的Exadata细节。
我认为不管是否是Exadata的用户,不管是DBA还是架构师,都可以从Exadada的架构中学到很多东西,这也是为什么我一直研究它的原因。
PPT:Exadata那点事
–EOF–

4 22nd, 2012 | Filed under 大话技术
标签: ,

最近博客很少更新,一是沉迷于新浪微博AskHelloDBA,回答大家的数据库问题;二是与Kaya、Kamus共同翻译《Expert Oracle Exadata》这本书,最近书籍的翻译工作已经进入尾声,即将定稿并出版,以下是我的译者序。
译者序-Jacky
2008年,Oracle在OOW上发布了与HP合作开发的Exadata V1。当时,我就对Exadata充满了好奇,很快我就在自己的博客上写了第一篇介绍Exadata的文章《Oracle Database Machine》。现在看来,文章中很多观点都是错误和可笑的,但当时介绍Exadata的技术资料非常少,很多观点只能来自于猜测。从那时开始,我一直保持着对Exadata的关注,并在一次Oracle介绍Exadata新技术的会议上,认识了Kaya(本书的另外一位译者),这也为我们共同翻译本书埋下了伏笔。
2009年,Oracle发布了Exadata V2,它不仅采用了SUN的硬件,更是革命性地引入了Flash存储,并采用智能闪存(Exadata Smart FlashCache)技术,让Exadata同时支持DW和OLTP应用,成为真正全能型的数据库软硬件一体机。2010年2月1日,我在博客上发表了第二篇关于Exadata的技术文章《Oracle Exadata技术浅析》,引起了大家的热烈讨论,并被广泛转载。文章中介绍了Exadata的新特性,并且在没有资料提及的情况下,提出SmartScan应该只能在特殊访问路径下(直接路径扫描)才能启用的观点。从此以后,我对Exadata着了迷,无奈除了一些官方文档以外,几乎没有其他任何资料,而我又没机会亲身操作Exadata,只能通过各种途径了解Exadata的最新信息。
2010年,我参加了在北京举办的OOW大会,第一次近距离看到了Exadata的真面目,也更加深刻体会到“Hardware and Software Engineered to Work Together”这句话的真正含义。从此,我开始致力于推动Flash存储技术在数据库领域的应用,研究软硬件结合的数据库解决方案。2011年10月举办的OTN China Tour活动上,受ACOUG的邀请,我作了《软硬件结合的数据库解决方案》主题演讲,介绍了我们在软硬件结合方面的一些尝试,并且解读了Exadata和Oracle刚推出的ODA(Oracle Database Appliance)的架构,引起了非常大的反响。
2011年底,我终于等到了亲身体验Exadata的机会,Oracle提供一个Exadata V2 Quarter Rack供我们测试。我们根据在线交易网站的特点,专门设计了一个测试模型,并且先在高端的小型机和存储上进行测试,然后在Exadata上运行相同的测试,以此来评估Exadata和传统主机存储之间的性能差异。Exadata的表现让我们非常惊讶,性能完全超过了小型机和存储。Exadata使用FlashCache技术,在读多写少的应用场景下,表现超乎想象,不仅预热速度快,而且性能与将数据全部放在Flash上相差无几,提供了非常好的性能价格比。不仅如此,我们还特别模拟了存储节点宕机的情况,当某个存储节点宕机时,Exadata表示毫无影响,而且性能下降非常小。通过一周的测试,我们对Exadata高性能、高可用和高度灵活的特性有了更深的认识。
作为一名Exadata技术爱好者,一直苦于找不到一本深入介绍Exadata的书籍,直到偶然一次机会我发现了《Expert Oracle Exadata》这本书,本书的几位作者都是Oracle技术领域内的大师,之前我一直订阅他们的博客了解最新的Oracle前沿技术,几位大师合著,再看看内容简介,我知道它就是我期盼已久的那本书。当时这本书还没有完成,我找到出版社希望能在本书出版后第一时间拿到,没想到侠少不仅帮我拿到了书,同时也拿到了本书的版权,并且希望我能翻译这本书,我毫不犹豫地答应了,因为我已经期待了太长时间。但是当我读了一点又开始犹豫了,因为对于Exadata来说我只是个初学者,而且本书的技术含量非常高,凭我一己之力很难完成这项工作,我马上想到了两个人,一个是Kaya(黄凯耀),另一个是Kamus(张乐奕),Kaya来自于Oracle RealWorld Database Performance Group,专门研究Oracle和Exadata的性能优化,我相信国内没有人比他更熟悉Exadata。Kamus是国内知名的Oracle技术专家,Oracle ACE Director,他也是Exadata技术爱好者。事实证明,他们就是最合适的人。
虽然我以前也经常写文章,但是翻译书籍还是第一次,深深体会到翻译工作的艰辛。因为Exadata是业界最新的技术,翻译的过程也是学习的过程,很多技术都是第一次碰到,需要理解并准确表达出来,这对翻译者是个严峻的考验。我们三个人一起翻译和讨论,不知不觉过去了半年时间,来来回回发了几百封邮件,往往一个句子甚至一个词,都要讨论很多遍才能确定下来,正是在这样讨论的过程中,很多技术问题都被我们搞清楚了。我们坚信翻译不是简单的文字转换,一定要自己先搞清楚,才能翻译出来给大家。正因为如此,我们在翻译的过程中,也发现了原书中的很多错误,并且Kaya把我们发现的错误都整理出来发给了原书的作者,所以大家读到的应该是最新版本。
如果要说本书最难翻译的部分是什么,当属“Kevin说”,因为Kevin说的要不是“技术哲学”,要不就是“技术原理”,有时候我们读过几遍之后,还不知道他在说什么,我们已经尽可能翻译得通俗易懂,但是仍然有很多不完美的地方,请大家谅解。另外,因为Exadata的技术非常新,我们对难于理解的地方都加上了译者注,希望可以帮助大家。本书中出现的术语,我们都采用中英文对照的方式,也有一些常用的Oracle术语我们选择不翻译,因为英文比中文更容易理解。
最后,我要感谢家人对我的支持,尤其是我的爱人Emily和Michael小朋友,每天工作到深夜,回到家后看到你们熟睡的脸庞,觉得一切付出都是值得的。还要感谢和我一起战斗过的Kaya和Kamus,你们给了我太多太多的帮助。感谢原书的作者,正因为你们写了这样一本伟大的书籍,才有了现在的中文版本。最后感谢读者的支持和理解,希望你们喜欢这本书。
我翻译了本书第三、五、十、十四、十五以及附录部分。
张瑞
2012年4月1日于杭州
个人简介:
张瑞,网名HelloDBA,2005年加入阿里巴巴,现任数据库架构师,负责数据库性能优化与架构改进,主导推动了阿里巴巴数据库技术的变革。现致力于推动Flash存储技术在数据库领域的应用,研究软硬件结合的数据库解决方案。个人有技术博客HelloDB.net,乐于分享数据库领域的最佳实践和研究成果。

4 1st, 2012 | Filed under 大话技术
标签:

最近博客一直没更新,因为忙着翻译一本书,《Expert Oracle Exadata》。

本书的作者是Kerry Osborne, Randy Johnson和 Tanel Põder,看看三位重量级的作者就知道本书的技术含量非常高,尤其是在Exadata的资料如此匮乏的情况下,本书全面介绍了Exadata的各种技术内幕,绝对是一本非常有价值的好书。
目前,我和Kumas,Kaya一起正在全力翻译这本书,预计几个月后,大家就可以读到这本书的中文译本,敬请期待!
–EOF–
附上本书的目录
1.What Is Exadata?
2.Offloading / Smart Scan
3.Hybrid Columnar Compression
4.Storage Indexes
5.Exadata Smart Flash Cache
6.Exadata Parallel Operations
7.Resource Management
8.Configuring Exadata
9.Recovering Exadata
10.Exadata Wait Events
11.Understanding Exadata Performance Metrics
12.Monitoring Exadata Performance
13.Migrating to Exadata
14.Storage Layout
15.Compute Node Layout
16.Unlearning Some Things We Thought We Knew

9 20th, 2011 | Filed under 大话技术
标签: ,

自从Oracle和HP推出Exadata之后,我就很关注这个产品,之前也写了一篇Oracle database machine介绍它。去年,Oracle和SUN合并后,推出了Oracle Exadata V2,相比较上一代产品有几个变化:第一,使用SUN的硬件;第二,宣称支持OLTP应用;第三,Oracle 11g R2提供了更多的新特性。
Exadata Smart Flash Cache
Exadata V2整体架构并没有太多改变,换用了SUN的硬件,除了采用intel最新的nehalem CPU以外,每台storage cell更是配置了384GB的flash,这也是为什么V2可以支持OLTP应用的关键。

Flash cache完全是自动管理,Oracle会根据数据的访问情况,决定哪些数据放在flash cache中。所有的数据都是先被写到普通磁盘上,再根据访问情况读入flash cache的,所以如果flash card发生故障,数据不会丢失。当然,Oracle提供了方式,可以让用户手动将表或者索引pin在flash cache中。
在自动管理的方式之外,Oracle还允许用户人工创建flash disks,和普通磁盘一样,这些flash disks通过ASM输出给数据库使用,用户可以把一些访问非常频繁的数据文件放在上面。这些flash disks不仅仅是cache了,所以ASM会在cell和cell之间做镜像。如果某块卡发生故障,那么整个storage cell上的flash disks会offline,保证数据不会丢失。
Smart scan
Smart scan是Exadata最重要的一个功能,它的作用就是把SQL放在每个cell上去运行,然后每个cell只返回符合条件的数据给数据库,这样就极大的降低了数据库服务器的负载和网络流量,并充分利用了cell的计算资源和IO资源。
传统方式:所有的数据都需要返回给数据库服务器,网络带宽要求高,所有的计算在数据库服务器上完成。

Smart scan:只返回符合条件的数据,减少网络带宽,并充分利用了cell上的计算和IO资源。

这里有一点要注意,在使用smart scan时,每个cell返回给DB server的是结果集,而不再是传统的block,DB server完成结果集的处理,并返回给客户端。
Smart scan如何处理join?是我一直想要搞清楚的问题。事实上,smart scan只能处理join filtering,而真正join的工作必须在DB Server上完成,而且smart scan仅适合于处理DSS环境的复杂join,对于OLTP类型的简单join,smart scan并不能发挥其优势。设想下面的查询:
select e.ename,d.dname from emp e, dept d where and e.ename=’Jacky’ and e.deptno=d.deptno;
假设采用nested loops join,smart scan只能完成e.ename=’Jacky’这个条件的过滤,然后将符合条件的emp表的数据返回到DB server,然后由DB Server完成join的工作,逐条查询dept表(e.deptno=d.deptno)的数据。所以smart scan并不适合nested loop join(我认为smart scan只有在适合的条件下才会启用),只有DSS环境的大数据量复杂join才会发挥出优势。而且smart [...]

2 1st, 2010 | Filed under 大话技术
标签: ,