【问题标题】:DynamoDB - Data model for geohash and frequent updatesDynamoDB - geohash 和频繁更新的数据模型
【发布时间】:2015-07-28 01:34:11
【问题描述】:

我正在构建一个基于位置的“聊天”应用程序,并使用 Amazon 的 DynamoDB 来利用高吞吐量和自动扩展。

应用程序会频繁更新用户在数据库中的位置(我使用的是 PHP geohash 库)。它还将搜索特定地理半径内的用户。

我是 NoSQL 的新手(我有很多 MySQL 经验),并且希望对我的“用户”表建模提供一些意见。两个问题:

1) 如果用户的 geohash/longitude/latitude 属性频繁更新,会不会导致 DynamoDB 出现问题(表锁定?)?在 MySQL 中,我会为这些值创建一个单独的表,以防止锁定整个用户表。在 DynamoDB 中我需要担心这个吗?

2) 在地理范围内搜索用户?这只是在 geohash 属性上设置一个全局二级索引并对其执行查询吗?分片会导致这个问题吗?

【问题讨论】:

    标签: php amazon-dynamodb database-schema geohashing nosql


    【解决方案1】:

    对于第一个问题,我建议您创建新表,以保留您的 geohash / longitude / latitude,因为在 dynamoDB 中更新一行中的列意味着更新整个行。我想你知道这样做的后果。

    全球二级索引是亚马逊提供的昂贵的解决方案,它的成本几乎与具有相同数据量的新表相同,因此最好使用地理半径作为主索引,在我的项目中我也对相同的分组做同样的事情记录类型,或者您可以为每个区域创建不同的表,如果数据量更多,这将为您提供更大的灵活性.. :)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-18
      • 2011-03-19
      • 1970-01-01
      相关资源
      最近更新 更多