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

在软件行业中云计算(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

你可能感兴趣的:(Amazon的SimpleDB和IBM的Blue Cloud继续为云计算添柴)