Python 如何在Amazon DynamoDB中保存实时和历史车辆位置数据

Python 如何在Amazon DynamoDB中保存实时和历史车辆位置数据,python,amazon-web-services,amazon-dynamodb,geohashing,Python,Amazon Web Services,Amazon Dynamodb,Geohashing,我正在尝试处理和存储DynamoDB中大约3万辆车的位置信息 每辆车的实时信息将每10秒存储一次 它将被处理为活轨单车 该信息还将用于获取给定点和半径的附近车辆 我将使用python代码 我采取以下策略: 历史记录表保存设备历史信息 数据将是:deviceid(分区键)、lat、lon、时间戳(sortkey)、geohash 实时表格保存实时信息 数据将是:deviceid(分区键)、lat、lon、时间戳、geohash(sortkey) 地理哈希有助于搜索附近的车辆 表格信息将更

我正在尝试处理和存储DynamoDB中大约3万辆车的位置信息

  • 每辆车的实时信息将每10秒存储一次
  • 它将被处理为活轨单车
  • 该信息还将用于获取给定点和半径的附近车辆
  • 我将使用python代码
我采取以下策略:

历史记录表保存设备历史信息

  • 数据将是:deviceid(分区键)、lat、lon、时间戳(sortkey)、geohash
实时表格保存实时信息

  • 数据将是:deviceid(分区键)、lat、lon、时间戳、geohash(sortkey)

  • 地理哈希有助于搜索附近的车辆

  • 表格信息将更新,以便在给定时间仅显示30k数据,每辆车一个数据
如果每10秒执行一次写入操作,如何改进Hist和Live表的读写伸缩性?

您可以在创建DynamoDB表时指定其大小,并在以后必要时修改吞吐量。此外,DynamoDB允许

以获得表的全部吞吐量,从而将请求分发到许多不同的服务器

DynamoDB现在,因此它可以根据使用情况自动缩放

要改进最终一致读取的缩放,还可以使用

在突发写入情况下(写入吞吐量可能不足),一些AWS用户在收到节流错误后使用Amazon SQS队列临时存储数据,后端进程稍后读取这些消息并将其插入DynamoDB。这允许为平均吞吐量而不是峰值吞吐量配置表


底线:您应该能够通过增加表的吞吐量来避免大多数扩展问题。其他技术(如上面详述的技术)可以提供更大的规模。

您当前遇到了哪些规模问题?