我们推出了DynamoDB去年地址需要云betway88体育官网提供无缝的可伸缩性,而不管你做十事务或一千万个事务,同时提供坚如磐石的耐用性和可用性。我们的愿景的天我们构思DynamoDB是实现这种需求不限制查询功能,人们期望从betway88体育官网。然而,我们也知道,建立一个分布式betway88体育官网,拥有无限的规模和维护可以预见高性能,同时提供丰富、灵活的查询功能,是最难的问题之一betway88体育官网必威体育精装版应用官网,需要很多努力和从我们的团队发明的分布式betway88体育官网工程师来解决。所以当我们在2012年1月推出,我们提供简单的查询功能,使用散列主键或复合主键(散列+范围)。从那时起,我们一直致力于增加灵活的查询。你看到第一个迭代2013年4月推出当地二级索引(LSI)。今天,我很高兴宣布一个基本查询功能的扩张DynamoDB推出全球二级索引(GSI)。这个新功能允许索引的任何属性(列)DynamoDB表和执行高性能查询在任何表的规模。。

超越键值

先进的键值数据存储DynamoDB实现高可伸缩性等松散耦合的集群通过使用主键作为分区键跨节点分配数据。即使结果查询功能可能出现比关系限制betway88体育官网做一个粗略的检查,它的工作原理非常好为范围广泛的应用程序从DynamoDB明显的快速增长和采用客户喜欢电子艺界,Scopley,HasOffers,SmugMug,AdRoll Dropcam,Digg和许多团队在亚马逊。com(云驱动器、零售)。DynamoDB继续接受游戏的工作负载,Ad-tech,移动Web应用程序和其他部分,规模和性能是至关重要的。在亚马逊。com,我们越来越多的违约DynamoDB而不是使用关系betway88体育官网年代当我们不需要复杂的查询,表连接和事务功能,它提供了一个更可用,更容易扩展,最终一个低成本的解决方案。。

先进的键值存储为非主键访问,用户必须采取维护一个单独的表或某种形式的散集跨分区的查询。这些选项都并不理想。例如,维护一个单独的表为索引迫使用户之间保持一致性的主键表和索引表。另一方面,分散聚集查询,随着数据的增长,查询必须分散越来越多随着时间的推移导致性能变差。DynamoDB新的全球二级索引删除这基本的限制,允许”向外扩展”索引不需要任何簿记代表必威体育精装版应用官网。现在您可以运行查询DynamoDB表中的任何项目属性(列)。此外,GSI的性能设计用于满足DynamoDB单一数字毫秒延迟——你可以为游戏添加项目到用户表与数以百万计的用户应用程序与用户id的主键,但检索基于他们的家乡,没有减少查询性能。。

DynamoDB进修

DynamoDB商店信息betway88体育官网表,个别项目的集合。每一个项目都是一个数据属性的集合。类似于电子表格的行项目,类似于列和属性。每个项目是由一个主键,唯一标识,由最初的两个属性,叫做散列和范围。DynamoDB查询参考散列和属性的物品你想访问范围。这些查询功能到目前为止都是基于默认的主索引和可选本地DynamoDB二级索引的表:

  • 主索引:客户可以选择两种类型的主索引键查询:简单的哈希键和复合散列键/范围键。简单的哈希键给DynamoDB分布式哈希表的抽象。关键是在不同的散列分区优化工作负载分布。请阅读更多的背景知识原发电机纸。复合散列键与范围键允许必威体育精装版应用官网er创建一个主键,两个属性的组合,“散列属性”和“范围属性。“对一个组合键查询时,需要独特的散列属性匹配但可以指定一系列操作范围属性:e。g。所有订单从维尔纳在过去24小时内,由单个或所有比赛的球员在过去的24小时。。
  • 当地二级索引:当地二级索引允许必威体育精装版应用官网er在非主键属性创建索引,快速检索记录在一个哈希分区(我。e。项,共享相同的散列值的主键):e。g。如果有一个用PlayerName DynamoDB表作为散列键和GameStartTime范围键,您可以使用当地二级索引运行高效的查询等其他属性”分数。“查询”告诉我约翰的历史前五名的成绩”将自动返回结果下令得分。。

全球二级索引是什么?吗?

全球二级索引允许您高效地查询整个DynamoDB表,不仅在当地二级索引的分区,使用任何属性(列),即使DynamoDB表横向尺度来适应您的需要。让我们走进另一个游戏的例子。考虑一个名为GameScores的表,跟踪用户和手机游戏应用程序。在每一项GameScores通过散列键标识(标识)和一个范围键(GameTitle)。下面的图显示了表中的项目是如何组织的。(并不是所有的属性如图所示)

现在假设您想编写一个通栏广告应用程序来显示最高分数为每个游戏。查询指定的关键属性(UserId和GameTitle)将非常有效;然而,如果应用程序需要从基于GameTitle GameScores检索数据,它将需要使用扫描操作。随着越来越多的项目添加到表,扫描所有的数据将变得缓慢,效率低下,很难回答这样的问题

  • 什么是有史以来最高得分的游戏”流星导火线”吗?吗?
  • 用户所得分最高的为“星系入侵者”吗?吗?
  • 什么是赢了vs的比例最高。损失吗?吗?

加快对非键属性的查询,您可以指定全球二级索引。例如,您可以创建一个名为GameTitleIndex的全球二次指数,与散列键TopScore GameTitle和一个范围键。从表的主键属性总是投射到一个索引,用户标识属性也存在。下面的图显示了GameTitleIndex指数会是什么样子:

现在你可以查询GameTitleIndex和容易获得的分数”流星导火线”。结果范围键,下令TopScore。。

高效的查询

传统上,betway88体育官网年代一直在一起作为一个整体的表和索引。虽然这看起来简单,但它掩盖了潜在的复杂性不同需要不同类型的查询,因此不同的索引,导致资源浪费。与全球DynamoDB二级索引,您现在可以有很多索引和优化他们的独立能力。这些索引还提供查询/成本的灵活性,允许自定义级别的集群定义每个索引。必威体育精装版应用官网人可以指定哪些属性应该是“预计”二级索引,允许更快的访问often-accessed数据,同时避免额外的其他属性的读/写成本。。

从DynamoDB

增强的全球和地方二级索引查询的灵活性,提供意味着DynamoDB可以支持一个更广泛的工作负载。当设计一个新的应用程序,该应用程序将运行在AWS云,首先看看DynamoDB当选择betway88体育官网。如果你不需要的表加入功能关系betway88体育官网,你会从成本,更好的服务通过使用DynamoDB可用性和性能的角度来看。如果你需要支持事务,使用最近发布的事务库。您还可以使用GSI的特性DynamoDB当地对于离线必威体育精装版应用官网您的应用程序。随着应用程序变得受欢迎,从被成千上万的用户数百万甚至上千万的用户,你将不必担心典型的应用程序性能或可用性瓶颈的脸从关系betway88体育官网年代已要求应用程序。你可以简单的拨号应用程序需要的供应吞吐量DynamoDB我们将照顾其余没有任何影响应用程序的性能。。

Dropcam告诉我们,他们采用了DynamoDB无缝的可伸缩性和性能为他们继续创新基于云监控平台已经成为互联网上最大的视频平台之一。GSIs,他们没有选择查询的可伸缩性和灵活性,而能得到的betway88体育官网。。游击队的游戏,必威体育精装版应用官网er杀戮地带影子秋天使用DynamoDB在线多人游戏排行榜和游戏设置。他们将利用GSIs添加更多的功能,增加betway88体育官网的性能。同时,Bizo,一个B2B数字营销平台,使用DynamoDB受众目标。GSIs将使查找使用进化标准跨多个数据集。。

这些只是几个例子,GSIs可以帮助,我期待着我们的客户与DynamoDB构建可伸缩的企业。我想让应用程序作家专注于自己的业务逻辑,使维护一致性的重型起重DynamoDB查找属性。学习更多的看到杰夫·巴尔的博客DynamoDB必威体育精装版应用官网er指南。。

评论

博客评论的Disqus