翻译文章:Amazon DynamoDB的功能和特性

温馨提示:本文由厦门大学计算机系林子雨翻译自英文网站,转载请注明出处,仅用于学习交流,请勿用于商业用途。

[本文翻译的原始出处:厦门大学计算机系数据库实验室网站林子雨老师的云数据库技术资料专区http://dblab.xmu.edu.cn/topic/research/documentation/cloud_database]

Amazon DynamoDB的功能和特性

英文原文地址:http://aws.amazon.com/dynamodb/

翻译:厦门大学计算机系林子雨(http://www.cs.xmu.edu.cn/linziyu) 翻译时间:201253日星期四

Amazon DynamoDB的功能

如果要使用Amazon DynamoDB,你只需要:

  • 使用AWS管理控制台或者AWS DynamoDB API来创建一个表,并且确定你所需要的请求容量。
  • 使用Amazon DynamoDB API进行写和检索数据的操作;
  • 使用AWS管理控制台中Amazon CloudWatch,对你的AWS DynamoDB数据库的表的状态和性能进行监视;
  • 为你实际使用的资源付费:你每个月的消费账单,是基于你确定的表的处理请求能力和存储的数量;

Amazon DynamoDB服务特性

1、可扩展性:AWS DynamoDB的设计,可以支持在吞吐量和存储能力上的无缝扩展;

       额定的吞吐量:在创建一个表的时候,可以很简单地设定你的表所需要的处理请求的能力。AWS DynamoDB会根据你的处理能力要求,为你的表分配专用的资源,从而满足你的性能需求,并且会把数据分区到足够多的服务器上,从而满足你对处理能力的要求。如果你的吞吐量需求改变了,你可以使用AWS管理控制台或者AWS DynamoDB API对你的表所需要的处理请求的能力进行修改。当扩展正在进行时,你仍然可以获得先前级别的处理能力。

  • 自动存储扩展:AWS DynamoDB没有对一个表中可以存储的数据量的大小进行限制,当你使用AWS DynamoDB的写操作API存入更多数据时,就会自动为你分配更多的存储空间。
  • 完全分布式、非共享架构:AWS DynamoDB可以实现水平扩展,可以无缝地把一个表扩展到多个(几百个)服务器上。

2、快速、可预期的性能:AWS DynamoDB的服务端的平均延迟,通常是几毫秒(millisecond)。运行在固态盘上面的服务,可以在任何扩展级别下维持一致性和低延迟。

3、简易的管理:AWS DynamoDB是一个完全托管的服务,你只需要简单地创建一个数据库表,剩下的所有事情都交给AWS服务来处理。你不需要担心硬件和软件的配给、建立、配置,也不要担心软件安装和打补丁包,更不必担心如何运行一个可靠的分布式数据库簇,或者把数据分区到多个实例。

4、内置的容错性:AWS DynamoDB具有内在的容错能力,可以自动、同步地把你的数据复制到一个Region中的多个可用的Zone中,即使遇到单个机器或设施的实效,你的数据也可以得到很好的保护。

5、灵活性:AWS DynamoDB没有固定的模式(schema)。相反,每个项目(item)都具有不同数量的属性,可以支持多种数据类型,比如string、number和set。

 6、强一致性、原子计数器:和许多非关系型数据库不同,AWS DynamoDB使你的开发工作变得更加简单,它可以支持读操作的强一致性,从而保证你可以总是获得最新的数据。读操作支持多个本地(native)数据类型,比如number、string和multi-value attribute。这种服务也可以支持原子计数器(Atomic Counter),允许你通过一个简单的API调用就可以自动增加和减少数值属性。

7、性价比高:AWS DynamoDB被设计成在任何级别的负载下都可以取得很高的性价比。你可以从一个免费的等级开始,这种级别只支持每个月4000万次的数据库操作,对于超出这个免费级别的范围,你只需要为你使用的资源支付以小时计费的很低的费用。由于具备了简易的管理和高效的请求定价能力,采用AWS DynamoDB相比采用其他非关系型数据库而言,具有更低的总体拥有成本(TCO:total cost of owership)。

8、安全:AWS DynamoDB使用可靠的密钥方法,只允许授权用户访问数据,而绝对不允许非授权用户的非法访问。AWS DynamoDB集成了AWS Identiy and Access Management(简称AWS IAM),可以实现更细粒度的访问控制。

9、集成的监视功能:AWS DynamoDB可以在AWS管理控制台中,把关于你的表的关键性能指标都显示出来。同时还集成了Amazon CloudWatch,可以让用户每个表的请求吞吐量和延迟,从而很容易实现对资源的跟踪。

10、弹性的MapReduce集成:AWS DynamoDB同时集成了Amazon Elastic MapReduce(简称Amazon EMR)。Amazon EMR可以支持对大型的数据集执行复杂的分析操作,并且采用AWS中按需付费的Hadoop框架。随着AWS DynamoDB的发布,对于用户而言,很容易使用Amazon EMR来对存储在DynamoDB中的数据集进行分析,并且把分析结果存储在Amazon Simple Storage Service(简称Amazon S3)中,而原来的数据仍然原封不动地保存在AWS DynamoDB中。用户也可以使用Amazon EMR来访问存储在多个地方的数据,比如AWS DynamoDB、Amazon RDS和Amazon S3,并且对来自这些地方的数据进行合并以后,做更加复杂的分析,并且把分析结果存储在Amazon S3中。(厦门大学计算机系 林子雨 翻译)