Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon dynamodb DynamoDB如何独立于写操作提供读操作的吞吐量_Amazon Dynamodb_Distributed Database - Fatal编程技术网

Amazon dynamodb DynamoDB如何独立于写操作提供读操作的吞吐量

Amazon dynamodb DynamoDB如何独立于写操作提供读操作的吞吐量,amazon-dynamodb,distributed-database,Amazon Dynamodb,Distributed Database,Amazon DynamoDB允许客户进行以下操作:。我读过关于DynamoDB之前的系统的文章,也读过关于Cassandra和Riak如何实现这些想法的文章 我了解如何通过向集群添加节点来增加这些系统的吞吐量,然后将表的哈希键空间划分到更多节点上,从而在哈希键之间的访问相对随机的情况下允许更大的吞吐量。但在像Cassandra和Riak这样的系统中,这会同时增加读写吞吐量 DynamoDB的架构如何不同,它们能够独立扩展读写?或者它们不是,Amazon只是独立地为它们收费,即使它们基本上必须分

Amazon DynamoDB允许客户进行以下操作:。我读过关于DynamoDB之前的系统的文章,也读过关于Cassandra和Riak如何实现这些想法的文章

我了解如何通过向集群添加节点来增加这些系统的吞吐量,然后将表的哈希键空间划分到更多节点上,从而在哈希键之间的访问相对随机的情况下允许更大的吞吐量。但在像Cassandra和Riak这样的系统中,这会同时增加读写吞吐量


DynamoDB的架构如何不同,它们能够独立扩展读写?或者它们不是,Amazon只是独立地为它们收费,即使它们基本上必须分配足够的节点来覆盖两者中的较大者?

向集群添加节点应该会增加可用吞吐量,这是正确的,但这是基于集群的,而不是基于表的。DynamoDB集群是跨多个帐户的多个表的共享资源。它就像一个EC2节点:您为一个虚拟机付费,但该虚拟机托管在一个真实的机器上,该机器在多个EC2虚拟机之间共享,并且根据实例类型,您可以获得一定数量的内存、CPU、网络IO等

当您为吞吐量付费时,您要支付的是IO,它们可以独立调节。支付更高的吞吐量不会导致Amazon在更多节点上对表进行分区。导致表被更多分区的唯一原因是表的大小增长到需要更多分区来存储表的数据的程度。分区的最大大小,从我与DynamoDB工程师的谈话中得到的,是基于集群中节点的SSD的大小


配置吞吐量的诀窍在于它被划分到各个分区中。因此,如果您有一个热分区,即使您的总请求没有超过总的读或写吞吐量,您也可以通过putteExcepedDexceptions进行节流和资源调配。这与你的问题相反。如果您的表被划分到更多的分区/节点中,您会得到更多的吞吐量,但实际上情况恰恰相反,除非您根据表的大小来调整吞吐量

我确实理解资源调配是如何工作的,这与我所说的并不矛盾。据我所知,所提供的吞吐量是在分区之间分配的。您是否有一个源代码为您声明“支付更多吞吐量并不会导致Amazon在更多节点上对您的表进行分区”。这没有意义,因为我可以有一个1000行的表,但提供了如此多的读取,以至于没有一个分区可以处理该负载。我还了解到,在DynamoDB中,集群是一种共享资源,这与我关于一个表的分区节点数的观点无关。你完全正确。您可以有一个1000行的表,并且可以为该表提供最大吞吐量,但仍受存储该表的物理节点的网络和SSD吞吐量的限制。我的信息来源是与DynamoDB合作,以了解我们对于一个非常大的DynamoDB表(800多亿行,10多TB的数据)的性能问题。