深入理解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数据库>更多

相关推荐

技术手册>更多

  • SQL Server十大技巧集锦

    新年干货大放送。TechTarget数据库网站总结了过去一年最实用、最受欢迎的十大SQL Server技巧,分享给各位DBA。预祝DBA们马年“马上有成功”!

  • 数据库文件增长对主机性能的影响分析

    在使用SQL Server数据库时,我们经常会碰到数据文件或事务日志文件增长的情况,DBA针对这一问题会制定一些技术维护计划或者直接对数据库文件进行缩减。

  • Oracle并行SQL指南

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

  • SSIS专题三:SSIS进阶技巧指南

    在前两次SSIS技术专题中,我们介绍了关于SSIS的基础知识,大家已经有所了解。而在本次技术手册中,我们将介绍包括扩展SSIS包在内的进阶技巧,相信对那些已有SSIS使用经验的朋友也会有所帮助。

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那么高的场景。