Назад | Перейти на главную страницу

Использование DynamoDB для регистрации активности пользователей

Я разрабатываю платформу фриланса для определенных профессионалов. Я думал об использовании AWS DynamoDB для регистрации активности пользователей (например, публикации вакансии, редактирования вакансии и т. Д.).

Поля будут

user_id | ip_address | timestamp | data

Я бы запросил DynamoDB для получения следующей информации:

  1. Журнал активности определенного пользователя.
  2. Журнал всех действий пользователя, совершенных в определенный день.

И информация должна быть сохранена и доступна долгое время (навсегда?).

Насколько хорош DynamoDB для такого случая использования?

DynamoDB предназначен для высокопроизводительного поиска. Для внутреннего использования используется SSD-накопитель, поэтому стоимость хранилища DynamoDB может быть немного дороже за «вечное» хранилище данных при переходе на большие объемы.

При этом ваш вариант использования идеально подходит для DynamoDB. Если вам нужно только то, что вы сказали, я бы порекомендовал эту схему:

  • hash_key = <user_id>:YYYY-MM-DD
  • range_key = full_ISO_8601_timestamp
  • ip_address
  • data

ISO_8601 - всегда хорошая идея, если вам нужно отсортировать даты.

Предлагаю добавить дату в user_id чтобы упростить запросы и сохранить логическую группировку, но это усложнит более сложные запросы. Этого можно избежать, используя BETWEEN фильтр `` Запрос`