深入理解Amazon DynamoDB NoSQL云数据库服务

日期:2016-12-8作者:Craig S. Mullins

【TechTarget中国原创】

Amazon DynamoDB NoSQL云数据库即服务专为提供高性能大规模计算而设计。该产品属于多模数据库系统,为文档和关键值模型提供支持。DynamoDB主要为跨移动设备、网页web端、游戏、数字营销和物联网领域的应用提供支持。

Amazon DynamoDB弱化了处理任务对硬件和软件的安装配置需求,也不需要软件补丁、升级、运营管理分布式数据库集群或者跨多个实例管理分区数据(在需要扩展的时候)。

Amazon DynamoDB功能特性

DynamoDB属于一种服务,并没有数据库服务器或者表模式(schema)的概念。它的核心组件是:表、条目和属性。DynamoDB中最高级别的对象是表,但是与传统关系型数据库中的表不一样,这种表是由许多自定义的条目组成的。条目是由属性构成的,我们称之为属性对。每个条目最大容量是400KB。条目必须至少有一个属性,表中每个条目的属性可以不同。换句话说,这种表的结构是松散的(不要求每条目数据属性一致)。

每个条目要有一个分区键(这个必须有),还可以有个排序键(可选)。分区键识别条目用来构建对应物理分区的哈希存储,它支持更丰富的查询功能。在DynamoDB中没有主键或者二级索引是不能查询条目的。

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

评论
查看更多评论

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

作者>更多

Craig S. Mullins
Craig S. Mullins

数据管理策略研究人员,拥有超过30年的数据库系统经验

其他NoSQL数据库>更多

相关推荐

技术手册>更多

  • Oracle数据库备份指南

    保护数据是DBA最重要的职责,DBA需要建立一整套的数据库备份与恢复机制,以应对各种各样的情况。

  • Oracle并行SQL指南

    没有并行技术的时候,一个会话只能利用CPU或者磁盘设备其中之一。结果,串行执行SQL语句不能利用整个计算机的处理能力。并行执行使得单个会话和SQL语句能利用多个CPU和磁盘设备的处理能力。

  • 使用Oracle SQL Developer和其他开发工具

    本技术专题主要为使用Oracle SQL Developer和其他开发工具。包括如何使用Oracle SQL Developer和其他开发工具、使用Oracle Database Home Page、在Oracle中使用SQL*Plus等方面。

  • 数据库管理系统选型指南

    理解不同类型的DBMS有哪些特点,以及再何时、何处(场景)使用它们是十分必要的。在这本电子书中,我们就将进行一个详细的介绍,希望能够为您的数据库选型起到帮助、指导作用。

TechTarget

最新资源
  • 安全
  • 存储
  • CIO
  • SOA
  • 云计算
  • 商务智能
【TechTarget中国原创】

Amazon DynamoDB NoSQL云数据库即服务专为提供高性能大规模计算而设计。该产品属于多模数据库系统,为文档和关键值模型提供支持。DynamoDB主要为跨移动设备、网页web端、游戏、数字营销和物联网领域的应用提供支持。

Amazon DynamoDB弱化了处理任务对硬件和软件的安装配置需求,也不需要软件补丁、升级、运营管理分布式数据库集群或者跨多个实例管理分区数据(在需要扩展的时候)。

Amazon DynamoDB功能特性

DynamoDB属于一种服务,并没有数据库服务器或者表模式(schema)的概念。它的核心组件是:表、条目和属性。DynamoDB中最高级别的对象是表,但是与传统关系型数据库中的表不一样,这种表是由许多自定义的条目组成的。条目是由属性构成的,我们称之为属性对。每个条目最大容量是400KB。条目必须至少有一个属性,表中每个条目的属性可以不同。换句话说,这种表的结构是松散的(不要求每条目数据属性一致)。

每个条目要有一个分区键(这个必须有),还可以有个排序键(可选)。分区键识别条目用来构建对应物理分区的哈希存储,它支持更丰富的查询功能。在DynamoDB中没有主键或者二级索引是不能查询条目的。

所有的数据都存储在固态盘中,并会以三种方式跨不同的可用区域进行复制,从而提供较好的冗余和容错。

Amazon DynamoDB会保障最终的一致性,但是(如果需要的话)你可以指定一致性,不过这个会对吞吐量性能有影响。

使用DynamoDB NoSQL云数据库

应用程序可以使用API操作DynamoDB数据,有三种主要的操作:

  1. 控制面板操作,该功能创建和管理DynamoDB表,也可以管理索引和流等这些其它依赖对象;
  2. 数据面操作,用来读写数据,可以对表数据执行创建、读、更新和删除操作;
  3. DynamoDB流操作,管理员可以启用或禁用流处理功能,该功能支持以流的形式访问数据修改记录。

DynamoDB流是有序的信息流,记录了表中条目的变化信息。流提供给应用程序捕获条目数据变化的能力,在变化发生时马上获取,因此支持即时根据变化做出一些反应。

DynamoDB的定价和支持

要使用Amazon DynamoDB服务,你必须拥有Amazon Web Service(AWS)账号。在Amazon DynamoDB表创建和更新的时候,用户必须指定读和写的大小。DynamoDB会储备必要的资源来满足组织为保持一致性和低延时性能的需求。该服务的售价是基于每小时的用量。

Amazon DynamoDB NoSQL云数据库采用索引式数据存储,数据消耗的磁盘空间会超过导入数据的原始大小。Amazon DynamoDB会给每个数据条目增加额外的量直接用于存储索引,基于此规模估算总的存储空间需求。使用者不必在开始就告诉Amazon DynamoDB存储量,因为组织可以根据使用量进行付费,最开始的每个月25GB是免费的,之后的价格是0.25美元/GB。此外,每个月有250万次DynamoDB流读请求是免费的,之后的价格是0.02美元/10万次请求。AWS这种简单的按月计价方式可以用来估算每月的费用投入。

AWS客户可以利用AWS的免费用量开始体验Amazon DynamoDB,它提供25GB的免费存储,多达25个写容量单元和25个读容量单元,提供持续吞吐量和250万来自DynamoDB流的读请求。

AWS支持的所有功能都可以按月支付获取支持,不需要签订长期合同,在此范围内可以获得无限次数的支持。没有最低费用,组织只需要根据使用情况进行付费。开发人员和业务单元可以选择下面的不同搭配:

NoSQL数据库通常会使用开源雅虎云服务基准,尽管Amazon没有为Amazon DynamoDB发布任何基准。至少有一项独立基准可以展示正面的结果。

另外:Amazon还提供Amazon SimpleDB,那是另一种NoSQL数据库管理系统(DBMS),可以用于对速度和扩展能力要求没有DynamoDB那么高的场景。