再造还是塑型:改变云中的数据架构

日期: 2011-04-18 作者:Jack VaughanRob Barry翻译:杨华军 来源:TechTarget中国

也许是因为关系数据库调用在高度分布式的架构中会产生问题,谷歌在创建自己的旗舰搜索网站——这个总是有点云计算的典型代表味道的网站时采取了新的方案。尽管企业开发人员试图重建Web上严重依赖关系数据库的交易型应用,谷歌却另辟蹊径——比如说,不使用SQL数据库。问题是,这一为文字搜索之类的谷歌云应用服务的架构是否也能有效地应用于典型的企业应用?   随着开发人员寻求将应用迁移到云上面去,他们将会发现一幅鱼龙混杂的场景。他们会发现Amazon携自己的SimpleDB出场。

他们会看到谷歌带着Hadoop和MapReduce现身。他们还会觉察到表述性无状态转移(REST)及非关系式数据库的流行程度。他们是否……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

也许是因为关系数据库调用在高度分布式的架构中会产生问题,谷歌在创建自己的旗舰搜索网站——这个总是有点云计算的典型代表味道的网站时采取了新的方案。尽管企业开发人员试图重建Web上严重依赖关系数据库的交易型应用,谷歌却另辟蹊径——比如说,不使用SQL数据库。问题是,这一为文字搜索之类的谷歌云应用服务的架构是否也能有效地应用于典型的企业应用?

  随着开发人员寻求将应用迁移到云上面去,他们将会发现一幅鱼龙混杂的场景。他们会发现Amazon携自己的SimpleDB出场。他们会看到谷歌带着Hadoop和MapReduce现身。他们还会觉察到表述性无状态转移(REST)及非关系式数据库的流行程度。他们是否不得不避开长久以来已成为企业开发核心的关系式方法了?

  比如说,在试图改造其Azure云架构以便供新旧应用之流使用的时候,微软就已经不得不跟这一问题作斗争了。

  该公司原先的云架构采用与Amazon及谷歌类似的第一代云方案。彼时,这意味着放弃SQL这一现代IT耳熟能详的骨干分子。

  微软把自己的研发热切地寄托在REST架构身上。不过在2009年7月的时候,这家公司改弦易辙,公布了一个额外的数据选项:一种“云端SQL服务器”,这是专门为不想在云数据方面白手起家的开发人员提供的。

  显然,对于微软及其Azure云来说,迁移到新的平台的复杂性并不会比其他的要简单些。你会在想,对Azure进行编程时需要学会哪些东西,又该忘掉哪些东西呢?

  “任何原有的东西都不需要抛掉”,Roger Jennings说。Jennings是OakLeaf系统公司的一位分析师。“面向数据的开发人员需要等等SQL数据服务。这就是微软进行中段修正的地方。现在他们正在将SQL服务器移植到Azure体系上去”。Jennings说。

  提到这一点,他说,微软的SQL Server 2005有个版本是没有关系式功能的——它使用的是一种实体属性风格的数据库。“开发人员根本就不喜欢它”,Jennings说:“它缺乏执行联合(join)的能力。他们无法利用其基本技能。事实上(微软)正试图模仿Amazon的SimpleDB”。

  随着Hadoop及其他数据架构成为传统开发圈某种分裂的预兆,你能指望的是供应商携产品进入来理顺这种冲突碰撞。比方说,Cloudera公司就把进一步对Hadoop进行商业化以及提高对开发人员的易用性作为自己的使命。

  “我们的旗舰产品是在一个便捷安装包中的一个发行套件”,Cloudera 的创始人Christophe Bisciglia说。比如说,这个包里面含有Amazon的机器镜像。

  据Bisciglia说,可以将Hadoop视为一“大规模的批量数据处理系统”。其主要组件包括一个分布式的文件系统以及一个流程或计算引擎(如MapReduce)。

  以前在谷歌的时候,Bisciglia就早已发现了让人考虑如何去处理大规模数据的困难性,这是云的一个真正的问题。因此,他开始在华盛顿大学就这个话题讲授课程。

  “人们没有接触过像处理谷歌或雅虎这种规模的数据之类的事情”,他说道:“挑战之处在于,要让大家重新思考并重新看待MapReduce上已存在的一些问题。这是一种全新的对数据进行思考的方式”。

  各种各样的高级语言,如Hive,可对数据文件里面的数据结构加以利用,Bisciglia说:因此,在使用Map-Reduce的同时“你可以还执行SQL” 。

  “这通常是人们试图去做的第一件事”,他说:“真正需要理解的事情是这是一个批处理数据库系统,而非实时系统”。

  各种各样的高级语言,如Hive,可对数据文件里面的数据结构加以利用,因此,你可以在Map-Reduce上执行SQL。

  对于分析师Roger Jennings来说,尽管Hadoop风格的计算具备某些可伸缩方面的优点,但他仍决定要强调SQL的重要性。

  “那些声称对于互联网而言SQL已死的人是错的”,他说,并以Facebook举例说明,Facebook就是一个使用SQL数据库作为存储的非常大型、极其现代、且类似于云的网站。

  本文是系类文章《再造还是塑型》系列文章的第五部分。如果您有任何疑问,欢迎给我发邮件zhangpeiying@techtarget.com.cn或者关注TT SOA新浪微博实时提交相关问题和看法。

作者

Jack Vaughan
Jack Vaughan

TechTarget新闻记者和网站编辑,主要关注数据管理领域的技术趋势和动态。

Rob Barry
Rob Barry

新闻作者

相关推荐