Thomas Kyte现任甲骨文公司副总裁,是服务器技术部门的高级架构师。他是Oracle Magazine Ask Tom专栏的那个Tom,热心回答关于甲骨文数据库以及相关方面的各种问题。Thomas 是Oracle ACE,也是一位穿梭于世界各地Oracle 会议的独具特色的演讲者。他著有多本关于Oracle 数据库技术以及Oracle应用的书籍。
2月22日,Thomas来到北京,并接受了InfoQ和其他一些媒体的访问。
InfoQ:假如有一家公司,它的数据容量未来要达到1PB,从运维的角度来看,您对这家公司会有哪些建议?
Thomas Kyte:这要看它是哪些类型的数据,是图片还是交易数据。如果是电子商务公司,其中很多都是交易信息。针对这种情况,首先要问所有数据是在一个数据库当中,还是在成百上千的数据库中。接下来要问的是:这些数据是公司自己购买软件硬件处理、自己来做,还是放在云里,比如说交给亚马逊这样的公司托管是很省事的。如果自己做就很麻烦,可能要花上几个月才能使这些物理服务器就位。
还可以采取“多租户”的解决方案,就是把多个客户的数据放在同一个数据库中,如果客户同意这么做,你要向他展示出来——放在同一个数据库中也是安全的,比如像Salesforce那样的做法。从架构来看,把一个数据库做得尽可能大,这个数据库饱和了之后再买另一个数据库,这样会使数据库数量减少,管理更加容易。
总结一下:一要确保管理软件能够跟得上,比如使用Oracle的管理软件。
第二,要选定想用什么硬件,以保证正常运营,是选集成还是软硬件分开的。我们是推荐软硬件集成的系统。还要决定是用多个小数据库,还是为数不多的几个大数据库。我推荐后者,因为到时候数据量猛增时,可以更好地扩展数据库。
最后一个建议是:不要关起门来自己来想、自己来做,可以问问做过的公司,很多公司都是可以分享经验的,咨询一下他们的经验是非常好的。
InfoQ:数据库架构如何设计,能够降低整个数据中心的能耗?
Thomas Kyte:从能耗的角度考虑,它跟数据库架构没有关系,而是跟数据库背后的硬件选择关系更大一些,在硬件选择的时候要考虑是用不同架构的服务器,还是用类似于Oracle Exadata数据库云服务器这样的集成化系统。
我们当然是推荐像Exadata数据库云服务器这样的集成系统,它可以把不同的服务器放在一个盒子当中。其实谈到硬件有方方面面,比如用一个更现代化的、最新版本的CPU,要比用五、六年前的老版本更节省能耗一些,如果把多个东西放到一个盒子里,可以减少来回切换或者很多服务器的耗电。
过去很多客户是一个应用一个服务器,有可能这个服务器是百分之百供电,但是应用只用了20%的能力。如果我们使用集成系统,多个应用在这个集成系统里,只有这机器容量全用满了,才会给另一个供电,这是更加节能的集成系统。
所以总结有两点:一是选择最新版本的硬件;二,尽可能用少的设备把尽可能多的应用放在一起,减少用电量。
在采访中,还有媒体问到:在云计算时代,DBA的技能需要有哪些调整?云时代的DBA需求是会增加还是会减少?
Thomas Kyte:云计算时代,DBA应该更多思考如何保证安全性,把安全放在第一位。因为云计算是把不同的数据资源整合到一起,把成千上万的服务器资源整合到一起,对它进行集中以更加有效利用。当然,关于数据库和服务器的整合,客户一定有一个要求:他不希望另一个客户会看到自己的信息,DBA必须更多考虑到这一点。
其次,DBA应该加强资源管理能力:因为在云计算的情况下,可能没有一个专门的数据库服务器,有可能是五个不同的数据库用一个机器来运营,这种情况下如何对资源进行有效管理,是大家需要考虑的问题。
至于云计算时代的到来会不会减少市场上对DBA的需求,或者更严重的说法是意味着DBA的末日。其实这样一种担心或者这样一种探讨,从一开始我做数据库的时候就有人在谈,现在出现了云的概念就担心他们是否要失业了,其实不是这样的。
云计算的核心就是整合,不是像原来一个人有一个数据资源,我们把这些资源整合起来变成一个资源池,同时还是会有很多的数据库和计算机存在,只是说对这些数据库和计算机进行集中化管理,而不是由不同的人在不同的地点进行管理了。
对一个公司来讲,他需要的DBA人数是少了,但是一方面我们在整合数据,另外一方面数据的在以更快的速度增加,也就是数据库的数目在快速增加。过去十年中,数据量的增加速度在很快朝着PB级别发展,现在数据库的增加速度也在发生变化,但是对DBA的需求始终是有的。从另外一方面来讲,在整合的同时,数据库或数据量的数目在很快速地增加,这些新增加的数据库或数据量需要更多DBA来管理,DBA的工作内容会发生变化,但是需求还是在那里的。举例来说,一个公司选择用公有云,可能这个公司不需要雇佣DBA,但是云服务的提供商需要雇佣DBA,所以DBA的作用没有变化,但是市场需求始终是有的。
有媒体问到:您如何看待传统关系型数据库在未来的发展?
Thomas Kyte:这样的声音我也听到一些,我们看到关系型数据库是二十世纪七十年代八十年代出来的,之后对象型数据库出来。有人发表评论说对象型数据库会取代关系型数据库,是关系型数据库的末日。但是看看现状,并不是这样,我们说这些新的数据库都是会并行存在的,会解决不同的问题,它们之间的关系是互补关系,而不是相互取代的关系。
我们看到数据达到PB级别时,这样的应用用NoSQL来写,性能非常惊人,因为NoSQL解决某些问题是非常强的,可以支持一些简单的查询。但是对一些复杂的交易性的应用,NoSQL是不能做的。所以在这些年总是有一些新技术出现,这些新技术是针对与解决一些新问题和难题而出现的,我们不能说新技术的出现会是另一个技术的末日,会取代新的技术。