InfoQ

InfoQ

新闻

我的书签

登录注册 以永久保存书签。

该内容已经被标记书签!

标记书签错误,请重试!

Amazon的SimpleDB和IBM的Blue Cloud继续为云计算添柴

作者 Scott Delap 译者 郭晓刚 发布于 2007年12月16日

领域
语言 & 开发,
架构 & 设计,
运维 & 基础架构,
企业架构
主题
Java ,
SaaS ,
架构 ,
虚拟化 ,
网格计算
标签
弹性计算集群

在软件行业中云计算(Cloud Computing)的领域近来相当忙碌。上周Amazon推出了SimpleDB的Beta版,这是一个对结构化数据进行实时查询的Web服务。SimpleDB是对Amazon其他计算服务如S3和EC2的补充。不到一个月前IBM也公布了他们的Blue Cloud的雏形。对于将一些软件应用从实用私有的基础设施转换到利用通用的计算资源,两者都可能会起到很大的作用。除了出现这些服务,对软件工程师的教育也在强力推动这股潮流。。

10月份IBM和Google 宣布带动大学去应对互联网大规模计算的挑战:

……这项倡议的目标是提高学习计算机科学的学生在高度并行计算实践方面的知识,以更好地应对正在出现的大规模分布式计算的趋势。IBM和Google联合起来,提供硬件、软件和服务去增加大学在这方面的课程,并扩大研究的范围。两家公司结合各自的资源,希望能够降低学术界探索这个新的计算模型时的财政和后勤上的门槛……

为了简化大规模并行程序的开发,Google和IBM提供了以下资源:

  • 一个处理器集群,运行的是Google的计算设施的一个开源实现(来自Apache Hadoop项目的MapReduce和GFS)。
  • 由Google和University of Washington共同开发了一个课程,讲授大规模并行计算技术,并且采用的是Creative Commons许可:http://code.google.com/edu/content/parallel.html
  • IBM设计了开源软件去帮助学生们为运行Hadoop的集群开发程序。这个软件可以和开源开发平台Eclipse一起使用,插件可在 http://lucene.apache.org/hadoop/ 下载。
  • 集群的管理、监控和动态资源供应通过IBM的Tivoli系统管理软件进行。
  • 一个鼓励各大学就此项目进行合作的网站。使用IBM的Innovation Factory提供的Web 2.0技术构建。

Yahoo为了不被甩在后面,也在11月份公布了一个开源项目,意在促进分布式计算系统软件的研究和开发。该声明的关键是Yahoo将建立一个使用Hadoop的超级计算数据中心,名为M45。该集群“约有4,000个处理器,3T的内存,1.5P字节的磁盘,性能峰值可超过每秒27万亿次计算(27 teraflops),跻身全球排名前50的超级计算机之列”。12月Yahoo Developer Network还首发了一个以Hadoop和分布式计算为主题的博客。

其后不久,IBM宣布他们的Blue Cloud计算项目将在2008年第一季度面世:

……Blue Cloud——基于IBM Almaden研究中心的云计算基础设施——将包括Xen和PowerVM虚拟的Linux操作系统镜像和Hadoop并行工作负载调度。Blue Cloud由IBM Tivoli软件提供支持,管理服务器,确保根据需要提供最优的性能。其中包括能够瞬时跨多台服务器汇集资源的软件,即使在需求最紧迫的情况下,也能提高性能和保障可靠性,为用户提供平滑的体验。Tivoli监控程序检查预备服务器的健康状态,确保它们能满足服务水平的要求……

IBM 一开始会提供配备了“云”软件套装的BladeCenter。刚开始的时候仅在内部运行,但随着软件套装的发展,IBM会逐步尝试提供云计算服务。

直到最近,Amazon发布了SimpleDB服务的小范围Beta版。SimpleDB不是一个关系数据库。它是建立在一种类似于散列表的模型上的。它提供了CRUD操作和一种查询语言。价格则和其他Amazon云服务类似,都是根据存储空间和机器时间的使用量来计算。

机器使用量——每消耗一小时Amazon SimpleDB机器时间,价格$0.14

Amazon SimpleDB测量每个查询的机器使用量,并将完成特定请求(QUERY、GET、PUT等)所用的机器处理能力,换算成使用2007年一般1.7 GHz Xeon处理器来处理所需的小时数,以此来收费。

数据传输

  • $0.10每GB——所有传入数据
  • $0.18每GB——每月传出数据中的头10TB
  • $0.16每GB——每月传出数据中的后40TB
  • $0.13每GB——每月传出数据中超过50TB的部分
数据传输中的“传入”和“传出”分别表示Amazon SimpleDB的输入和输出。Amazon SimpleDB和其他Amazon Web服务之间的数据传输免费(即$0.00每GB)。

结构化数据存储——$1.50每GB月

Amazon还详细说明了Amazon S3和Amazon SimpleDB的基础设施之间的差异:

……与Amazon S3不同,Amazon SimpleDB不存储原始数据。它把你的数据作为输入,然后给数据增加多个维度的索引,以便你能快速地查询数据。而且Amazon S3和Amazon SimpleDB使用不同类型的物理存储。Amazon S3使用高密度的存储磁盘,为廉价地存储大型的对象而优化。Amazon SimpleDB存储较小型的数据单元,使用比较低密度的磁盘,为数据访问速度而优化。

要想把你在AWS服务上的花费调整到最合理,大型对象或者文件应该用Amazon S3存储,小型数据元素或者文件指针(可能指向Amazon S3对象)最好用Amazon SimpleDB存储。由于服务间的紧密集成,以及在AWS环境内部的数据传输是免费的,开发者只要把两个服务都集成到应用中,就可以同时享受到两方面的好处,既能获得Amazon SimpleDB的速度和查询能力,又能享受Amazon S3低廉的数据存储费用……

Charles H. Ying报道说SimpleDB是基于Erlang构建的。他列举了以下几点考虑:

  • 一致性延迟——数据不是马上传播到所有节点的……延迟一般在1秒左右,但如果数据量或者负载很大,你可能遇到更多延迟。从好的方面来说,你的数据并没有丢。
  • 查询是按词典顺序的(lexigraphical order)——你需要按照词典顺序的形式来存储数据(在整数前面补零,把负整数向正的方向移位,把日期转换成ISO 8601之类的表示)。
  • 搜索索引——你需要自己为文字搜索构造索引——SimpleDB查询表达式不支持文字搜索,因此你必须构造反向的索引才能正确地进行“文字搜索”。这实际上是一种很好的轻量级实现方式,现实中存在着很多种可行的索引方案。

GigaOM的Nitin Borwankar觉得SimpleDB具有强大的搅局能力,他还简略地将SimpleDB与现有的关系数据库以及ActiveRecord和Hibernate所用对象关系映射进行了比较。

查看英文原文:Amazon's SimpleDB and IBM's Blue Cloud Continue the Rise of Cloud Computing

译者 郭晓刚 是InfoQ中文站架构社区编辑,创建并终结过数家软件小企业,翻译过多本技术书籍。

深度内容

专访Jeffery Richter:Windows 8是微软的重中之重

Jeffery Richter以其多本Windows核心技术的经典著作而闻名,同时,他深入掌握微软的.NET等一系列核心技术,2012年1月,Jeffery Richter在北京接受了InfoQ中文站的专访,谈到Windows 8和WinRT编程,并就异步编程、Windows编程中的可扩展性、性能和安全性方面给出自己的建议。

应用云平台的可用性——从新浪SAE看云平台设计

云计算平台的可用性,相比传统互联网服务而言,更加复杂和困难,也更具有挑战性。本文借助新浪SAE云平台为读者讲述了云平台可用性的定义、如何打造高可用的平台,以及对云计算的用户提出了建议。

JVM定制改进 @ 淘宝

淘宝高度重视Java平台的健康发展,组建了一个团队专注于Java平台的底层部分的性能、功能与稳定性改进;工作主要基于OpenJDK中的HotSpot VM开展,其中一些通用的功能随后也会逐渐反馈给OpenJDK社区。希望能与使用Java平台开发应用的大家交流经验。
本次演讲视频录制于QCon杭州2011

"伤得起"的云计算应用——对云端应用之架构的思考

2011年4月21日至22日是值得云计算从业者纪念的日子。Amazon的IaaS服务出现故障,导致许多商业网站的服务中断,影响非常严重。作为云计算用户,我们需要思考的是,如何保证即便在云服务不可用的情况,我们的应用架构仍然能够屹立不倒?本文正是站在云计算用户的角度试图探讨这一问题。

让交付的速度跟上思考的速度

12人的技术团队,4组刀片服务器,每月20亿的访问量,每日1次准时部署,99.9%的可用性。这可能吗?当然。想知道如何做的吗?百姓网将与您分享他们在DevOps实践过程中的经验和技巧。
本次演讲视频录制于QCon杭州2011

架构之路——穿行在产品和业务之间

篱笆作为一家起源于社区的电子商务公司,反映到技术层面就是同时要面对产品和业务,以及经营战略的变化调整。如何在产品和业务的夹缝之间完成技术架构的抽象与平衡,寻找更有效的价值定位,这当中有些经验教训和个人感悟愿与众人分享。
本次演讲视频录制于QCon杭州2011

特性注入:成功三部曲

本文将对特性注入以及相关方法做一个扫盲性的介绍。我们会解释这个框架的关键要素,并附上实例来证实它们。为了让文章保持相对较短,我们不会深入到某个工具或方法中,而是会给出一些参考资料,以便大家做进一步的研究。

解析JDK 7的动态类型语言支持

随着JDK 7的发布,字节码指令集终于迎来了第一位新成员——invokedynamic指令。这条新增加的指令是JDK 7实现“动态类型语言(Dynamically Typed Language)”支持而进行的改进之一,也是为JDK 8可以顺利实现Lambda表达式做技术准备。在这篇文章中,我们将去了解JDK 7这项新特性的出现前因后果和它的意义。