网络通信 频道

DBA如何应对新一轮数据库技术潮

  【IT168资讯】在当今数据库领域,开源数据库、数据库一体机以及NoSQL都是热点话题,而数据库厂商在这些热点领域也展开了“厮杀”,对用户来说选择多不啻为一件好事,但如何选择?

  开源不是目的

  从商业数据库迁移到开源数据库,也是当前数据库发展的一个重要趋势,但这种迁移一般都针对非重要系统。在开源数据库市场,Oracle的MySQL占了很大份额,此外,Oracle Exadata数据库机也成为业界热点,Oracle在高端数据库、开源数据库、数据库机都有布局,IBM DB2如何应对?

  “80%的用户不是一定要选择开源数据库,而是想选择廉价(甚至免费)且易用的数据库。”2011 IBM DB2迁移之星大赛评委、IBM软件行政级IT工程师沈刚指出。

  但是否MySQL的用户在数据库需要升级时,会选择Oracle呢?“MySQL的用户可能一直在MySQL上,并不一定会移植到Oracle上,至少移植难度非常大,从MySQL移植到Oracle与移植到DB2难度可能是一样的。”沈刚称,“从这个角度说,Oracle只不过给了用户多个选择,你可以有高端的Oracle的数据库、数据库一体机,也可以有开源的产品,但并没有给用户一个完整的策略,今天企业规模小用MySQL,但明天企业规模大起来需要大型商业数据库时,一切还要推倒重来或者进行复杂的应用移植。”

  沈刚表示,相对而言,用户需要的是一致性、延续性的策略。比如DB2产品家族有低端的Express版,也有中高端的Enterprise和Workgroup版,从Express升级到中高端产品,应用是不用移植的。

  数据库机更需要DBA

  一体机的出现应和了“合久必分,分久必合”这句话。数据库最早就是跑在非开放平台上,软硬件结合非常紧密,但缺点显然就是给用户的选择少。“一体机的出现不能说往封闭平台走,而是走向二者的折中。”

  在沈刚看来,“一体机不是神秘的事情”。一体机就是两件事,硬件的合理配比和数据库参数的合理化设置。“IBM早就意识到这两件事的重要性。”与对数据库一体机的一般观点不同,沈刚将一体机分为“开放式一体机”和“物理的一体机”。开放式一体机提供了数据库参数的合理化建议(或称非常好的实践),用户可以根据建议提供的软硬件合理配比,自己构建数据库。“我个人喜欢把它称作开放式一体机,因为它做到了一体机最重要的两件事情,就是硬件合理配比和数据库参数向非常好的实践的推进。”物理的一体机比较好理解,例如:Netezza、Exadata等。

  沈刚表示,从这个角度看,IBM比其他厂商提供了更多选择。IBM Smart Analytics System(ISAS) 提供了两种选择: ISAS like(可以由用户根据ISAS的文档资料自行构建的“开放式一体机”)和物理ISAS,IBM Smart Analytics System 是一个提供了广泛的分析功能的集成平台。除此以外,IBM也提供了另一种数据仓库一体机Netezza。Netezza于2010年被IBM收购,IBM用Netezza来补充IBM Smart Analytics System和InfoSphere Warehouse软件的灵活性。

  “我个人比较喜欢IBM ISAS like这种方式,因为一体机(指物理的一体机)从某种程度上又回到了单一平台的老路。表面上硬件开放,但让用户选的只有四分之一配或者二分之一配,我觉得这可能不能满足很多用户的需求。IBM提供的两种方式,能更好地满足用户的需求。”沈刚表示。

  很多人认为有了数据库一体机后就不需要DBA了,这是事实吗?沈刚认为,一体机使DBA的工作量少了些,但对DBA的工作要求并没有降低,他们需要做更具挑战性的事情。“很显然数据库一体机减轻了硬件配置的工作量,但传统上硬件配置本就不属于DBA的职责范围,因此并不算减轻DBA的工作量。当然,DBA不参加硬件选型其实不是好事情,因为硬件是为软件服务的。”沈刚说。

  此外,一体机虽然减少了数据库参数调整的负担,但物理设计、逻辑设计、数据库问题分析诊断等方面是一体机没法提供的,需要DBA根据经验以及行业特点来做。沈刚称:“这也是可预见的未来,一体机解决不了的问题。”

  对DBA来说,除了关注一体机、NoSQL这些新趋势外,沈刚认为DBA更需要关注开发DBA。国外以及国内较大的开发商都有开发DBA这一职位,而国内这一职位比较少,国内很多开发DBA的角色都是由架构师或高级程序员来兼任。对开发DBA的关注,也体现在此次DB2迁移之星大赛上。沈刚透露,大赛的很多题目就与开发DBA相关。

  NoSQL不会成为经典?

  继Amazon和Google提出NoSQL后,近期,传统IT厂商IBM、Oracle、微软等都针对NoSQL进行了相关的发布。谈到大热的NoSQL,沈刚则表示:“我的观点和时髦的观点不同。”

  “NoSQL的确是非常流行的东西,但我个人认为NoSQL不会像关系型数据库这么长盛不衰。关系型数据库有坚实的数学基础、完备的语言。我从1995年开始做数据库,听过形形色色各种数据库,包括对象数据库、多维数据库、XML数据库,当时都说这些数据库会代替关系型数据库,但这些数据库没有良好的理论基础,因此到现在关系型数据库还是主流。” 沈刚解释道,“现在数据库厂商竞争越来越激烈,各个厂商未必能在纯理论研究上下更多功夫,很难出现E.F.Codd这样的先驱,SQL语言、三范式这种奠定关系型数据库基础的理论出现的难度越来越大,NoSQL如果没有在理论上有大的突破的话,可能又会有新的东西出现代替它。”

  有一种观点认为NoSQL数据库让管理和调优方面的要求降低很多,DBA的“死期”到了。沈刚表示:“NoSQL在某些应用(尤其是对数据一致性要求不高的应用)上确实比关系型数据库性能要好,但我不认为NoSQL的管理或开发比关系型数据库简单。”

  从开发角度来说,使用SQL数据库去开发应用遵守三范式就不会犯大的错误。相反,NoSQL没有非常好的实践、范式理论,很多东西都凭经验来做,实际上对DBA的要求更高。从管理角度来说, SQL数据库用于银行、电信等行业的关键应用,而NoSQL主要是非关键应用。对DBA来说,管理网银肯定比管理网站压力要大,管理压力不同,也造成管理难度不同。

  沈刚表示,说“NoSQL降低DBA管理负担”是因为NoSQL的应用场景基本都是网站,而这些网站以前用的数据库大部分都是开源数据库MySQL,网站一旦访问量爆发式增长,MySQL则不能应对,这时要因为性能去拆表拆库,就对应用开发和管理带来极大的挑战。因此这些应用场景让大家觉得NoSQL的开发和管理比关系性数据库更简单。

  “在性能要求极高(但一致性不高)的网站应用上,SQL的确不如NoSQL。这让我想起2000年大家说多维数据库会在分析型系统上代替关系性数据库,论点也是关系性数据库当时在分析型应用方面性能不好,但实际上目前关系型数据库仍然占据分析型系统的主流,或者说和多维数据库并存,但关系型数据库占的市场份额仍远远大于多维数据库。硬件的发展解决了关系型数据库的性能问题,关系型数据库也在不断进步。而在数据一致性方面,SQL比NoSQL显然更有优势。”

0
相关文章