如何在DynamoDB表上执行并发写入?

时间:2017-06-06 22:48:46

标签: multithreading amazon-dynamodb boto3 amazon-dynamodb-streams

我想从不同的源 - 特别是Twitter和reddit流式传输数据,并将其存储到DynamoDB表中。我对此很陌生,所以我不确定它是否可行。我在考虑使用2个不同的线程,一个用于Twitter,另一个用于Reddit。两个线程都将从相应的流中获取数据并插入DynamoDB表中。

这看起来可行吗?是否有可能在DynamoDB中进行并发写入?如果没有,那么在单个DynamoDB表上同时存储来自不同源的数据的替代方法是什么?

1 个答案:

答案 0 :(得分:0)

高度鼓励执行对DynamoDB的并发写入。

创建Amazon DynamoDB表时,您可以指定每秒读取和写入吞吐量。要充分利用此容量,您可以在多个服务器上使用多个线程。

要从DynamoDB获得最佳吞吐量,请确保写入使用广泛分区密钥,因为这些可识别数据如何跨多个DynamoDB服务器进行分区。每个分区都有一个容量的子集。如果许多读/写使用相同的分区键,吞吐量将会降低,因为请求正在命中热分区