Метод очистки для Dynamodb

#amazon-dynamodb #aws-lambda #amazon-redshift #nosql

#amazon-dynamodb #aws-lambda #amazon-redshift #nosql

Вопрос:

Я новичок в мире Amazon Dynamodb с большим опытом работы в мире баз данных отношений: -p

Я пишу сервис, использующий функциональность AWS lambda, которая переносит данные из dynamodb в RedShift для целей аналитики. Моя цель — хранить в dynamodb только активные данные, скажем, за 1 месяц, а затем периодически удалять их.

Я много исследовал, но не смог найти точную технику очистки для Amazon dynamodb, которая позволит избежать полного сканирования таблицы.

Кроме того, я хочу выполнить удаление на основе атрибута ключа диапазона, который является атрибутом метки времени.

Может ли кто-нибудь мне здесь помочь?

Спасибо

Комментарии:

1. используйте запрос вместо сканирования

2. возможно, попробуйте использовать свойство ttl, и оно будет удалено через x дней.

Ответ №1:

По моему опыту, самый простой и экономичный способ справиться с этой задачей — создавать новую таблицу каждый месяц и удалять полные старые таблицы, когда пройдет время и вы закончите их обработку.

Если вы сможете использовать в своем варианте использования ТАБЛИЦУ-MMYYYYY, это вам очень поможет.

Комментарии:

1. Спасибо, Чен. Это был вариант, о котором я думал ранее, но проблема в том, что моя система не может прекратить заполнение данных в таблице во время ее удаления и воссоздания. Я постоянно записываю данные в таблицу, скажем, 3000-5000 элементов в час

2. Как я смотрю на это, вы создаете таблицу за день до начала месяца, а затем записи записывают данные в правильную таблицу по текущему месяцу. Затем через несколько дней в течение месяца, когда вы закончите обработку данных за последний месяц, вы можете удалить всю таблицу целиком