今天把blog迁到ningoo兄提供的空间里,原来的服务提供商是个小公司,经常出现无法访问的情况,而且收费还不便宜。最麻烦的事情是说不定哪天整个服务器被JCSS连锅端了也不一定,虽然咱的blog一直坚持不谈政治,只谈八卦的原则,但是偶尔愤一下也是有可能滴。
这下感觉安全多了,在这多谢ningoo兄。
–EOF–
Stay Hungry. Stay Foolish.
今天把blog迁到ningoo兄提供的空间里,原来的服务提供商是个小公司,经常出现无法访问的情况,而且收费还不便宜。最麻烦的事情是说不定哪天整个服务器被JCSS连锅端了也不一定,虽然咱的blog一直坚持不谈政治,只谈八卦的原则,但是偶尔愤一下也是有可能滴。
这下感觉安全多了,在这多谢ningoo兄。
–EOF–
今天早上骑自行车上班,家离公司大概15公里,要经过钱塘江大桥,虎跑,杨公堤,沿途的风景还不错。
新买的自行车终于可以派上用场了,此车号称可以轻松超过电动车,不过出门骑了两公里后,发现并不是那么回事,开始还是电动车超我,后来连菜车也开始超我了,难道我的体力这么差吗?还没过到三分一路程的时候,我终于精疲力尽了,只好停下来看看到底是我的问题还是车的问题,这时才发现前胎没气了,出门我还检查过好的,难道碰到了黑心钉?附近也没修自行车的,只好往回推,还好钱塘江大桥上执勤的武警叔叔有打气筒,补了一点气后才勉强骑回了家。回家后,整个衣服都湿透了,那个累啊,看来还是开车舒服。
另外还发现个问题,背着笔记本骑车很累,看来我还需要一个货架和一个驼包,还得继续烧。
–EOF–
现在这年代,做什么事都讲究一个“专业”二字。可我偏偏就是一个做什么都不是很”专业“的人。
我目前的职业是DBA,以前开发,测试,技术支持甚至打杂都干过,和身边的大牛们相比,我是一个不怎么专业的DBA。虽然我水平很烂,但和大牛们在一起的时候,我从来没觉得很自卑,因为我每天都在努力的工作。虽然有时候我也很想成为大牛俱乐部中的一员,但这并不是我唯一的人生目标。
我的blog叫Hello DBA,但是我很少写有关技术的文章,所以没什么技术含量。我只想记录生活中的点点滴滴,不关心有多少人订阅,或者谁来看过,偶尔有几个朋友来捧场,我就觉得挺开心的。
我想学摄影,买了最低端的单反和狗头,在买之前,我没有去和某些牛人们讨论,因为我这个人死要面子,在他们眼里,这些器材都是垃圾,所以只是一个人在网上学习了一段时间(其实我也咨询了一个朋友,她也是爱好者,她根本就没给我推荐任何相机和镜头,只是说器材并不重要,其实卡片机一样可以拍出好照片,)。最近看了《50位汶川村民用傻瓜相机拍下的灾后生活》,他们用的是傻瓜相机,他们不懂摄影,但是他们拍出的照片同样震撼心灵。不要为了摄影而摄影,不要为了器材而摄影,我们是为了记录生活而摄影,就算器材不专业,水平不专业,那又怎样?
打篮球,我穿30块一双的回力,比nike也不差。羽毛球我水平很烂,100块的拍子完全对得起我的水平,不一定非得YY吧。爬山,一双国产杂牌登山鞋足够。游泳,30块的泳裤加上20块的泳镜,年年都可以换新的。自行车,我只是想锻炼下身体,三手的dahon车,对我而言简直就是奢侈品。汽车,我的206代步很好,1.4高速可以跑到110,还不超速,准备开到报废。摄影,我的D40+狗头+手动对焦的标头,对我的摄影水平来说绰绰有余。
对于工作和技术,我们需要专业精神。但是对于业余爱好而言,只要我们可以享受生活的快乐,不专业又何妨?It’s my life!
–EOF–
bitmap conversion操作用来对Btree索引的查询结果进行转换,然后再进行bitmap运算。在某张表包含很多单值索引,但是查询包含了很多条件的情况下,ORACLE有时会选择这种操作。但是往往性能很差,多数情况还不如只选择其中的某一个索引的查询效率高。
如果你也经常被这个问题困扰,ORACLE提供了一个隐含参数可以将其关闭。
_b_tree_bitmap_plans=false
–EOF–
最近又败了几样东西:
nikon 50mm f1.8的标头,用在我的D40上只能手动对焦,那是相当的痛苦,目前只能照静止物体。没办法,适马的30mm f1.4买不起(要将近3000块)。该死的无忌,上面有人说手动对焦其实不困难,为啥我照出来都是糊的。人民币:690.
乐摄宝的包包,相机一直没个套,这年月没套怎么行呢?淘宝买了一个最小的便携包。这个牌子的包包不错,就是有些贵。人民币:135.
dahon sp8自行车,三手的车(新车同样买不起,现在这车价格虚高,要2800,还减配),现在的车主也是买的二手车,因为买了更NB的,所以转让了。前两任车主都是爱好者,车子磨损的比较厉害,不过自己维护一下,车子还是可以的。人民币:1200。他们不能理解,我花1200买个自行车,还是旧的,够买电动车了。
结果大家不用想也知道了,就是被老婆老妈老爸痛骂一顿,下个月工资全额上缴,剥夺经济自由终身,禁上淘宝网三年,2010年以前不买任何电子产品或娱乐产品,每周骑自行车上班至少三次(单程15公里),即日起生效,不得有误。
–EOF–
前几日,我在blog中把ORACLE和HP推出的database machine称之为一个山寨版的RAC系统,8个HP的PC server作为处理节点,14个exadata storage server组成了一个山寨版的存储系统。我认为这样是最简单的一种方式,仅仅是将硬件和软件打包到一个BOX中。但是实际上并不是如此,因为我在文档中看到了下面的话:
Each Exadata Storage Server has “Smart Scan”software built-in to execute rapid table scans,sending only required rows and columns through a fast Infiniband network for processing by database servers.
在ORACLE的share everything的架构中,存储是全局共享的。而在Greenplum的share nothing的架构中,在数据逻辑层就将数据distribute到每个node上,每个节点可以独立的对数据进行处理。如果我们假设ORACLE RAC的架构并没有发生改变,那么exadata storage server上的smart scan功能是如何实现的呢?我们先看一下ORACLE DATABASE MACHINE的架构:
The Oracle Database 11g has been significantly enhanced to take advantage of Exadata storage. The Exadata software is optimally divided between the database server and Exadata cell. The database server and Exadata Storage Server Software communicate using the iDB – the Intelligent Database protocol. iDB is implemented in the database kernel and transparently maps database operations to Exadata-enhanced operations. iDB implements a function shipping architecture in addition to the traditional data block shipping provided by the database. iDB is used to ship SQL operations down to the Exadata cells for execution and to return query result sets to the database kernel. Instead of returning database blocks Exadata cells return only the rows and columns that satisfy the SQL query. Like existing I/O protocols, iDB can also directly read and write ranges of bytes to and from disk so when offload processing is not possible Exadata operates like a traditional storage device for the Oracle database. But when feasible, the intelligence in the database kernel enables, for example, table scans to be passed down to execute on the Exadata Storage Server so only requested data is returned to the database server.
iDB负责database与Exadata cell之间的通信,将查询后的query result回传给数据库,而不是block。这下问题好像清楚了一点,既然回传的是结果集而不是block,这样ORACLE就不需要重新构造block了,只是把结果集处理一下返回给用户。但是什么情况下,ORACLE会这样处理,什么情况下是按照传统的方式处理呢?文档中并没有提及。
感觉ORACLE意识到了RAC架构存在的瓶颈,但是又不能改成share nothing的架构,只好在RAC外面加了一个iDB的东西,期望能在存储节点上做一些处理,减少存储和数据库之间传送的数据量,提高整个系统的性能。看来这个东西还不是简单的山寨货,还是有点东西在里面。
–EOF–
国庆节难得有空在家,准备给宝宝拍几张照片。买的D40,一共没拍100张照片,终于可以派上用场了。
虽然现在偶尔也在无忌上混混,知道了什么是光圈,快门,景深,焦距等一些概念,但是实践证明我的摄影水平还是一坨屎。拍了一堆照片,唯一能看得几张,都是lp拍的,她一点也不懂摄影,从来都是用AUTO模式,我被打击了。最近可能是无忌上多了,老是惦记着那些所谓的牛头。现在明白了,关键在相机后面的那个头,而不是什么牛头狗头。先不买任何镜头了,就用我的狗头拍,哪天比lp用AUTO模式拍的好看了,再考虑换镜头。
不过那个50mm,f1.8的标头,我还是念念不忘,我用手动对焦还不成嘛。
–EOF–
关于Greenplum数据库,是sun公司来推销他们的数据仓库产品DWA的时候第一次听说的,当时只是了解了一下DWA产品的硬件特性,对这个数据库并没有给予太多关注,只知道它的原型是postgreSQL。最近,我们对这个数据库进行了测试,我们没有使用SUN的DWA硬件,只是用8台普通的DELL PC Server+内置的SAS硬盘搭建了一个廉价的集群,每台机器之间仅仅是普通的千兆网络,测试的结果令人吃惊,这个山寨版的数据仓库集群,甚至比我们用小型机+存储+ORACLE RAC的性能要好很多,IO throughput可以达到4GB/s,而我们最新购买的IBM DS8300(228块磁盘)存储,最好的IO throughput仅仅为1.4GB,而EMC的DMX也是比这个值稍有提高而已。
为什么一个廉价的山寨集群,在数据仓库类型的应用上,比我们昂贵的小型机+存储的表现还要好呢。究其原因,我想可能和ORACLE share everything的结构有关,由于需要在多节点之间共享存储,这样整个系统的带宽就受限于一台存储的吞吐能力,而这种存储通常都比较昂贵。而Greenplum这种share nothing的结构可以将数据分布在多个独立的节点上,理论上这种结构,IO和处理能力可以随着节点个数增加线性增长。其实除了ORACLE以外的其他数据库,比如DB2,MySQL的集群都是采用这种share nothing的结构。再加上Greenplum设计的初衷就是为了大规模分析计算的,不象其他通用数据库,所以山寨版的greenplum集群比ORACLE的表现好也是正常的。
最近,ORACLE和HP合作推出第一款为数据仓库设计的硬件产品database machine,配合ORACLE 11g RAC,号称可以14GB/s的带宽,仔细看过文档之后发现其实就是一套山寨机。系统包含8个HP Proliant DL360 G5 database servers用来作处理节点,采用高速的infiniband互联,组成了一套8节点的RAC系统。由于ORACLE的share everything的结构,所以必然是共享存储的,系统中包含14个HP Exadata Storage Server(HP ProLiant DL180 G5)组成了一个山寨存储系统,每个节点有12块300GB的SAS硬盘,之间同样采用高速的infiniband互联。至于处理节点和存储之间的连接方式,文档中并没有提及,我猜测可能是IP SAN。然后把这些东西打包到一个BOX里面,就是我们所看到的Database machin.
随着SAS磁盘的使用越来越多,其价格低廉,性能完全不逊于FC,为我们搭建廉价存储系统提供了可能。未来,我们的目标是不依赖IBM的小型机,不依赖EMC,HDS的高端存储,甚至不依赖ORACLE数据库,用廉价的硬件和开源的数据库搭建我们的系统。
–EOF–Simon Says dvd
Latest Comments
RSS