旧文 2010-05-04

前面提到的亚马逊S3服务,用户存储的数据对于亚马逊来说是无结构的,可以理解为流文件。而SDB(SimpleDB)是同Google Bigtable同一层次的概念,其提供了简单的数据表的服务,换句话说亚马逊要了解用户的文件结构。

但对比Bigtable,SDB有一些不同。

Bigtable是完全设计用于存储web page的,因此其key就是对应的某个页面的URL,其主要内容就是页面本身。而SDB应该是用于使用亚马逊的Web服务的用户建立网站之用,因此并没有这一限定,db中可以存储任何东东,其实就是通用数据库的雏形。

基本上可以说SDB就是一个数据表,但同关系数据表相比也有不同。例如关系数据库在table建立之后,结构就不能改变,而SDB可在高兴的时候随时添加一列。但SDB本质上还是关系数据库数据表的模拟,或者说是简版,SDB提供了和类SQL的select语句例如select * from mydomain where every(keyword) = ‘Book’

SDB也提供了所谓Transaction的功能,例如对于多个数据库row,可以使用Update一次进行更新。

SDB同关系数据库相比简单异常,因此应该价格也更便宜。

官方的描述是每月的“First 25 Amazon SimpleDB Machine Hours” 免费。“SimpleDB Machine Hours”这种单位的含义似乎是根据计算机的计算能力*时间来设定的,类似于一度电(千瓦时)之类的单位,可见其廉价。

SDB是亚马逊07年底发布的服务,但是迄今为止仍然是Beta版本,应该是底气不足的原因,PK oracle不是那么容易的。

RDS(Relational Database Service)就是完整的关系数据库了,包括最初的MYSQL和后继的一系列商用即开源关系数据库的支持。使用亚马逊的RDS同自己维护数据库有什么优势呢?我总结如下:

1。亚马逊提供的服务应该不会用你本人setup数据库。

2。亚马逊会自动备份数据库。

3。仍然是仅仅租用,不用花钱购买。

3。亚马逊负责Scale,当然是按照您的出价。

显著的减少了数据库管理者的负担。

目前支持的数据库类型如下:

IBM DB2, Microsoft SQL Server, MySQL, Oracle, PostgreSQL, Sybase, and Vertica.

数据库一般保存在EBS中,这样可以获得永久的存储,同时支持将数据库snapshot存储在S3服务器中,这就是solution的力量。

RDS收费

1。按照数据库存储

Small DB Instance: 1.7 GB memory, 1 ECU (1 virtual core with 1 ECU), 64-bit platform.

每个实例每小时$0.11(这里就不是SDB的千瓦时的概念了,你使用与否都要收费,昂贵很多),不算便宜。

2。按照数据库的数据传输量也要交费,这里不再叙述。

参考:

http://aws.amazon.com/simpledb/

http://aws.amazon.com/running_databases/

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐