2017-02-22 23 views
0

是否有任何关于基于相等读取容量和不同行大小的查询时间如何改变DynamoDB表的良好文档?我一直在阅读文档,找不到任何东西,想知道是否有人对此做过任何研究?基于表大小的DynamoDB查询时间

我的用例是我每周将一百万行放入表中。这些记录在输入时有相当多的参考,但随着时间的推移,我查询这些行的频率下降。我可以无限期地将这些记录保留在表格中,而不会对查询时间产生任何不利影响,还是应该将它们旋转出来,以便更频繁地请求更新的数据更快地返回?

回答

0

请不要无限期保留旧数据。建议将数据归档以获得更好的性能。

设计和测试几点: -

  1. 设计适当的散列键,以便将数据分布 访问权限的分区
  2. 理解访问模式的时间序列数据
  3. 测试您的应用程序的规模,以避免与“热键”的问题 当您的桌子变大

假设您设计了一个表来跟踪您的网站上的客户行为,例如他们点击的网址,即 。您可以使用由客户ID作为分区键 和日期/时间作为排序键组成的 组合主键来设计表格。在此应用程序中,客户数据 随着时间的推移无限增长;但是,应用程序可能会显示 跨表中所有项目的不均匀访问模式,其中 最新的客户数据更相关,您的应用程序可能更频繁地访问最新项目,并且随着时间的推移,这些项目 访问得较少,最终较旧的项目很少被访问。如果 这是一个已知的访问模式,那么在设计表模式时可以考虑 。您可以使用多个表来存储这些项目,而不是将所有项目存储在 单个表格中。对于 示例,您可以创建表来存储每月或每周的数据。对于 表格存储来自最近一个月或一周的数据,其中数据的访问率较高,请求较高的吞吐量,对于存储旧数据的表,您可以调低吞吐量并节省资源。

Time Series Data Access Pattern

Guidelines for table partitions