Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.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
Database dynamodb可以处理哪些TPS?_Database_Amazon Web Services_Amazon Dynamodb_Bigdata - Fatal编程技术网

Database dynamodb可以处理哪些TPS?

Database dynamodb可以处理哪些TPS?,database,amazon-web-services,amazon-dynamodb,bigdata,Database,Amazon Web Services,Amazon Dynamodb,Bigdata,我认为NoSQL数据库,如Cassandra或DynamoDB,可以处理10000个QP或TPS。但当我最近查看一些DynamoDB配置时,我经常看到不到100 TPS。这是一个线程的100 TPS还是所有线程的100 TPS?我错过什么了吗?搜索了AWS文档,但没有找到类似问题的解决方案。谢谢 没有任何限制。默认情况下,每个表可以提供的最大吞吐量为40000个RCU(每秒读取)和40000个WCU(每秒写入)。但这只是一个限制,以防止用户意外地提供过多的吞吐量,您可以简单地请求对您的帐户应用更

我认为NoSQL数据库,如Cassandra或DynamoDB,可以处理10000个QP或TPS。但当我最近查看一些DynamoDB配置时,我经常看到不到100 TPS。这是一个线程的100 TPS还是所有线程的100 TPS?我错过什么了吗?搜索了AWS文档,但没有找到类似问题的解决方案。谢谢

没有任何限制。默认情况下,每个表可以提供的最大吞吐量为40000个RCU(每秒读取)和40000个WCU(每秒写入)。但这只是一个限制,以防止用户意外地提供过多的吞吐量,您可以简单地请求对您的帐户应用更高的限制。


没有任何限制。默认情况下,每个表可以提供的最大吞吐量为40000个RCU(每秒读取)和40000个WCU(每秒写入)。但是,这只是一个限制,以防止用户意外地提供过多的吞吐量,您可以简单地请求对您的帐户应用更高的限制。

NoSQL数据库(如Cassandra、Scylla或DynamoDB)的一个要点是,它们是可伸缩的——它们使用的节点集群可以增长(理论上)每秒几乎无限的请求数。因此,您可以处理100 rpm、10000 rpm甚至10000000 rpm,这取决于集群的大小(以及每个节点的大小)。在software-as-a-service DynamoDB中,您看不到服务器后面的实际集群,而是需要“设置”每秒允许多少请求


我不知道你是如何配置给你100转/秒的设置的。您可能还错误地度量了这个吞吐量:您提到了线程。你说的是客户机线程吗?因为很明显,如果您只有一个客户机线程,那么您根本不是在测量吞吐量,而是在测量延迟:如果客户机线程发送一个请求并等待它在发送下一个请求之前得到响应,那么如果您的请求有10毫秒的延迟(即使是由于网络延迟),那么您只能从该线程执行100次。但您可能有1000个这样的线程实现每秒100000个请求的吞吐量。您还可以有一个事件驱动线程,它在等待请求完成之前发送许多请求,而不是只发送一个请求。

NoSQL数据库(如Cassandra、Scylla或DynamoDB)的一个要点是,它们是可伸缩的——它们使用的节点集群可以增长(理论上)每秒几乎无限的请求数。因此,您可以处理100 rpm、10000 rpm甚至10000000 rpm,这取决于集群的大小(以及每个节点的大小)。在software-as-a-service DynamoDB中,您看不到服务器后面的实际集群,而是需要“设置”每秒允许多少请求


我不知道你是如何配置给你100转/秒的设置的。您可能还错误地度量了这个吞吐量:您提到了线程。你说的是客户机线程吗?因为很明显,如果您只有一个客户机线程,那么您根本不是在测量吞吐量,而是在测量延迟:如果客户机线程发送一个请求并等待它在发送下一个请求之前得到响应,那么如果您的请求有10毫秒的延迟(即使是由于网络延迟),那么您只能从该线程执行100次。但您可能有1000个这样的线程实现每秒100000个请求的吞吐量。您还可以有一个事件驱动线程,它在等待请求完成之前发送许多请求,而不仅仅是一个请求。

谢谢nyh!是的,我说的是客户端线程。例如,如果我的延迟是20ms,我需要每秒执行500个请求。我必须提供多个(至少10个)线程。这将需要更多的费用?是的,如果延迟为20ms,并且单个线程只执行一个串行请求-响应循环,那么每个这样的线程每秒只执行50个请求,您需要更多这样的线程才能获得更高的吞吐量。但“更多费用”是为了什么?DynamoDB对您的请求收取费用-它不知道您的客户端有多少线程,这只是您自己的实现细节。如果编程正确,您的客户端也可以通过一个线程实现高并发性。大约2-3周前,您不再需要预先配置RCU和WCU。您可以将表配置为具有“按需”设置。这是一个巨大的变化,提前购买一定数量的云服务的想法很奇怪。谢谢nyh!是的,我说的是客户端线程。例如,如果我的延迟是20ms,我需要每秒执行500个请求。我必须提供多个(至少10个)线程。这将需要更多的费用?是的,如果延迟为20ms,并且单个线程只执行一个串行请求-响应循环,那么每个这样的线程每秒只执行50个请求,您需要更多这样的线程才能获得更高的吞吐量。但“更多费用”是为了什么?DynamoDB对您的请求收取费用-它不知道您的客户端有多少线程,这只是您自己的实现细节。如果编程正确,您的客户端也可以通过一个线程实现高并发性。大约2-3周前,您不再需要预先配置RCU和WCU。您可以将表配置为具有“按需”设置。这是一个巨大的变化,提前购买一定数量的云服务的想法很奇怪。