#sql #database #nosql #amazon-dynamodb
#sql #База данных #nosql #amazon-dynamodb
Вопрос:
Я работаю над новым проектом, и это мой вариант использования. В таблице мне нужно сохранить следующие поля.
teamName - varchar
caseId - varchar
startTime - long (epoch)
endTime - long (epoch)
status - varchar
Для данного ввода (team, timeInEpoch) я бы хотел запросить следующим образом
Select * from table
where teamName = team and
startTime between timeInEpoch and currentTime or
endTime between timeInEpoch and currentTime
Таблица будет содержать около 30 тыс. строк в любой момент времени и может достигать максимум 50 тыс. (поскольку я планирую выполнить несколько заданий по очистке для резервного копирования данных).
Не могли бы вы подсказать, следует ли мне использовать базу данных sql или без базы данных sql для этого подхода?
Спасибо
Ответ №1:
Поскольку таблица действительно маленькая, и вы не указываете никаких особых требований к сквозному вводу, я бы предложил использовать SQL. Я думаю, что вы выбираете между SQL и DynamoDB, поэтому я просто хочу сказать вам, что ваше условие нелегко реализовать в DynamoDB. Вам нужно будет разделить каждую запись на две части и выполнить 2 запроса, чтобы использовать запрос, а не сканирование (для экономии денег). Это будет не так просто реализовать и поддерживать, и я не вижу причин для этого.
Ответ №2:
Это довольно простой вариант использования, с которым сможет справиться любая база данных. Учтите, что использование новой технологии может потребовать крутой кривой обучения. Не упускайте из виду возможности работы с тем, что вы уже знаете.
С другой стороны, если у вас есть гибкость (например, время) для изучения новой технологии, это может быть отличным способом приобрести новые навыки и опыт.
Это довольно простой вариант использования (единый шаблон доступа), поэтому, возможно, вы могли бы попробовать оба варианта?